30.11.2001, 19:02 | #1 |
Administrator
|
<h3>Обсуждение проекта "Абстрактный Классификатор"</h3>
проект "Абстрактный Классификатор" расположен тут: http://www.axforum.info/forums/showt...?s=&postid=754 А здесь мы обсуждаем его самого и вопросы, с ним связанные. |
|
25.12.2001, 12:24 | #2 |
Участник
|
Комплексная ресурсоемкость использования доработок.
1. Что произойдет при достаточно больших объемах данных, скажем. Если в таблице с классификатором наберется порядка 100 тыс записей,
2. Фактически сразу возникает потребность в обработке по групповым признакам. Это все сделано в 1С - очень нравится, но достаточно ресурсоемко. 3. Подключить к стандартным отчетам - тоже бы хорошо. 4. Кто как думает по поводу стихийного использования подобных доработок и их развития? С одной стороны - упрощение работы пользователям. С другой стороны - любое действие вызывает очень большое последействие. Может быть, стараться все-таки использовать бедные встроенные средства и катализировать развитие стандартной функциональности?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
25.12.2001, 13:44 | #3 |
Участник
|
Некоторые размышления по поводу классификатора
1. Что произойдет при достаточно больших объемах данных, скажем. Если в таблице с классификатором наберется порядка 100 тыс записей
Исходя из предыдущего опыта ничего страшного не будет 2. Фактически сразу возникает потребность в обработке по групповым признакам. Это все сделано в 1С - очень нравится, но достаточно ресурсоемко.? Да, Вы абсолютно правы, введение этого механизма (произвольной классификации объектов) резко расширияет возможности выборки и группировки информации. 3. Подключить к стандартным отчетам - тоже бы хорошо. По-видимому, просто подключить классификатор к стандартным отчетам будет проблематично, если классификатцию предполагается использовать как основной способ выборки и группировки информации. Что касается использования классификатора как средства дополнительных проверок, то переделка стандартных отчетов не предствавляется проблемой. 4. Кто как думает по поводу стихийного использования подобных доработок и их развития? С одной стороны - упрощение работы пользователям. С другой стороны - любое действие вызывает очень большое последействие. Может быть, стараться все-таки использовать бедные встроенные средства и катализировать развитие стандартной функциональности? Разработки такого класса, безусловно, можно рассматривать, как новое направление развития и разработки системы. И вызывает удивление тот факт, что это не было реализовано в стандартной конфигурации системы С уважением М.Ковалев |
|
25.12.2001, 14:26 | #4 |
Участник
|
В настоящее время написана спецификация на разработку функциональности по групповым операциям с классификацией.
В частности описаны возможности: - групповой установки классификации, - группового снятия классификации, - группового изменения классификации. Кроме того проработаны варианты изменения длины уровней типа классификатора. В ближайшее время эти возможности будут разработаны. С уважением, Рафаэль Инсапов |
|
25.12.2001, 17:01 | #5 |
Участник
|
Внедрение в другие справочники
Что необходимо сделать для внедрения, например, в форму работы с постащивками классификатора?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
25.12.2001, 17:16 | #6 |
Продавец игрушек
|
Чтобы внедрить классификатор в форму "Поставщики", необходимо настроить таблицу "Хранилища" -- указать классифицируемую таблицу, указать ключевое поле и указать название индекса.
После этого изменить форму с поставщиками по образцу, представленномцу в форме HB_InventTableLite. Несмотря на то, что код самодокументирован, в ближайшее время будут доступны более подробные инструкции по внедрению классификатора в новые форм и по классификации новых объектов.
__________________
С уважением, Роман Кошелев. |
|
25.12.2001, 19:06 | #7 |
Участник
|
При компиляции
Forms\CustTable\DataSources\CustTable\Methods метода cursorNotify на строке AC.RecordKeyValue (T.#TableKeyField) возникает ошибка "Таблица не содержит поля", курсор останавливается перед .#TableKeyField. Помогите понять в чем дело, если это возможно.
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
25.12.2001, 20:14 | #8 |
Продавец игрушек
|
Елена,
Необходимо в форме, в ClassDeclaration переописать блок <b>AC {{ ... }}</b> И вообще обратить внимание на код, заключенный в такие блоки. Именно этот код и следует настроить. <pre><font color=navy>final class FormRun extends ObjectRun { QueryBuildRange criteriaPurch; QueryBuildRange criteriaInvent; QueryBuildRange criteriaSalesOrder; <font color=green> // VALU, Fixed assets --><font color=navy> FormButtonControl buttonTypeChange; FormStringControl assetGroupId ; <font color=green> // VALU, Fixed assets <--<font color=navy> NumberSeq numberSeq; InventTableOption tableOption; <font color=green><b>// AC {{</b></font> SysFormSplitter_X _formLookUpTreeSplitter; SysFormSplitter_Y _formSplitterVertical; SysFormSplitter_X _formSplitterHorizontal; SysFormSplitter_Y _formSelectedSplitter; HB_ACUtils AC; #localmacro.TableName InventTable <font color=green>// Укажите здесь вашу таблицу <font color=navy> #endmacro #localmacro.StrTableName "InventTable" <font color=green>// Укажите здесь название вашей таблицы <font color=navy> #endmacro #localmacro.TableKeyField ItemID <font color=green>// Укажите здесь ключевое поле таблицы (custID?) <font color=navy> #endmacro #localmacro.Table_ds InventTable_ds <font color=green>// Укажите здесь FormDataSource, который необходимо фильтровать<font color=navy> #endmacro <font color=green><b>// AC }}</b><font color=navy> } </pre> <font color=black> <b><font color=red>Кстати, а с номенклатурой не было проблем?</font></b>
__________________
С уважением, Роман Кошелев. |
|
26.12.2001, 09:22 | #9 |
Участник
|
1. Спасибо за подсказку. Большое спасибо - когда не знаешь ничего, то искать ошибку очень тяжело. Дошло!ItemID не заменила на CustID!!!
2. У меня не было с номенклатурой проблем. Но использование... не очевидно. Попробуйте протестировать с нуля на своих сотрудниках - где они споткнуться. Тем не менее. Идея очень хорошая. Молодцы. А групповые обработки будете давать в доступ? Кстати. Чем отличается "главный" тип классификатора от "описательного"?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
26.12.2001, 12:27 | #10 |
Участник
|
Опять проблемы.
При нажатии мыши на узле дерева калссификатора фильтрация происходит странным образом. Например, тип классификатора "Клиенты", классификаторы "Группа А", "Группа Б". Элементу справочника назначен тип "Клиенты", признак "Группа А". Фильтрация выполняется, если отмечен галочкой тип классификатора "Клиенты" при нажатии на классификаторе "Группа А". Если просто нажать на тип Клиенты, не отметив его галочкой (или отметив галочкой, но не выбрав классификатор "Группа А") - фильтрация не происходит. Высыляю файл с формой - может быть, посмотрите как нибудь. С уважением, Елена.
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
26.12.2001, 12:53 | #11 |
Участник
|
Чуть подробнее
Елена,
пожалуйста опишите последовательность Ваших действий. Вы зашли в экранную форму Список клиентов. А далее? С уважением МКовалев |
|
26.12.2001, 14:40 | #12 |
Участник
|
Я вроде уже поняла. Суть в том, что если стоять на типе классификатора, то фильтрация не происходит. Присходит только по самим классификаторам "потомкам". Пока мне не понятно - заложена в это некая идея или недоработка. А по классификаторам "потомкам" происходит фильтрация только если "родительский" тип классификатора отмечен галочкой. Вроде так.
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
26.12.2001, 15:32 | #13 |
Продавец игрушек
|
Елена, не совсем так.
Если стоять на типе классификатора (тот, что жирный) то филтьрация будет идти, причем следующим образом: будут показаны все объекты, которые хоть как-то проклассифицированы этим типом. Например: <b>\Все записи\Номенклатура</b> -- будут показаны только те записи, которые проклассифицированы как какая-нибудь номенклатура. <b>\Все записи\Номенклатура\Непроклассифицированные</b> -- все записи, которые, наоборот, непроклассифицированы ни одним номенклатурным признаком.
__________________
С уважением, Роман Кошелев. |
|
26.12.2001, 16:43 | #14 |
Участник
|
Развитие
Вопрос: "Кстати. Чем отличается "главный" тип классификатора от "описательного"?
Это заготовка для дальнейшего развития классификатора - предполагаеться реализовать обязательность классификации объекта классификатором, имеющим тип "главный" в момент создания объекта. (Новая запись не может быть сохранена в базе данных, если она не проклассифицирована классификатором указанного типа) С уважением М.Ковалев |
|
26.12.2001, 18:44 | #15 |
Участник
|
Значит у меня что-то не работает .
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
26.12.2001, 18:46 | #16 |
Участник
|
Да нет, это еще пока в процессе разработки
|
|
27.12.2001, 16:08 | #17 |
Участник
|
Нет, я по поводу фильтрации - не работает фильтрация по типу классификатора. При работе с формаой клиентов, куда я внедрила классификатор. У не у меня одной.
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
28.12.2001, 01:54 | #18 |
Administrator
|
Елена, мне помогла следующая вещь:
Измените свойства Extended Data Type CustAccount так, чтобы он не расширял никакой другой тип (устанвите пустое значение свойства Extends). Затем замените значение Adjustment с Right на Left. Когда Вы будете сохранять изменения запустится синхронизация БД. Попробуйте теперь фильтрацию. Самое интересное, что после того, когда я значения всех свойств вернул в первоначальные состояния, работать не перестало
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
28.12.2001, 10:09 | #19 |
Участник
|
Цитата:
Измените свойства Extended Data Type CustAccount так, чтобы он не расширял никакой другой тип (устанвите пустое значение свойства Extends).
НА ОСНОВАНИИ ЧЕГО создан данный тип. Например, если Type2 extend Type1, то это значит, что если все настройки из Type1 перейдут в Type2. Почему неправильно изменять свойство Extend? Дело в том, что наследуются все свойства. В том числе и FeatureKeys. Если вы снимаете Extend, то это значит, что вы разрываете связь с FeatureKeys для этого типа. И вам надо либо вручную поставить FeatureKeys (надо будет отслеживать это значение при последующих апдейтах и SP), либо мириться с неуправляемостью (что очень плохо) Вспомните, что FeatureKeys управляют не только видимостью, но и тем будет ли поле физически создаваться в таблице на сервере. Кроме того, елси вы отвяжете этот тип от FeatureKeys, то не сможете управлять правами на поля данного типа для разных групп и пользователей. В общем, очищать свойство Extend надо с осторожностью. Хорошо представляя во что это выльется. Для тех, кто начинает изучать Аксапту - не делайте этого! Изменение свойства Extends можно сравнить с правкой реестра в Windows. Вещь мощная. Но если не знаете, то лучше этого не делать. |
|
28.12.2001, 14:01 | #20 |
Участник
|
Я все-таки изменила свойство. Потому что предупреждение, что его не надо менять было на той странице, которую я не увидела. Но что интересно - она восстановила значение поля Extended сама после синхронизации. Но уже со значение свойства Аdj... Left. И все заработало. А почему? Шаманство... Почему???
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
lookup+Классификатор | 4 | |||
Классификатор | 4 | |||
Абстрактный классификатор | 17 | |||
Абстрактный классификатор (версия 1.1) | 0 | |||
Абстрактный классификатор (версия 1.0) | 3 |
|