AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2001, 19:02   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
<h3>Обсуждение проекта "Абстрактный Классификатор"</h3>
проект "Абстрактный Классификатор" расположен тут:
http://www.axforum.info/forums/showt...?s=&postid=754

А здесь мы обсуждаем его самого и вопросы, с ним связанные.
Вложения
Тип файла: zip hb_abstractclass.zip (67.0 Кб, 311 просмотров)
Старый 25.12.2001, 12:24   #2  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Комплексная ресурсоемкость использования доработок.
1. Что произойдет при достаточно больших объемах данных, скажем. Если в таблице с классификатором наберется порядка 100 тыс записей,
2. Фактически сразу возникает потребность в обработке по групповым признакам. Это все сделано в 1С - очень нравится, но достаточно ресурсоемко.
3. Подключить к стандартным отчетам - тоже бы хорошо.
4. Кто как думает по поводу стихийного использования подобных доработок и их развития? С одной стороны - упрощение работы пользователям. С другой стороны - любое действие вызывает очень большое последействие. Может быть, стараться все-таки использовать бедные встроенные средства и катализировать развитие стандартной функциональности?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 25.12.2001, 13:44   #3  
Михаил Ковалев is offline
Михаил Ковалев
Участник
 
29 / 120 (5) +++++
Регистрация: 27.11.2001
Адрес: Москва, http://www.meridianm.ru
Некоторые размышления по поводу классификатора
1. Что произойдет при достаточно больших объемах данных, скажем. Если в таблице с классификатором наберется порядка 100 тыс записей
Исходя из предыдущего опыта ничего страшного не будет

2. Фактически сразу возникает потребность в обработке по групповым признакам. Это все сделано в 1С - очень нравится, но достаточно ресурсоемко.?
Да, Вы абсолютно правы, введение этого механизма (произвольной классификации объектов) резко расширияет возможности выборки и группировки информации.

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


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

С уважением
М.Ковалев
Старый 25.12.2001, 14:26   #4  
Rafael is offline
Rafael
Участник
 
96 / 10 (1) +
Регистрация: 22.11.2001
Адрес: Москва
В настоящее время написана спецификация на разработку функциональности по групповым операциям с классификацией.
В частности описаны возможности:
- групповой установки классификации,
- группового снятия классификации,
- группового изменения классификации.
Кроме того проработаны варианты изменения длины уровней типа классификатора.
В ближайшее время эти возможности будут разработаны.

С уважением,
Рафаэль Инсапов
Старый 25.12.2001, 17:01   #5  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Внедрение в другие справочники
Что необходимо сделать для внедрения, например, в форму работы с постащивками классификатора?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 25.12.2001, 17:16   #6  
Роман Кошелев is offline
Роман Кошелев
Продавец игрушек
Аватар для Роман Кошелев
 
433 / 73 (3) ++++
Регистрация: 22.11.2001
Адрес: Москва
Чтобы внедрить классификатор в форму "Поставщики", необходимо настроить таблицу "Хранилища" -- указать классифицируемую таблицу, указать ключевое поле и указать название индекса.

После этого изменить форму с поставщиками по образцу, представленномцу в форме HB_InventTableLite.

Несмотря на то, что код самодокументирован, в ближайшее время будут доступны более подробные инструкции по внедрению классификатора в новые форм и по классификации новых объектов.
__________________
С уважением, Роман Кошелев.
Старый 25.12.2001, 19:06   #7  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
При компиляции
Forms\CustTable\DataSources\CustTable\Methods
метода
cursorNotify
на строке AC.RecordKeyValue (T.#TableKeyField) возникает ошибка "Таблица не содержит поля", курсор останавливается перед .#TableKeyField.

Помогите понять в чем дело, если это возможно.
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 25.12.2001, 20:14   #8  
Роман Кошелев is offline
Роман Кошелев
Продавец игрушек
Аватар для Роман Кошелев
 
433 / 73 (3) ++++
Регистрация: 22.11.2001
Адрес: Москва
Елена,
Необходимо в форме, в 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>
&nbsp;
<b><font color=red>Кстати, а с номенклатурой не было проблем?</font></b>
__________________
С уважением, Роман Кошелев.
Старый 26.12.2001, 09:22   #9  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
1. Спасибо за подсказку. Большое спасибо - когда не знаешь ничего, то искать ошибку очень тяжело. Дошло!ItemID не заменила на CustID!!!
2. У меня не было с номенклатурой проблем. Но использование... не очевидно. Попробуйте протестировать с нуля на своих сотрудниках - где они споткнуться. Тем не менее. Идея очень хорошая. Молодцы. А групповые обработки будете давать в доступ?

Кстати. Чем отличается "главный" тип классификатора от "описательного"?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 26.12.2001, 12:27   #10  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Опять проблемы.

При нажатии мыши на узле дерева калссификатора фильтрация происходит странным образом. Например, тип классификатора "Клиенты", классификаторы "Группа А", "Группа Б". Элементу справочника назначен тип "Клиенты", признак "Группа А". Фильтрация выполняется, если отмечен галочкой тип классификатора "Клиенты" при нажатии на классификаторе "Группа А". Если просто нажать на тип Клиенты, не отметив его галочкой (или отметив галочкой, но не выбрав классификатор "Группа А") - фильтрация не происходит. Высыляю файл с формой - может быть, посмотрите как нибудь.


С уважением, Елена.
Вложения
Тип файла: zip custtable.zip (17.7 Кб, 574 просмотров)
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 26.12.2001, 12:53   #11  
Михаил Ковалев is offline
Михаил Ковалев
Участник
 
29 / 120 (5) +++++
Регистрация: 27.11.2001
Адрес: Москва, http://www.meridianm.ru
Чуть подробнее
Елена,
пожалуйста опишите последовательность Ваших действий.
Вы зашли в экранную форму Список клиентов. А далее?
С уважением
МКовалев
Старый 26.12.2001, 14:40   #12  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Я вроде уже поняла. Суть в том, что если стоять на типе классификатора, то фильтрация не происходит. Присходит только по самим классификаторам "потомкам". Пока мне не понятно - заложена в это некая идея или недоработка. А по классификаторам "потомкам" происходит фильтрация только если "родительский" тип классификатора отмечен галочкой. Вроде так.
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 26.12.2001, 15:32   #13  
Роман Кошелев is offline
Роман Кошелев
Продавец игрушек
Аватар для Роман Кошелев
 
433 / 73 (3) ++++
Регистрация: 22.11.2001
Адрес: Москва
Елена, не совсем так.
Если стоять на типе классификатора (тот, что жирный) то филтьрация будет идти,
причем следующим образом: будут показаны все объекты, которые хоть как-то проклассифицированы этим типом.

Например:
<b>\Все записи\Номенклатура</b> -- будут показаны только те записи, которые проклассифицированы как какая-нибудь номенклатура.
<b>\Все записи\Номенклатура\Непроклассифицированные</b> -- все записи, которые, наоборот, непроклассифицированы ни одним номенклатурным признаком.
__________________
С уважением, Роман Кошелев.
Старый 26.12.2001, 16:43   #14  
Михаил Ковалев is offline
Михаил Ковалев
Участник
 
29 / 120 (5) +++++
Регистрация: 27.11.2001
Адрес: Москва, http://www.meridianm.ru
Развитие
Вопрос: "Кстати. Чем отличается "главный" тип классификатора от "описательного"?

Это заготовка для дальнейшего развития классификатора - предполагаеться реализовать обязательность классификации объекта классификатором, имеющим тип "главный" в момент создания объекта. (Новая запись не может быть сохранена в базе данных, если она не проклассифицирована классификатором указанного типа)

С уважением
М.Ковалев
Старый 26.12.2001, 18:44   #15  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Значит у меня что-то не работает .
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 26.12.2001, 18:46   #16  
Михаил Ковалев is offline
Михаил Ковалев
Участник
 
29 / 120 (5) +++++
Регистрация: 27.11.2001
Адрес: Москва, http://www.meridianm.ru
Да нет, это еще пока в процессе разработки
Старый 27.12.2001, 16:08   #17  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Нет, я по поводу фильтрации - не работает фильтрация по типу классификатора. При работе с формаой клиентов, куда я внедрила классификатор. У не у меня одной.
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 28.12.2001, 01:54   #18  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Елена, мне помогла следующая вещь:

Измените свойства 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  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Измените свойства Extended Data Type CustAccount так, чтобы он не расширял никакой другой тип (устанвите пустое значение свойства Extends).
На самом деле Extends указывает
НА ОСНОВАНИИ ЧЕГО создан данный тип.

Например, если
Type2 extend Type1,
то это значит, что если все настройки из Type1 перейдут в Type2.

Почему неправильно изменять свойство Extend?
Дело в том, что наследуются все свойства. В том числе и FeatureKeys.
Если вы снимаете Extend, то это значит, что вы разрываете связь с FeatureKeys для этого типа. И вам надо либо вручную поставить FeatureKeys (надо будет отслеживать это значение при последующих апдейтах и SP), либо мириться с неуправляемостью (что очень плохо)

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

В общем, очищать свойство Extend надо с осторожностью. Хорошо представляя во что это выльется.

Для тех, кто начинает изучать Аксапту - не делайте этого!

Изменение свойства Extends можно сравнить с правкой реестра в Windows. Вещь мощная. Но если не знаете, то лучше этого не делать.
__________________
полезное на axForum, github, vk, coub.
Старый 28.12.2001, 14:01   #20  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Я все-таки изменила свойство. Потому что предупреждение, что его не надо менять было на той странице, которую я не увидела. Но что интересно - она восстановила значение поля Extended сама после синхронизации. Но уже со значение свойства Аdj... Left. И все заработало. А почему? Шаманство... Почему???
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
lookup+Классификатор a-da DAX: Программирование 4 24.04.2009 11:55
Классификатор Azat DAX: Программирование 4 31.01.2005 18:32
Абстрактный классификатор Swetik DAX: База знаний и проекты 17 23.01.2004 16:00
Абстрактный классификатор (версия 1.1) Maxim Gorbunov DAX: База знаний и проекты 0 25.03.2002 19:03
Абстрактный классификатор (версия 1.0) Maxim Gorbunov DAX: База знаний и проекты 3 29.12.2001 06:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:13.