Показать сообщение отдельно
Старый 26.05.2013, 10:05   #6  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Спасибо за высказанные мнения, попробую сделать некоторые обобщения по теме.

Сначала, про статью mazzy, о которой шла речь в самом начале...
Основная посылка, как мне показалось, состояла в осмыслении приема систематизации всего набора номенклатур. Этот выбор состоял всего из двух вариантов. Из поиска по выбранным критериям из линейного списка номенклатур и размещения номенклатур в иерархическом каталоге, как это сделано в 1С.
Далее mazzy обосновывает мнение, что хрен редьки не слаще и что попытка затолкать линейный список номенклатур в иерархический каталог, это просто визуально измененный вид того же самого поиска.

Но, как мне кажется, mazzy упустил одну деталь. Я тоже этой детали не видел раньше, но, когда стал рассматривать категории продуктов в 2012-й Аксапте, вдруг, понял, что Майкрософт в очередной раз сделал правильный идеологический выбор.
Речь вот о чем...
Когда размышляешь о принадлежности какой-то номенклатуры одной из вложенных папок иерархического каталога, то молчаливо предполагаешь, что одна номенклатура может лежать ТОЛЬКО В ОДНОЙ папке.
Этим, собственно, mazzy и обосновывал сложность поиска нужной позиции в многоуровневой системе папок. Ну, действительно, поди догадайся, как автор представляет себе упорядоченность списка. Ничего не остается, кроме тупого перебора всех папок и вынужденного обучения представлениям о систематизации автора.
Но, в новой Аксапте поступили хитро и правильно.
Они изменили идеологию привязки номенклатуры к папке иерархического уровня.
У них в папке более высокого уровня лежат все номенклатуры, лежащие в папках более низкого уровня. То есть, здесь категория (папка) работает, действительно, как фильтр. И это гениально. Хотя, если такой прием использовать для файловых каталогов, то картина получится веселая. Например, диск С: будет содержать помимо папок еще и все файлы, которые есть на диске.

То есть, такой метод систематизации дает пользователю две возможности.
Хочешь, ищи по вложенным папочкам, хочешь, смотри линейный список высокого уровня.
И самое главное, появляется возможность создавать любое количество иерархий. Точно так же, как создавать любую комбинацию критериев поиска.

Ну, действительно... Если посмотреть на все более абстрактно, то объект (номенклатура) имеет какое-то количество свойств, однозначно этот объект определяющих. Все эти свойства содержатся в строке таблицы всех объектов.

И вот, речь заходит о систематизации.
Каким образом можно хранить информацию о принадлежности объекта к этой систематизации в виде иерархической структуры?
Эту информацию можно хранить либо в самой же записи объекта, либо где-то снаружи.
Только, если мы решаемся хранить информацию для объекта не только о самом себе, но и представлении об этом объекте для внешнего мира, мы тем самым принимаем решение сделать внешний мир неизменным.

Наверное, каждый, кто когда-то занимался консалтингом по части учета товара, знает эту извечную нервную тему о том, кто и как в компании имеет право заполнять и редактировать справочники товаров. Каждый менеджер по продажам имеет собственное представление о том, как ему удобно работать с каталогами.

Идея засунуть в номер номенклатуры представление о товарных группах, закодировав их цифрами и буквами, и ограничив количество лиц, ответственных за понимание иерархии, одним человеком, - вполне рабочая и жизненная. Но, уж очень жесткая. Здесь внешний мир в неизменном виде вставлен в информацию о маленькой части этого мира, что, скорее всего, в какой-то момент приведет к конфликту этой маленькой части с внешним миром.

Второй подход более лояльный.
Он начинается от полного отсутствия какой либо информации о систематизации и пользователи вынуждены диким способом искать нужные записи, либо дает возможность формировать информацию о любом количестве всевозможных иерархий вне записи о самом объекте. Что и сделано в категориях продуктов в 2012-й Аксапте. Сделано, как мне показалось, удачно.

Соответственно, наверное, для предприятий с завершенным и жестким представлением о справочнике номенклатур имеет смысл использовать номер номенклатуры для кодирования товарных групп и иерархии этих групп. Но, при этом получится, что мы будем вынуждены засунуть в короткий номер трудночитаемые коды, смысл которых нужно определять по приклеенному на стену листку с расшифровкой. Либо у нас есть альтернатива, - не заморочиваться с номером, сделав его автоматическим, а всю иерархию строить в отдельно стоящих категориях продуктов.

Остается понять, у какого подхода больше приверженцев?

Последний раз редактировалось Narayana; 26.05.2013 в 10:13.
За это сообщение автора поблагодарили: EVGL (10), sukhanchik (10).