18.12.2003, 17:13 | #1 |
Участник
|
Отсутствие иерархии в таблицах: недоработка или так и задумано?
Обратил внимание, что во многих модулях таблицы имеют одноуровневую структуру, даже там где напрашивается разделение элементов по иерархии, как то справочники: подразделений компании, сотрудников, номенклатуры, поставщики, клиенты и пр.
Удивительно, что нет возможности визуального представления группы элементов справочника в диалоговом окне. Вы скажете, что есть группы. Но и они одноуровневые. Пример: хочу чтобы была разбивка Мебель/ Шкафы/ Шкафы-купе/ Шкафы-купе "Мастер-шкаф"/ Шкаф-купе "Мастер-шкаф" ШК-03140180. Так же не вижу возможности создания отчето по таким справочникам с раскидкой по уровням. Как это реализовать без программирования? Многие пользователи, привыкшие, скажем, к 1С, очень удивятся не увидев такой возможности, ведь в той же 1С этот механизм Групп-Элементов штатный. Может я чего-то не догоняю, может хитрые буржуи придумали то, до чего моего ума не хватает? Или все-таки программировать? |
|
18.12.2003, 18:25 | #2 |
Moderator
|
Поищите - на форуме уже был проект - иерархическая группировка справочника номенклатуры. Там же обсуждались плюсы и минусы такого подхода.
|
|
18.12.2003, 18:27 | #3 |
экс-модератор
|
Штатного решения нет.
Надо программировать. Есть уже готовое решение - абстрактный классификатор. http://www.axforum.info/forums/forum...?s=&forumid=20 Но он подходит к проблеме намного шире... И работает не так быстро как многим хотелось... бы |
|
18.12.2003, 18:51 | #4 |
Участник
|
>Пример: хочу чтобы была разбивка
>Мебель/ Шкафы/ Шкафы-купе/ Шкафы-купе "Мастер-шкаф"/ Шкаф-купе "Мастер-шкаф ищи "группы товаров" в Enterprise Portal |
|
19.12.2003, 07:06 | #5 |
NavAx
|
На самом деле придется маленько запрограммировать. Что и делал в куче справочников. Набив руку это можно сделать минут за 20, НО! как тока я набил руку я понял, что по большому счету это НАФИГ не нужно. Эт просто в голове ошметки от 1С
__________________
И все они создания природы... |
|
19.12.2003, 07:19 | #6 |
Участник
|
Re: Отсутствие иерархии в таблицах: недоработка или так и задумано?
Цитата:
Изначально опубликовано Hard
Удивительно, что нет возможности визуального представления группы элементов справочника в диалоговом окне. Удивительно, что в 1С они вообще есть. Цитата:
Изначально опубликовано Hard
Вы скажете, что есть группы. Но и они одноуровневые. Пример: хочу чтобы была разбивка Мебель/ Шкафы/ Шкафы-купе/ Шкафы-купе "Мастер-шкаф"/ Шкаф-купе "Мастер-шкаф" ШК-03140180. И не программируйте ни в коем случае, до того, как ответите себе хотя бы. Цитата:
Изначально опубликовано Hard
Так же не вижу возможности создания отчето по таким справочникам с раскидкой по уровням. Как вы раскидку по уровням собираетесь реализовывать без программирования? Ну хотя бы в принципе? Цитата:
Изначально опубликовано Hard
Как это реализовать без программирования? Многие пользователи, привыкшие, скажем, к 1С, очень удивятся не увидев такой возможности, ведь в той же 1С этот механизм Групп-Элементов штатный. И еще раз спрошу. Вы видели ШТАТНЫЙ механизм вывода уровней в отчеты в 1С? Подумайте, пожалуйста, еще раз. Почему и какой ценой делаются уровни. И главное, зачем вы хотите это сделать. И что вы потеряете. Ну и кроме того, здесь действительно были обширные обсуждения. Посмотрите. |
|
19.12.2003, 09:28 | #7 |
Участник
|
Re: Re: Отсутствие иерархии в таблицах: недоработка или так и задумано?
Цитата:
Изначально опубликовано mazzy
Ответьте на один простой вопрос - зачем вам это надо? И не программируйте ни в коем случае, до того, как ответите себе хотя бы. На мой взгляд в торговле это просто необходимо, там время - деньги. Цитата:
Изначально опубликовано mazzy
А в 1С видите простую возможность создания отчета с раскидкой по уровням? Как вы раскидку по уровням собираетесь реализовывать без программирования? Ну хотя бы в принципе? То, что нужно что-то подобное, сомнения не вызывает, но вопрос в том, почему базовая функциональность этотго не содержит? Ведь существуют сотни внедрений Аксапты, и неужели везде это програмировали, там где не удавалось "сломать" заказчика? Абстрактный классификатор посмотрим, на первый взгляд интересно. Но и здесь опять вопрос, если это настолько круто, то почему до сих пор не вставлено в стандартную функциональность? |
|
19.12.2003, 09:34 | #8 |
NavAx
|
да потому что это нафиг не нужно. быстро искать правильнее сделав кодировку товара иерархическую. например мы сделали вот так:
00.02.00034 первые две цифры - группировка.
__________________
И все они создания природы... |
|
19.12.2003, 10:41 | #9 |
Участник
|
Цитата:
Изначально опубликовано Lazy_Tiger
быстро искать правильнее сделав кодировку товара иерархическую. http://www.axforum.info/forums/showt...?threadid=2130 А мочему в MBS не сделали, что-то подобное абстрактному классификатору - это риторический вопрос... |
|
19.12.2003, 12:40 | #10 |
Участник
|
Re: Re: Re: Отсутствие иерархии в таблицах: недоработка или так и задумано?
Цитата:
Изначально опубликовано Hard
То, что нужно что-то подобное, сомнения не вызывает, но вопрос в том, почему базовая функциональность этотго не содержит? Ведь существуют сотни внедрений Аксапты, и неужели везде это програмировали, там где не удавалось "сломать" заказчика? |
|
19.12.2003, 12:44 | #11 |
Участник
|
Re: Re: Re: Отсутствие иерархии в таблицах: недоработка или так и задумано?
Цитата:
Изначально опубликовано Hard
Я ведь привел пример... Цитата:
Изначально опубликовано Hard
дело тут не только в отчетах, а и в быстроте работы... Цитата:
Изначально опубликовано Hard
например менеджера по продажам. Как быстро найти номенклатуру по ее общим признакам(тип, подтип, производитель, марка), подбирая и выбирая наполнение заказа? Тогда почему вы не обратили внимание на средства фильтрации и поиска? Hard, на всякий случай даю маячок: я отлично знаю 1С и обсуждение этой тему у меня лично далеко не первое. У меня такое ощущение, что я знаю, дальнейшие ваши вопросы и ответы. Поэтому спрошу вас еще раз: ЗАЧЕМ вам нужна иерархия? Цитата:
Изначально опубликовано Hard
В 1С отчеты пишутся настолько просто и быстро, насколько это вообще возможно. Цитата:
Изначально опубликовано Hard
То, что нужно что-то подобное, сомнения не вызывает А вообще говоря, иерархия очень спорная штука для реляционных баз данных. Сходите на www.sql.ru и поищите материалы о реализации деревьев на реляционных СУБД. Цитата:
Изначально опубликовано Hard
но вопрос в том, почему базовая функциональность этотго не содержит? Потому что это очень накладно! Прежде всего для быстродействия. Надеюсь вы видели как реализованы запросы на SQL в 8ке? Что вы скажете о имеющихся там 5-8 having? И это только для поиска? Hard, обратите пожалуйста внимание на вопрос: ЗАЧЕМ вам это надо? Вы действительно будете применять адекватное средство для того, что вам хочется? Цитата:
Изначально опубликовано Hard
Ведь существуют сотни внедрений Аксапты, и неужели везде это програмировали, там где не удавалось "сломать" заказчика? Но в большинстве случаев, люди думали, прежде чем программировать Цитата:
Изначально опубликовано Hard
Абстрактный классификатор посмотрим, на первый взгляд интересно. Но и здесь опять вопрос, если это настолько круто, то почему до сих пор не вставлено в стандартную функциональность? А теперь попробуйте делать поиск внутри иерархии. А теперь попробуйте делать ограничения на уровне записей внутри иерархии. А теперь попробуйте выводить отчет с иерархией (как опять программировать?) А теперь выгрузите в ОЛАП иерархию. Выгрузите в Эксель, Выгрузите в другую базу данных, загрузите оттуда. Напишите наконец какой-нибудь select с учетом иерархии, если вы уж так любите программировать. А теперь зайдите в профайлер, хотя бы раз. Hard, пожалуйта, подумайте прежде чем отвечать. Ей богу, вы не первый кто это спрашивает. Пожалуйта, станьте первым думающим спрашивающим. |
|
19.12.2003, 14:14 | #12 |
Участник
|
Сергей, предположим, что необходимо классифицировать номенклатуру по ряду признаков. Какие есть пути решения этого в аксапте?
1) Использовать код с зашитой в него классификацией. 2) Добавить дополнительные поля в справочник номенклатуры или номенклатурные аналитики и использовать стандартные средства фильтрации и поиска. 3) Привязать к справочнику номенклатуры дополнительную таблицу, в которой строится древовидная классификация. Для упрощения дальнейшей выборки добавляется поле, в котором сохраняется полный путь к узлу. В каждом из этих подходов есть свои плюсы и минусы... p.s. Если что-то в аксапте не реализовано, то это ещё не означает, что это никому не нужно. Не буду спорить с тем, что нужно по максимуму использовать встроенные возможности, и если чего-то нет, то искать обходные пути... |
|
19.12.2003, 14:32 | #13 |
NavAx
|
Цитата:
Изначально опубликовано dn
Спорное утверждение. Кстати это уже обсуждалось... А мочему в MBS не сделали, что-то подобное абстрактному классификатору - это риторический вопрос... а почему не сделали... да потому что тормозит. Независимо от реализации. И не нужно.
__________________
И все они создания природы... |
|
19.12.2003, 15:10 | #14 |
Участник
|
Цитата:
Изначально опубликовано dn
1) Использовать код с зашитой в него классификацией. Нарушается нормализация. Со всеми вытекающими. Этот способ можно использоваться, если код читается/парсится только человеком. Как только возникает необходимость программного разбора кода - наступает полный абзац. Я бы пользовался этим способом только в самом крайнем случае. Цитата:
Изначально опубликовано dn
3) Привязать к справочнику номенклатуры дополнительную таблицу, в которой строится древовидная классификация. Для упрощения дальнейшей выборки добавляется поле, в котором сохраняется полный путь к узлу. придется слишком много писать. Будут сложные запросы. А самое главное, пользователи попросят такую иерархию в отчеты. Придется переписывать всю систему. Кроме того, остается проблема с поиском и органичением доступа внутри иерархии. Цитата:
Изначально опубликовано dn
2) Добавить дополнительные поля в справочник номенклатуры или номенклатурные аналитики и использовать стандартные средства фильтрации и поиска. См. группы закладку разное в номенклатурных единицах. Каждая группа это и есть поле с некоторой семантикой. Осталось только сделать быстрый отбор по этим полям. Надо добавить нужные поля в lookup и/или сделать быстрые фильтры в форме (см. например, CRM - отношения) Если ничего не делать, то выбирать будет сложнее. По крайней мере в lookup я бы рекомендовал добавить свои группировки. Кроме того, стоит активно пользоваться предопределенными фильтрами в Ctrl+F3 и ограничениями на уровне записей. Цитата:
Изначально опубликовано dn
Если что-то в аксапте не реализовано, то это ещё не означает, что это никому не нужно. Не буду спорить с тем, что нужно по максимуму использовать встроенные возможности, и если чего-то нет, то искать обходные пути... Однако переносить концепцию с другой системы, совершенно не думая о последствиях, это тоже не есть правильный подход. У hard'а например, первый вопрос был "Как это реализовать?" и только потом, "почему базовая функциональность этого не содержит?" а хотелось бы, чтобы порядок был наоборот. На самом деле, хотелось бы чтобы самым первым вопросом было "а как эти проклятые буржуи работают без ... функциональности?" |
|
23.12.2003, 11:39 | #15 |
Пенсионер
|
2All
Позвольте не согласиться с противниками иерархий, как принципиальными, так и применительно к Аксапте. Вопрос достаточно интересный и неоднозначный. Мне кажется нельза мешать в одну кучу способы ХРАНЕНИЯ, ОБРАБОТКИ и ПРЕДСТАВЛЕНИЯ данных. Как говорят наши коллеги японцы: "...для лучшего понимания, информация должна быть представлена всеми возможными способами..." ну или что-то в этом плане... Возмите например Любое изделие в машиностроении и т.н. задачу "состава изделия" - сплошная иерархия по сути. А коды ОКПО и ТНВЭД, тоже сплошные иерархии. И список можно продолжать. По поводу поиска... хм-м-м.. а В-деревья разве не иерархическая структура? Так, что тут можно много спорить.... Мое ИМХО : иерархические СТРУКТУРЫ имеют место быть повсюду и поэтому соответствующее ПРЕДСТАВЛЕНИЕ тоже должно быть, там, где это удобно и необходимо. А вот на счет ХРАНЕНИЯ этого представления, то тут может быть много способов и поэтому собственно вопрос в сабже звучит не совсем корректно: не стоит искать иерархию в таблицах, ее ТАМ надо ОРГАНИЗОВЫВАТ если ЭТО очень нужно. Кстати не зря в Оракле есть специальный запрос для иерархий |
|