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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.04.2009, 17:14   #1  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Баг на форме "Проводки по сопоставлению"
Наткнулся на баг на форме CustVendTransPostingLog_RU (Проводки по сопоставлению).
Видимо для того чтобы была возможность переходить к проводкам по сопоставлению с обоих сопоставленных проводок, авторы отказались
X++:
this.query().dataSourceTable(tablenum(CustVendTransPostingLog_RU)).clearDynalinks();
от стандартного поведения Dynalink и запрограммировали собственное
X++:
public void linkActive()
{
    transRecIdRange.value(strfmt('(' +
                          new DictField(tablenum(CustVendTransPostingLog_RU),
                                        fieldnum(CustVendTransPostingLog_RU, TransRecId)).name() +
                          ' == %1' + ')' + ' || ' +
                          '(' +
                          new DictField(tablenum(CustVendTransPostingLog_RU),
                                        fieldnum(CustVendTransPostingLog_RU, OffSetRecId)).name() +
                          ' == %1' + ')',
                          custVendTrans.RecId));

    super();
}
Но т.к. эта форма общая и для поставщиков и для клиентов, связь с проводками должна происходить не только по RecId, но и по TableId. Предлагаю пофиксить эту багу следующим образом:
X++:
public void linkActive()
{

    transRecIdRange.value(strfmt('(((' +
                          new DictField(tablenum(CustVendTransPostingLog_RU),
                                        fieldnum(CustVendTransPostingLog_RU, TransRecId)).name() +
                          ' == %1' + ')' + ' || ' +
                          '(' +
                          new DictField(tablenum(CustVendTransPostingLog_RU),
                                        fieldnum(CustVendTransPostingLog_RU, OffSetRecId)).name() +
                          ' == %1' + '))' + ' && ' +
                          '(' +
                          new DictField(tablenum(CustVendTransPostingLog_RU),
                                        fieldnum(CustVendTransPostingLog_RU, RefTableId)).name() +
                          ' == %2' + '))',
                          custVendTrans.RecId,
                          custVendTrans.TableId)); // <--

    super();
}
Теги
баг, ошибка, проводки по сопоставлению, сопоставление, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Почему на форме "Пользовательские настройки", когда я перехожу в нее из формы, отсутствует закладка "Запрос"? Hans DAX: Администрирование 0 05.07.2007 13:52
Фильтрация в форме "В наличии" по агрегатному полю "Физ. наличие" miaa DAX: Программирование 13 29.08.2006 23:45
поле "Документы к обновлению" в форме "Обработка закупки" sev DAX: Функционал 3 08.12.2005 17:21
Знак в форме ГК/Бухгалтерские проводки chel DAX: Функционал 7 11.03.2005 04:28
Как сбросить флаг "Используется" в форме "Складской журнал" ATimTim DAX: Функционал 1 24.06.2004 19:19

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

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

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