07.10.2005, 12:50 | #1 |
Участник
|
Что-то не пойму по Датапорту
Пытаюсь через датапорт в таблицу Покупка Заголовок внести данные, которые готовятся сторонней программой. Файл читается, все поля вроде нормально разбираются. НО! Номера документов в Покупка Заголовок проставляются автоматически. Все это делается в тригере OnInsert этой таблицы. Так вот я столкнулся с тем, что если вставлять запись в эту таблицу вручную (например нажатием F3) то триггер отрабатывает. А вот если делать в датапорте "Покупка Заголовок".INSERT то триггер не срабатывает и, соответственно, документ не получает номер.
Что я делаю неправильно? Может, с нумерацие из-под датапортов надо работать по-другому? |
|
07.10.2005, 13:03 | #2 |
Участник
|
попробуйте:
"Покупка Заголовок".INSERT(true) |
|
07.10.2005, 13:45 | #3 |
Участник
|
Да, спасибо большое, это помогло - триггер стал выполняться. Но теперь другая проблема: если я импортирую более одной записи, то следующий номер почемуто не выбирается. Т.е. первую запись он отрабатывает, вставляет с первым свободным номером, согласно информации в серии номеров. Но вот последующую запись он пытается вставить с тем же самым номером, что, логично, вызывает ошибку. Что-то не пойму - то ли он транзакцию вставки до конца не завершает... То ли я снова что-то не так делаю.
Делаю так: для цикла использую таблицу "Целое". В тригере OnAfterImportRecord() делаю следующие нехитрые операции: ПокупкаЗаголовок.RESET; ПокупкаЗаголовок.INIT; ПокупкаЗаголовок.VALIDATE(ПокупкаЗаголовок."Тип Документа","Тип Документа"); ПокупкаЗаголовок.VALIDATE("Покупка Поставщик Но.","Покупка Поставщик Но."); ............. ............. ПокупкаЗаголовок.VALIDATE("Описание Учета","Описание Учета"); ПокупкаЗаголовок.INSERT(TRUE); |
|
07.10.2005, 14:10 | #4 |
Участник
|
Смотрите на метод onInsert, там есть такая строчка :
IF "No." = '' THEN BEGIN.. на перовй строчке номер - пустой, он нормально заполняется. на второй строчке вы похоже правите предыдущую, все поля, в т.ч и номер - заполнены. Новый номер не выбирается. Попробуйте очистить переменную. |
|
07.10.2005, 14:33 | #5 |
Участник
|
Уф.. Заработало!!!! Ну я б ни в жизнь не сообразил если честно. Огромное спасибо!!
|
|