29.12.2001, 02:04 | #21 |
Administrator
|
Здравствуйте, Елена
Спасибо за сотрудничество и помощь в поиске недоработок.
Действительно, как нам удалось выяснить, все дело было в свойстве Adjustment у Extended Data Type. Это свойство отвечает за то, в каком виде хранятся строковые данные в базе данных. Кроме того, изменение этого свойства влечет изменения в результатах выполнения операции сравнения (операции ==) в SQL-запросах. Причина ошибки скрывается в этом. Сейчас нами ведутся работы по исправлению этой ошибки (это ошибка классификатора, а не ошибка 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, 02:09 | #22 |
Administrator
|
Приношу извинения...
Цитата:
Изначально опубликовано mazzy
В общем, очищать свойство Extend надо с осторожностью. Хорошо представляя во что это выльется. Для тех, кто начинает изучать Аксапту - не делайте этого! За прошедший день нам удалось точно установить причину ошибки. Предлагаемое решение согласуется с концепцией неприкасаемости станадртных объектов 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 |
Участник
|
Обновленная версия выложена? Она там же, в сообщении №1?
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
29.12.2001, 16:07 | #24 |
Продавец игрушек
|
Елена, да, всё находится тут:
http://www.axforum.info/forums/showt...?s=&postid=754
__________________
С уважением, Роман Кошелев. |
|
31.01.2002, 15:52 | #25 |
Moderator
|
Импортировал "Абстрактный классификатор". Почему-то у меня не работает. Когда я открываю форму HB_ACAdmin, на ней отображается только одна кнопка - "Проверка таблиц", хотя форма имеет большой размер.
Если я пытаюсь редактировать ее дизайн, то она имеет какой-то маленький свернутый вид и не хочет разворачиваться до большего размера. При открытии форм InventTable и HB_InventTableLite появляется сообщение: "DictField object не инициализирован". У меня стоит Axapta 2.5 SP2 RU Build #7.1 Не могли бы Вы подсказать в чем может быть проблема ? |
|
01.02.2002, 08:57 | #26 |
Administrator
|
Попробуйте настроить функциональные ключи
Дело в том, что доступ к классификатору защищен функциональными ключами. Похоже на то, что доступ к ключам у вас выключен. Попробуйте его настроить. Воспользуйтесь закладкой Администрирование Главного меню (пункты Управление пользователями - Права доступа - Права групп пользователей и Функциональные ключи - Настройка функциональных ключей).
__________________
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 |
Участник
|
проблемы с установкой
Уважаемые дамы и господа.
Прежде всего, позвольте поблагодарить за сам факт публикации этой разработки. Однако во время установки пришлось пройти через ряд проблем, не все из которых до сих пор решены. Буду признателен за помощь. В номенклатурных единицах выдается сообщение DictField object не инициализирован, далее трассировка стека из нескольких пунктов. При поиске решения найдено, что в классе HB_ACUtils, функции RunTableFilter ошибки исчезают при комментировании строк dT = new DictType(dF.typeId()); CmpOp = dT.stringRight() ? "like" : "=="; сообщение об ошибке исчезает, но функциональность пропадает. При импорте файла классификатора не выдается ошибок только на чистой базе, но на частично заполненной - длинный список ошибок. Пытается удалить таблицы, созданные для product builder. Ошибки связаны в том числе и с ними, но и с inventTable. Была проблема с назначением прав на новые функциональные ключи, решилась длительными манипуляциями с пользовательскими группами и функц. ключами. Это проблема выдавала критическую ошибку при любом заходе в номенклатурные единицы. Если возможно, хотелось бы услышать комментарии разработчиков. |
|
19.03.2002, 18:40 | #28 |
Administrator
|
Судя по всему, у вас не заполнена таблица "Хранилища". Вот выдержка из руководства разработчика:
Цитата:
Классифицируемые таблицы в терминах Классификатора называются хранилищами. Для того, чтобы сделать возможной классификацию объектов той или иной таблицы следует добавить ее в список хранилищ на этой закладке. Для каждой таблицы помимо ее имени указывается имя ее ключевого поля и индекс, который будет использоваться при поиске. Поля имя таблицы и имя ключевого поля являются обязательными. В ближайшее время на сайте появится версия классификатора 1.1, в которой исправлено значительное количество ошибок. К сожалению, на обработку исключительных ситуаций и вывод написание процедур вывода диагностических сообщений сейчас просто нет времени. Это приводит к тому, что разобраться в проблеме неподготовленному пользователю по-прежнему сложно. Пишите на форум, постараюсь помочь всем. 2Alexey Smirnov: Пожалуйста, опишите подробнее проблемы, которые возникали у Вас во время настройки прав доступа. Сейчас в нашей компании классификатор используется достаточно интенсивно. Несколько дней назад мы настроили функциональные ключи. У нас, кажется, все работает без ошибок.
__________________
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 |
Участник
|
Цитата:
Изначально опубликовано max
Судя по всему, у вас не заполнена таблица "Хранилища". Вот выдержка из руководства разработчика: Эта таблица заполняется в форме "Администрирование классификатора" (закладка "Разное" Главного Меню). Также не забудьте настроить принадлежность классификаций тем или иным хранилищам на закладке "Классификации" в той же форме (об этом тоже достаточно подробно написано в руководстве пользователя). Строки, которые вы закомментировали, убирать не рекомендуется, так как их блокирование полностью парализует работу фильтрации по классификатору. В ближайшее время на сайте появится версия классификатора 1.1, в которой исправлено значительное количество ошибок. К сожалению, на обработку исключительных ситуаций и вывод написание процедур вывода диагностических сообщений сейчас просто нет времени. Это приводит к тому, что разобраться в проблеме неподготовленному пользователю по-прежнему сложно. Пишите на форум, постараюсь помочь всем. 2Alexey Smirnov: Пожалуйста, опишите подробнее проблемы, которые возникали у Вас во время настройки прав доступа. Сейчас в нашей компании классификатор используется достаточно интенсивно. Несколько дней назад мы настроили функциональные ключи. У нас, кажется, все работает без ошибок. Кроме того, не выдавался список функциональных ключей в правах группы сразу после установки классификатора - выдавалась ошибка. Не помню точно, в чем она заключалась, но права на доступ установить она не позволяла вообще. Возможно, причина та же, что и в предыдущем абзаце. Сейчас удалось решить все проблемы и настроить классификацию по проекту. Спасибо. И еще вопрос - когда можно ожидать обновления? |
|
21.03.2002, 10:11 | #30 |
Administrator
|
В догонку...
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 |
Administrator
|
Итак, я все-таки выложил версию 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 |
Участник
|
Замедление производительности.
Вопрос: При среднем количестве записей в таблице AClassTable (около 6000) появилась большая задержка перед открытием форм связанных с класификатотром. Кто знает подскажите как можно это оптимизировать. Спасибо.
|
|
09.04.2002, 09:44 | #33 |
Administrator
|
Да, замедленее действительно есть Связано оно с тем, что дерево, в котором производится распределение по классам (то, в котором Вы галочками отмечаете принадлежность объекта к тому или иному классу), строится целиком при загрузке формы. В этом был определенный смысл на начальном этапе разработки проекта, но сейчас особой нужды строить дерево целиком нет.
Я попробовал быстро исправить эту проблему. Сразу говорю, что тестирование проводилось минимальное, так что используйте обновление на свой страх и риск. Для установки, импортируйте файл HB_ACTree.xpo в свою среду Axapta.
__________________
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 |
Участник
|
Спасибо.
После установки заплатки пропала задержка при открытии форм. Большое спасибо.
Но у меня появился новый вопрос. Зачем при раскрытии дерева выполняется такое количество запросов. И нельзя ли уменьшить их количество. Например убрав проверку на наличие дочерних объектов. Т. е. поставить плюсики везде. А раскрывать только существующие. Заранее Спасибо. |
|
09.04.2002, 14:03 | #35 |
Administrator
|
Как показывает практика, основное замедленее происходит не из-за проверки структуры дерева, а из-за фильтрации записей в обрабатываемой таблице. Вообще, до сегодняшнего дня (до Вашего первого вопроса) я не задумывался об оптимизации скорости работы на этапе построения дерева (в основном, я уделял внимание фильтрации).
Для того, чтобы сделать то, что Вы хотите (ставить плюсики везде), переопределите метод таблицы 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 |
Участник
|
Спасибо за помощь
Большое сасибо. Я очень долго искал где можно отключить эты проверку.
Правдо это не помогло Но всетаки. Подскажите пожалуйста чем дерево в lookup форме отличается от дерева в основной форме. В lookup форме производительность на порядок быстрее. И еще для чего фильтрация ведется не только по ID но и по CODE. Мне казалось что CODE это только информационное поле. У меня при совпадении первых символов в поле CODE не верно фильтравалась таблица. Большое спасибо. |
|
10.04.2002, 18:55 | #37 |
Administrator
|
Ну, дерево, само по себе, не слишком-то и отличается. В форме с номенклатурой два дерева (одно для фильтрации, другое для классификации), но на быстродействие это вряд ли существенно влияет. Здесь, скорее всего, дело в том, что в 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 |
Administrator
|
2 Viper
Я же говорил, что не тестировал новую заплатку для классификатора? Ну вот и ошибку первую уже нашел: перестал работать метод GoTo (он отвечал за переход в дереве на заданный класс). Заметить это Вы можете в форме InventTable. На закладке "Распределение по классам" для каждой номенклатуры выводится список классов, которыми она проклассифицирована. Раньше (до исправления) при клике на классе, дерево для классификации автоматически раскрывалось и выбирался нужный класс. После исправления это работать перестало.
НО... не все так плохо. Я уже и эту ошибку исправил. Обновленный класс HB_ACTree предлагаю скачать еще раз.
__________________
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 |
Участник
|
Большое спасибо.
Я последовал вашему совету и попытался отказаться от использования LIKE. Изменил одну строку в \Classes\HB_Util\RunTableFilter и заменил L.Code like '" + CC + "' на L.ClassID == " + int2str(C.ID) + " Работать вродебы не перестало. Пока. И мне показалось увеличилась производительность. Номожет я и ошибаюсь. Спасибо вам за помощь. |
|
11.04.2002, 20:41 | #40 |
Administrator
|
Цитата:
Изначально опубликовано 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+Классификатор | 4 | |||
Классификатор | 4 | |||
Абстрактный классификатор | 17 | |||
Абстрактный классификатор (версия 1.1) | 0 | |||
Абстрактный классификатор (версия 1.0) | 3 |
|