Сообщение от
rutadmeen
Могу предложить код, которым я копировал строки Sales Line (делал из Заказа Счет). Можно несильно переделать под Ваши функции.
_Locals_
Name DataType Subtype Length
LineNo Integer
FieldRef FieldRef
RecRef1 RecordRef
RecRef2 RecordRef
mxLineNo Integer
mxItemCount Integer
rItem Record Item
rResEntry Record Reservation Entry
rResEntryLineNo Integer
_Globals_
Name DataType Subtype Length
ContNo Code 20
FromContainer Record Container
PurchaseLine Record Purchase Line
CurrVendor Code 20
OldVendor Code 20
NewPurchaseLine Record Purchase Line
NewPurchaseHeader Record Purchase Header
PurchSetup Record Purchases & Payables Setup
Fld Record Field
Mess Text 100
Window Dialog
_Code_
...
Fld.SETRANGE(TableNo, 39);
...
IF Fld.FIND('-') THEN
BEGIN
NewPurchaseLine.INIT;
NewPurchaseLine.BlockDynamicTracking(TRUE);
REPEAT
CASE Fld.FieldName OF
'Document Type': NewPurchaseLine."Document Type":= NewPurchaseLine."Document Type"::Invoice;
'Line No.':
BEGIN
LineNo := LineNo + 10000;
NewPurchaseLine."Line No.":= LineNo;
END;
'Document No.': NewPurchaseLine."Document No.":= NewPurchaseHeader."No.";
ELSE
RecRef1.GETTABLE(PurchaseLine);
RecRef2.GETTABLE(NewPurchaseLine);
FieldRef:= RecRef2.FIELD(Fld."No.");
FieldRef.VALUE(RecRef1.FIELD(Fld."No.").VALUE);
RecRef2.SETTABLE(NewPurchaseLine);
END;
UNTIL Fld.NEXT=0;
NewPurchaseLine.INSERT;
...
END;
Хотя, если как посоветовал Dzemon , то вроде короче получается