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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.10.2005, 12:50   #1  
Saska is offline
Saska
Участник
 
18 / 10 (1) +
Регистрация: 09.12.2004
Что-то не пойму по Датапорту
Пытаюсь через датапорт в таблицу Покупка Заголовок внести данные, которые готовятся сторонней программой. Файл читается, все поля вроде нормально разбираются. НО! Номера документов в Покупка Заголовок проставляются автоматически. Все это делается в тригере OnInsert этой таблицы. Так вот я столкнулся с тем, что если вставлять запись в эту таблицу вручную (например нажатием F3) то триггер отрабатывает. А вот если делать в датапорте "Покупка Заголовок".INSERT то триггер не срабатывает и, соответственно, документ не получает номер.

Что я делаю неправильно? Может, с нумерацие из-под датапортов надо работать по-другому?
Старый 07.10.2005, 13:03   #2  
Rokhay is offline
Rokhay
Участник
 
154 / 15 (1) ++
Регистрация: 02.10.2003
Адрес: Ебург
попробуйте:

"Покупка Заголовок".INSERT(true)
Старый 07.10.2005, 13:45   #3  
Saska is offline
Saska
Участник
 
18 / 10 (1) +
Регистрация: 09.12.2004
Да, спасибо большое, это помогло - триггер стал выполняться. Но теперь другая проблема: если я импортирую более одной записи, то следующий номер почемуто не выбирается. Т.е. первую запись он отрабатывает, вставляет с первым свободным номером, согласно информации в серии номеров. Но вот последующую запись он пытается вставить с тем же самым номером, что, логично, вызывает ошибку. Что-то не пойму - то ли он транзакцию вставки до конца не завершает... То ли я снова что-то не так делаю.

Делаю так: для цикла использую таблицу "Целое". В тригере OnAfterImportRecord() делаю следующие нехитрые операции:

ПокупкаЗаголовок.RESET;
ПокупкаЗаголовок.INIT;
ПокупкаЗаголовок.VALIDATE(ПокупкаЗаголовок."Тип Документа","Тип Документа");
ПокупкаЗаголовок.VALIDATE("Покупка Поставщик Но.","Покупка Поставщик Но.");
.............
.............
ПокупкаЗаголовок.VALIDATE("Описание Учета","Описание Учета");
ПокупкаЗаголовок.INSERT(TRUE);
Старый 07.10.2005, 14:10   #4  
Rokhay is offline
Rokhay
Участник
 
154 / 15 (1) ++
Регистрация: 02.10.2003
Адрес: Ебург
Смотрите на метод onInsert, там есть такая строчка :

IF "No." = '' THEN BEGIN..

на перовй строчке номер - пустой, он нормально заполняется.
на второй строчке вы похоже правите предыдущую, все поля, в т.ч и номер - заполнены. Новый номер не выбирается. Попробуйте очистить переменную.
Старый 07.10.2005, 14:33   #5  
Saska is offline
Saska
Участник
 
18 / 10 (1) +
Регистрация: 09.12.2004
Уф.. Заработало!!!! Ну я б ни в жизнь не сообразил если честно. Огромное спасибо!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Никак не поцму по FORMAT Saska NAV: Программирование 3 27.01.2006 13:46
Не пойму по Демо базе johnnik NAV: Прочие вопросы 4 06.09.2005 18:03

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:13.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.