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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.12.2001, 02:04   #21  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Здравствуйте, Елена
Спасибо за сотрудничество и помощь в поиске недоработок.

Действительно, как нам удалось выяснить, все дело было в свойстве Adjustment у Extended Data Type. Это свойство отвечает за то, в каком виде хранятся строковые данные в базе данных. Кроме того, изменение этого свойства влечет изменения в результатах выполнения операции сравнения (операции ==) в SQL-запросах. Причина ошибки скрывается в этом.

Сейчас нами ведутся работы по исправлению этой ошибки (это ошибка классификатора, а не ошибка Axapta ). На данный момент мы можем предложить Вам некоторый вариант заплатки. Установите его вместе с проектом, и ошибка исчезнет. Эта заплатка уже включена в новую версию проекта, предложенную на сайте.
Вложения
Тип файла: zip hb_acutils.zip (5.4 Кб, 152 просмотров)
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 29.12.2001, 02:09   #22  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Приношу извинения...
Цитата:
Изначально опубликовано mazzy


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

Для тех, кто начинает изучать Аксапту - не делайте этого!
Сергей, Вы совершенно правы, изменения Extended Data Type недопустимо. Мне, конечно, следовало указать в пердыдущем сообщении, что предлагаемая модификация носит характер исследования и никак не может быть использована в качестве решения проблемы.

За прошедший день нам удалось точно установить причину ошибки. Предлагаемое решение согласуется с концепцией неприкасаемости станадртных объектов Axapta, которая являлась и остается одной из основных в проекте Абстрактный классификатор.

Приношу извинения за не очень корректные формулировки.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 29.12.2001, 12:33   #23  
Елена Сысовская is offline
Елена Сысовская
Участник
Аватар для Елена Сысовская
 
499 / 25 (1) +++
Регистрация: 30.11.2001
Адрес: планета Земля
Обновленная версия выложена? Она там же, в сообщении №1?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..."
с уважением, ESys.
Старый 29.12.2001, 16:07   #24  
Роман Кошелев is offline
Роман Кошелев
Продавец игрушек
Аватар для Роман Кошелев
 
433 / 73 (3) ++++
Регистрация: 22.11.2001
Адрес: Москва
Елена, да, всё находится тут:
http://www.axforum.info/forums/showt...?s=&postid=754
__________________
С уважением, Роман Кошелев.
Старый 31.01.2002, 15:52   #25  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Импортировал "Абстрактный классификатор". Почему-то у меня не работает. Когда я открываю форму HB_ACAdmin, на ней отображается только одна кнопка - "Проверка таблиц", хотя форма имеет большой размер.
Если я пытаюсь редактировать ее дизайн, то она имеет какой-то маленький свернутый вид и не хочет разворачиваться до большего размера.
При открытии форм InventTable и HB_InventTableLite появляется сообщение:

"DictField object не инициализирован".

У меня стоит Axapta 2.5 SP2 RU Build #7.1

Не могли бы Вы подсказать в чем может быть проблема ?
Старый 01.02.2002, 08:57   #26  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Попробуйте настроить функциональные ключи
Дело в том, что доступ к классификатору защищен функциональными ключами. Похоже на то, что доступ к ключам у вас выключен. Попробуйте его настроить. Воспользуйтесь закладкой Администрирование Главного меню (пункты Управление пользователями - Права доступа - Права групп пользователей и Функциональные ключи - Настройка функциональных ключей).
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 19.03.2002, 18:09   #27  
Alexey Smirnov is offline
Alexey Smirnov
Участник
 
26 / 9 (1) +
Регистрация: 19.03.2002
Адрес: Москва
проблемы с установкой
Уважаемые дамы и господа.

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

Однако во время установки пришлось пройти через ряд проблем, не все из которых до сих пор решены. Буду признателен за помощь.

В номенклатурных единицах выдается сообщение DictField object не инициализирован, далее трассировка стека из нескольких пунктов.

При поиске решения найдено, что в классе HB_ACUtils, функции RunTableFilter ошибки исчезают при комментировании строк
dT = new DictType(dF.typeId());
CmpOp = dT.stringRight() ? "like" : "==";
сообщение об ошибке исчезает, но функциональность пропадает.

При импорте файла классификатора не выдается ошибок только на чистой базе, но на частично заполненной - длинный список ошибок.

Пытается удалить таблицы, созданные для product builder. Ошибки связаны в том числе и с ними, но и с inventTable. Была проблема с назначением прав на новые функциональные ключи, решилась длительными манипуляциями с пользовательскими группами и функц. ключами. Это проблема выдавала критическую ошибку при любом заходе в номенклатурные единицы.

Если возможно, хотелось бы услышать комментарии разработчиков.
Старый 19.03.2002, 18:40   #28  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Судя по всему, у вас не заполнена таблица "Хранилища". Вот выдержка из руководства разработчика:
Цитата:

Классифицируемые таблицы в терминах Классификатора называются хранилищами. Для того, чтобы сделать возможной классификацию объектов той или иной таблицы следует добавить ее в список хранилищ на этой закладке. Для каждой таблицы помимо ее имени указывается имя ее ключевого поля и индекс, который будет использоваться при поиске. Поля имя таблицы и имя ключевого поля являются обязательными.
Эта таблица заполняется в форме "Администрирование классификатора" (закладка "Разное" Главного Меню). Также не забудьте настроить принадлежность классификаций тем или иным хранилищам на закладке "Классификации" в той же форме (об этом тоже достаточно подробно написано в руководстве пользователя). Строки, которые вы закомментировали, убирать не рекомендуется, так как их блокирование полностью парализует работу фильтрации по классификатору.

В ближайшее время на сайте появится версия классификатора 1.1, в которой исправлено значительное количество ошибок.

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

2Alexey Smirnov:
Пожалуйста, опишите подробнее проблемы, которые возникали у Вас во время настройки прав доступа. Сейчас в нашей компании классификатор используется достаточно интенсивно. Несколько дней назад мы настроили функциональные ключи. У нас, кажется, все работает без ошибок.
Вложения
Тип файла: img1489-1 (533.6 Кб, 396 просмотров)
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 20.03.2002, 12:08   #29  
Alexey Smirnov is offline
Alexey Smirnov
Участник
 
26 / 9 (1) +
Регистрация: 19.03.2002
Адрес: Москва
Цитата:
Изначально опубликовано max
Судя по всему, у вас не заполнена таблица "Хранилища". Вот выдержка из руководства разработчика:

Эта таблица заполняется в форме "Администрирование классификатора" (закладка "Разное" Главного Меню). Также не забудьте настроить принадлежность классификаций тем или иным хранилищам на закладке "Классификации" в той же форме (об этом тоже достаточно подробно написано в руководстве пользователя). Строки, которые вы закомментировали, убирать не рекомендуется, так как их блокирование полностью парализует работу фильтрации по классификатору.

В ближайшее время на сайте появится версия классификатора 1.1, в которой исправлено значительное количество ошибок.

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

2Alexey Smirnov:
Пожалуйста, опишите подробнее проблемы, которые возникали у Вас во время настройки прав доступа. Сейчас в нашей компании классификатор используется достаточно интенсивно. Несколько дней назад мы настроили функциональные ключи. У нас, кажется, все работает без ошибок.
Спасибо, ваш совет оказался полезен. Правда, это решение нашли еще до получения ответа. Что же касается ошибок при установки: права не устанавливаются на группу администратора (стандартную). В нашем случае был вариант, когда единственному пользователю - админу, входящему в единственную группу, права на классификатор не назначались. Помогло создание новой группы и перемещение туда администратора.

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

Сейчас удалось решить все проблемы и настроить классификацию по проекту. Спасибо.

И еще вопрос - когда можно ожидать обновления?
Старый 21.03.2002, 10:11   #30  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
В догонку...
http://www.axforum.info/forums/showt...s=&threadid=27

не стоит пренебрегать нашей Базой Знаний, иногда действительно помогает

С функциональными ключами, я вспомнил, у нас такое было, когда криво проинсталлировался проект (в нашем случае, проинсталлировались меню, но не установились Feature Keys). Думаю, что и у Вас случай подобный.

Обновление постараюсь выложить сегодня, хотя не обещаю (работы много )
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 25.03.2002, 19:07   #31  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Итак, я все-таки выложил версию 1.1 классификатора. Взять ее можно <a href=http://www.axforum.info/forums/showthread.php?goto=newpost&threadid=636>здесь</a>
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 08.04.2002, 16:05   #32  
Viper is offline
Viper
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2002
Адрес: С-Петербург
Замедление производительности.
Вопрос: При среднем количестве записей в таблице AClassTable (около 6000) появилась большая задержка перед открытием форм связанных с класификатотром. Кто знает подскажите как можно это оптимизировать. Спасибо.
Старый 09.04.2002, 09:44   #33  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Да, замедленее действительно есть Связано оно с тем, что дерево, в котором производится распределение по классам (то, в котором Вы галочками отмечаете принадлежность объекта к тому или иному классу), строится целиком при загрузке формы. В этом был определенный смысл на начальном этапе разработки проекта, но сейчас особой нужды строить дерево целиком нет.

Я попробовал быстро исправить эту проблему. Сразу говорю, что тестирование проводилось минимальное, так что используйте обновление на свой страх и риск.

Для установки, импортируйте файл HB_ACTree.xpo в свою среду Axapta.
Вложения
Тип файла: xpo hb_actree.xpo (52.9 Кб, 384 просмотров)
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 09.04.2002, 11:35   #34  
Viper is offline
Viper
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2002
Адрес: С-Петербург
Спасибо.
После установки заплатки пропала задержка при открытии форм. Большое спасибо.

Но у меня появился новый вопрос. Зачем при раскрытии дерева выполняется такое количество запросов. И нельзя ли уменьшить их количество. Например убрав проверку на наличие дочерних объектов. Т. е. поставить плюсики везде. А раскрывать только существующие. Заранее Спасибо.
Старый 09.04.2002, 14:03   #35  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Как показывает практика, основное замедленее происходит не из-за проверки структуры дерева, а из-за фильтрации записей в обрабатываемой таблице. Вообще, до сегодняшнего дня (до Вашего первого вопроса) я не задумывался об оптимизации скорости работы на этапе построения дерева (в основном, я уделял внимание фильтрации).

Для того, чтобы сделать то, что Вы хотите (ставить плюсики везде), переопределите метод таблицы HB_AClassTable HasChildren() (например, так, чтобы он возвращал всегда true). Возможно, Вам придется немного поправить метод HB_ACTree.expanding(), чтобы не открывались некоторые ветви дерева (но мне кажется, что и без этого все должно работать).

А вообще, классификатор распространяется на условиях open source, так что Вы вольны (и я был бы этому очень рад) вносить любые изменения в проект.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 10.04.2002, 18:33   #36  
Viper is offline
Viper
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2002
Адрес: С-Петербург
Спасибо за помощь
Большое сасибо. Я очень долго искал где можно отключить эты проверку.
Правдо это не помогло Но всетаки.

Подскажите пожалуйста чем дерево в lookup форме отличается от дерева в основной форме. В lookup форме производительность на порядок быстрее.

И еще для чего фильтрация ведется не только по ID но и по CODE. Мне казалось что CODE это только информационное поле. У меня при совпадении первых символов в поле CODE не верно фильтравалась таблица.

Большое спасибо.
Старый 10.04.2002, 18:55   #37  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Ну, дерево, само по себе, не слишком-то и отличается. В форме с номенклатурой два дерева (одно для фильтрации, другое для классификации), но на быстродействие это вряд ли существенно влияет. Здесь, скорее всего, дело в том, что в lookup форме выводятся данные только одной таблицы (InventTable), а в форме номенклатурные единицы выводятся данные пяти таблиц, не считая тех, что используются для классификатора (+2). Думаю, что это больше всего влияет на быстродействие.

А у Вас действительно на порядок отличается скорость? У нас замедление заметно, но сказать, что на порядок... Хотя классов в классификаторе у нас, конечно, меньше.

На счет ID и CODE. Дело в том, что изначально задача стояла так, что классу принадлежат и его элементы, и элементы, принадлежащие его потомкам. Изначально задачу решили так: код потомка строится как код предка и некоторые символы, приписанные справа. Это дает возможность использовать для SQL-запроса условие LIKE 'ABC*', где ABC - код предка. В принципе, это видимо тоже замедляет фильтрацию, так как выборка с использованием LIKE не индексируется. Возможно, что в будущем классификатор будет переделан так, чтобы для построения поддерева использовалось не LIKE ..., а ParentID = ... и соответствующие индексы (вы можете заняться этим прямо сегодня! ). Предположительно это несколько ускорит фильтрацию, но гарантий дать не могу.

P.S.: А по ID фильтрация и не идет. Идет фильтрация по TypeID. Дело в том, что классы с одинаковым кодом могут встречаться, но в разных классификациях (типах классов).
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 11.04.2002, 10:10   #38  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
2 Viper
Я же говорил, что не тестировал новую заплатку для классификатора? Ну вот и ошибку первую уже нашел: перестал работать метод GoTo (он отвечал за переход в дереве на заданный класс). Заметить это Вы можете в форме InventTable. На закладке "Распределение по классам" для каждой номенклатуры выводится список классов, которыми она проклассифицирована. Раньше (до исправления) при клике на классе, дерево для классификации автоматически раскрывалось и выбирался нужный класс. После исправления это работать перестало.

НО... не все так плохо. Я уже и эту ошибку исправил. Обновленный класс HB_ACTree предлагаю скачать еще раз.
Вложения
Тип файла: xpo hb_actree.xpo (53.0 Кб, 390 просмотров)
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 11.04.2002, 15:53   #39  
Viper is offline
Viper
Участник
 
5 / 10 (1) +
Регистрация: 08.04.2002
Адрес: С-Петербург
Большое спасибо.

Я последовал вашему совету и попытался отказаться от использования LIKE.
Изменил одну строку в \Classes\HB_Util\RunTableFilter и заменил

L.Code like '" + CC + "'
на
L.ClassID == " + int2str(C.ID) + "

Работать вродебы не перестало. Пока. И мне показалось увеличилась производительность. Номожет я и ошибаюсь.

Спасибо вам за помощь.
Старый 11.04.2002, 20:41   #40  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано max
...изначально задача стояла так, что классу принадлежат и его элементы, и элементы, принадлежащие его потомкам...
Вот это у Вас теперь не работает (может это Вам и не нужно, конечно). А то, что так быстрее - факт.

Удачи
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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, время: 00:59.