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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.04.2014, 22:14   #1  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Чудеса salesTable.validateWrite()
Такая вот интересная вещь:
Есть код создающий в цикле шапку закупки и строки, потом снова на след итерации шапку и строки
X++:
while - 
{
     if()
     {
          //salesTable = null; только это спасает
          salesTable.clear();
     .....
          if (salesTable.validateWrite())
               salesTable.insert();
  }
....  
}
на втором прохождении цикла заказ не создается, тк выдается ошибка Заказ не может быть изменен. ( @sys2650 )
Происходит из-за того, что несмотря на salesTabel.clear(), кот очищает поля и Recid(я это вижу в дебаггере) , потом в salesTableType->validateWrite вызов salesTable.orig() возвращает буфер, созданный на предыдущей итерации , т.е clear() не очищает orig()
reread перед clear не помогает, initValue после него - тоже
Ест-но, помогает только salesTable = null перед salesTable.clear(); но обычно же так не пишем

Тут как-то спрашиали зачем табличным буферам null присваивают. Может, чтоб вот таких сюрпризов избегать?

AX2012 R2

Последний раз редактировалось IKA; 01.04.2014 в 23:34.
Теги
ax-классы, ax2012, ax2012r2, axbc, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
update in salesTable ashu DAX: Программирование 10 04.07.2011 09:39
RecordInsertList и validatewrite IKA DAX: Программирование 2 23.02.2010 19:27
Переход на первую строку SalesLine_ds при вызове SalesTable_ds.write() Владимир Максимов DAX: Программирование 4 02.10.2008 18:08
edit-методы и validateWrite() на DataSource gl00mie DAX: Программирование 6 30.06.2008 17:50
Join SalesTable-->SalesLine Eldar9x DAX: Программирование 9 06.06.2008 17:19

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

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

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