F_MBP::oMBP_Out.InsertObj - описание процедуры

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Senkrid
Постоянный гость
Сообщения: 74
Зарегистрирован: 10 ноя 2009, 07:08
Откуда: Ангарск
Контактная информация:

F_MBP::oMBP_Out.InsertObj - описание процедуры

Сообщение Senkrid »

Здравствуйте.

Для создания записи MBPOut решил отойти от привычного "ручного" создания и воспользоваться существующими средствами - oMBP_Out.InsertObj.
Что есть в справке по этому поводу:
Procedure F_MBP::oMBP_Out.InsertObj
Выполняет вставку новой записи. Производятся необходимые модификации связанных записей. Никаких проверок корректности изменений внутри не производится, поэтому процедуру необходимо предварять соответствующим набором процедур проверки, размещенных в одном _try-блоке с ней.

Procedure InsertObj (
var _Buf : TMBP_Out;
_Contx : F_MBPPUB::TCallCtx;
_Response : F_MBPPUB::TBatConf);
Описание
Выполняет вставку новой записи. Производятся необходимые модификации связанных записей. Никаких проверок корректности изменений внутри не производится, поэтому процедуру необходимо предварять соответствующим набором процедур проверки, размещенных в одном _try-блоке с ней. При возникновении проблем с модификацией таблиц внутри процедуры генерируется исключение.
Возвращает значение для позиционирования на новую запись в _Buf.NRec.
Подготовил _Buf - заполнил всеми необходимыми значениями. С остальными 2-я параметрами осталось разобраться (тип-запись, подробного описания нет).
Запись создается, но при этом получаю сообщение "Дублирование уникального ключа..." по nRec-ку. Возможно дело в _Buf или в этих параметрах
1. Кто может объяснить эти 2 параметра?

Код: Выделить всё

Type TCallCtx = Record  
  OutSide : Boolean;  
  BatMode : Integer;
  FrWhere : Integer;  
  BlPhase : Integer;  
  Level   : Integer;  
  NeedChk : Integer;
End;

Type TBatConf = Record  
  Action : LongInt;  
  Singl  : LongInt;  
  Multi  : LongInt;
End;
2. При использовании InsertObj происходит автоматическая корректировка MBPIn или проще сделать все руками?
Senkrid
Постоянный гость
Сообщения: 74
Зарегистрирован: 10 ноя 2009, 07:08
Откуда: Ангарск
Контактная информация:

Re: F_MBP::oMBP_Out.InsertObj - описание процедуры

Сообщение Senkrid »

Senkrid писал(а): 2. При использовании InsertObj происходит автоматическая корректировка MBPIn или проще сделать все руками?
Сам отвечаю - да, происходит корректировка (правятся кол-во, даты,статус).
Вопрос с дублированием по nRec -у решен: в _Buf нужно указывать nRec := 0 ;

Остаётся вопрос по 2-м параметрам.
Ответить