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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.12.2008, 22:38   #11  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
DAX4 SP2 EE Отключенный двухвалютный склад и свое поле в InventSum.
У меня двухвалютный склад отключен. В InventSum добавил свое поле. С тем же именем поле добавил в InventSumDelta. Сдела протягивание из InventTrans накопление этого поля в разных местах. В InventSum и InventSumDelta добавил поле в группы DeltaFields.
В результате, при резервировании в методе sqlUpdateInventSumStrSQLServer класса InventUpdateOnhand поймал ошибку. Когда обрабатывается код:
X++:
    for (h=1;h<=fieldGrp.numberOfFields();h++)
    {
        tmpFieldName = new SysDictField(tablenum(InventSum),fieldGrp.field(h)).name(DbBackend::Sql);
        if (tmpFieldName)
        {
            // Note: field names must be exactly the same on tables InventSum and InventSumDelta
            pct2 += pct2 ? ', ' : '';
            pct2 += inventSumName + '.' + tmpFieldName + ' = ' + inventSumName + '.' + tmpFieldName + ' + ' + inventSumDeltaName + '.' + sumPrefix + tmpFieldName;
            tmpFieldNames += tmpFieldName;
        }
    }
в контейнер tmpFieldNames записывается 17 полей стандартных, 2 относящихся к двухвалютному складу не пишется, восемнадцатым пишется мое поле.
дальше в коде:
Цитата:
for (h=1;h<=deltaFieldGrp.numberOfFields();h++)
{
tmpFieldName = new SysDictField(tablenum(InventSumDelta),deltaFieldGrp.field(h)).name(DbBackend::Sql);
if (tmpFieldName)
{
pct3 += 'SUM(' + tmpFieldName + ') AS ' + sumPrefix + conpeek(tmpFieldNames,h) + ', ';
}
}
хотя два поля двухвалютного склада пропущены из-за того, что ключ отключен и SysDictField(tablenum(InventSumDelta),deltaFieldGrp.field(h)).name(DbBackend::Sql); не срабатывает, при обработке моего поля условие работает, НО h к тому времени равно 20, хотя в контейнере tmpFieldNames всего 18 значений!
Включаем двухвалютный склад и все становится Ок. Понятно как с этим бороться, но неприятно.

Последний раз редактировалось Raven Melancholic; 30.12.2008 в 22:40.
Теги
bug report, баг, ошибка, dynamics

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Баги WebTab в DAX4 (более 1-ого на форме) alex55 DAX: Программирование 4 11.07.2008 16:28
Сергей Герасимов: Бизнес-приложения – основа стратегии корпорации Майкрософт Blog bot DAX Blogs 5 27.09.2007 02:00
Сергей Герасимов: О новостных группах и других общедоступных ресурсах Майкрософт Blog bot DAX Blogs 0 09.02.2007 22:52
Сергей Герасимов: Майкрософт ежемесячно публикует список исправленных ошибок Blog bot DAX Blogs 1 16.01.2007 11:52
Счет на оплату по заказу. Баги. Косых Артём DAX: Программирование 2 23.06.2006 11:32

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

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

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