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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.02.2007, 17:27   #21  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Я не нашел в Аксапте форм, которые используют controlMethodOverloadObject, поэтому это не существенно.
SysDataAreaVirtual, например. Правда в ней вряд ли классификатор Ваш будет использоваться.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 20.02.2007, 10:15   #22  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
SysDataAreaVirtual, например. Правда в ней вряд ли классификатор Ваш будет использоваться.
А как Вы определили, что на этой форме используется controlMethodOverloadObject? В ней нет вызовов this.controlMethodOverloadObject().
Старый 20.02.2007, 10:40   #23  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
\Forms\SysDataAreaVirtual
X++:
class FormRun extends ObjectRun
{
    // ...
    SysListPanelRelationTable   listPanel1;
    // ...
}

void init()
{
    // ...
    listPanel1 = sysListPanelRelationTable::newForm(element, ... );
    // ....
}
\Classes\SysListPanelRelationTable
X++:
static SysListPanelRelationTable newForm(FormRun formRun, ... )
{
    // ...
    SysListPanelRelationTable SysListPanel = SysListPanelRelationTable::construct();
    // ...
    SysListPanel.parmFormRun(formRun);
    // ...
    SysListPanel.build();
    // ...
}
\Classes\SysListPanel
X++:
protected void build()
{
    // ...
    formRun.controlMethodOverload(true);

    if (!formRun.controlMethodOverloadObject())
        formRun.controlMethodOverloadObject(this);
    // ...
}
Короче говоря, не только в формах надо было искать, но и в классах. Этот метод используется как минимум во всех формах, где есть контрол следующего вида:

То есть два списка, в одном из которых перечислены выбранные элементы, а в другом - оставшиеся.
Изображения
 
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 20.02.2007, 12:11   #24  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Вы правы. Я не увидел, где formRun передается в класс. Оказывается вместо него element, что одно и тоже
X++:
listPanel1 = sysListPanelRelationTable::newForm(element, ... );
Мой классификатор встраивается только на формы, где есть хотя бы один источник и есть Tab с вкладкой Overview (Обзор), поэтому даже если пользователь захочте использовать классификатор на выше указанной форме, то ничего не изменится.
Старый 21.02.2007, 14:27   #25  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Многоуровневый классификатор
Внимание!!! Проект содержит системный класс SysSetupFormRun. Будьте внимательны при импорте.

Краткое руководство по настройке классификатора:
1. Указать список форм, на которых будет использоваться классификатор на форме AbstractClassSetup.
2. Создать уровни классификатора на форме AbstractClassTree. Для этого необходимо выбрать форму, на вкладке обзор создать корневой уровень классификатора, а затем добавить остальные уровни на вкладке дерево.
3. Указать какие записи принадлежат каким классам, нажав кнопку "Открыть" на форме AbstractClassTree. После этого выделить требуемые записи и нажать кнопку "Добавить".
4. Чтобы выводилась информация о том, каким уровням пренадлежит запись необходимо в метод active источника добавить следующий код: (например, для InventTable)
X++:
AbstractClass::loadItemClassName(element.design().controlName('AbstractClassList'), TableNum(InventTable), inventTable.RecId);
другого способа, к сожалению, пока не нашел.

Принимаются любые замечания и пожелания.
А также идеи по поводу того, как избавиться от последней модификации формы (добавление кода в метод active).
Вложения
Тип файла: xpo MultiLevelClass.xpo (133.7 Кб, 353 просмотров)

Последний раз редактировалось Lucky13; 21.02.2007 в 15:19.
За это сообщение автора поблагодарили: raz (6).
Старый 21.02.2007, 17:46   #26  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Попробовал загрузить в 4-ку
Отругалось:

Ошибка времени выполнения: В SysSetupFormRun (Объект), не найден исполнимый код метода "new".

Трассировка стека

(C)\Classes\SysSetupFormRun\new
(C)\Classes\SysSetupFormRun\construct - line 13
(C)\Classes\ClassFactory\formRunClassOnClient - line 5
(C)\Classes\ClassFactory\FormRunClass - line 3
(C)\Classes\HelpGenerator\showURL
(C)\Forms\SysInfologBrowser\Methods\executeAction - line 20
__________________
С уважением Шатохин Святослав.
Старый 22.02.2007, 09:09   #27  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Не факт что в 4-ке класс SysSetupFormRun остался таким же как в 3.0. Если Вы просто загрузили проект, то возможны ошибки. Лучше взять код, добавленный мной в метод init данного класса (он отмечен) и добавить его в аналогичный метод в 4-ке. Ну и соответственно объявить все недостающие переменные. Если Вы именно так и сделали, то даже не знаю что посоветовать. Метод new не изменялся, менялся только init. В какой строке выдается ошибка?
Старый 22.02.2007, 13:22   #28  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Мне нехватает следующих функций:

1. strdelRight;
2. strleftpos;

Можно их выложить?

С SysSetupFormRun разобрался.
Еще проблемы с методом Icon: не может найти идентификатор ресурса: 827. Пока подставил 0.
__________________
С уважением Шатохин Святослав.

Последний раз редактировалось slava09; 22.02.2007 в 13:28.
Старый 22.02.2007, 13:43   #29  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от slava09 Посмотреть сообщение
Мне нехватает следующих функций:

1. strdelRight;
2. strleftpos;

Можно их выложить?

С SysSetupFormRun разобрался.
Еще проблемы с методом Icon: не может найти идентификатор ресурса: 827. Пока подставил 0.
Это самодельные функции, они у меня в Global. Настолько к ним привык, что уже путаю со стандартными. Вот некоторые из них, в том числе и те что нужны в этом проекте.

X++:
static str strdelright(str s, int cnt)
{
    return strdel(s, strlen(s)-cnt+1, cnt);
}
static str strdelleft(str s, int cnt)
{
    return strdel(s, 1, cnt);
}
static int strLeftPos(str s, str ss)
{
    return strfind(s, ss, 1, strlen(s));
}
static int strRightPos(str s, str ss)
{
    int len = strlen(s);
    ;
    return strfind(s, ss, len, -len);
}
static str strRight(str s, int p)
{
    return substr(s, strlen(s)-p+1, p);
}
static str strMid(str s, int p1, int p2)
{
    return substr(s, p1, p2-p1+1);
}
static str strLeft(str s, int p)
{
    return substr(s, 1, p);
}
С иконкой наверное проблема 4-ки. Используются только стандартные иконки
Старый 22.02.2007, 13:59   #30  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Спасибо. Помогло.
Теперь при добавлении записи в иерархию матюкается так:

Сообщение (12:56:13)
Невозможно создать запись в Ссылки абстрактного классификатора (AbstractClassReference).
Запись уже существует.
__________________
С уважением Шатохин Святослав.
Старый 22.02.2007, 14:34   #31  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от slava09 Посмотреть сообщение
Спасибо. Помогло.
Теперь при добавлении записи в иерархию матюкается так:

Сообщение (12:56:13)
Невозможно создать запись в Ссылки абстрактного классификатора (AbstractClassReference).
Запись уже существует.
Наверное эта запись уже добавлена в данный класс. Это ошибка. Выложил hotfix
Вложения
Тип файла: xpo AbstractClassReference_hotfix.xpo (6.6 Кб, 327 просмотров)
Старый 22.02.2007, 16:04   #32  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Теперь при выборе элемента дерева (у меня это в справочнике номенклатур) ругается таким образом:

Сообщение (15:02:56)
Недопустимая комбинация поля/поля ссылки.
__________________
С уважением Шатохин Святослав.
Старый 22.02.2007, 16:15   #33  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
А какое у Вас получилось название класса в дереве, который Вы выбираете?
Попробуйте импортировать вложенный файл, если не поможет может проблема в RecId? Я слышал что в 4-ке recID по другому считается.
Вложения
Тип файла: xpo FormMethodHandler_hotfix.xpo (10.3 Кб, 329 просмотров)

Последний раз редактировалось Lucky13; 22.02.2007 в 16:30.
Старый 23.02.2007, 13:43   #34  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Помогло. А что делают кнопки "Вверх", "Вниз"?
__________________
С уважением Шатохин Святослав.
Старый 24.02.2007, 18:26   #35  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от slava09 Посмотреть сообщение
Помогло. А что делают кнопки "Вверх", "Вниз"?
Перемещают выделенный класс на уровень вверх или вниз, изменяя при этом код уровня.
Старый 26.02.2007, 13:03   #36  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Глючновато работает. Какие-то непонятные вещи делает...
__________________
С уважением Шатохин Святослав.
Старый 26.02.2007, 13:03   #37  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Если интересно, можем доразобраться...
__________________
С уважением Шатохин Святослав.
Старый 26.02.2007, 14:00   #38  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от slava09 Посмотреть сообщение
Глючновато работает. Какие-то непонятные вещи делает...
Если Вы про кнопки Вверх/вниз, то они действительно немного глючные. Этот функционал добавлен недавно и я еще пока не до конца понимаю как все это должно работать. Изначальная задача - добавить возможность изменять порядок классов в дереве, но коды уровня должны сохранять первоначальный порядок.
Старый 26.02.2007, 15:19   #39  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Да не нужно это. Порядок ненужно изменять.
Интересней было бы иметь несколько классификаций для одного справочника.
Еще интересно иметь поиск по иерархии.
Еще интересно иметь движок вывода в отчетах...
__________________
С уважением Шатохин Святослав.
Старый 26.02.2007, 16:16   #40  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от slava09 Посмотреть сообщение
Да не нужно это. Порядок ненужно изменять.
Может Вы и правы, надо подумать
Цитата:
Сообщение от slava09 Посмотреть сообщение
Интересней было бы иметь несколько классификаций для одного справочника.
А что Вам сейчас мешает это сделать? Добавьте сколько нужно классификаций на форме AbstractClassTree вкладка Обзор. Потом перейдите на вкладку дерево и добавьте необходимые подуровни в каждый классификатор. Или имеется в виду что-то еще?
Цитата:
Сообщение от slava09 Посмотреть сообщение
Еще интересно иметь поиск по иерархии.
Хорошая мысль, сделаю в ближайшее время.
Цитата:
Сообщение от slava09 Посмотреть сообщение
Еще интересно иметь движок вывода в отчетах...
Над этим сейчас работаю, когда будет готово, могу выложить. Если не трудно хотелось бы услышать как Вы себе предствляете такой движок? Хотя бы в общих чертах.
Теги
дерево, классификация, номенклатура, управление запасами, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Справочник банков twilight DAX: Функционал 17 16.12.2013 11:43
Нужен справочник ОКОФ для ОС Lyuberetskaya DAX: Функционал 12 30.03.2011 15:01
Что такое "Справочник"? Macross DAX: Функционал 6 05.02.2008 11:09
Насущное - справочник номенклатуры. Операторы делают массу ошибок. Что делать? zzerf DAX: Функционал 24 13.12.2007 11:18
Справочник цехов tolstjak DAX: Функционал 9 05.03.2003 11:37

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

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

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