RecordRef является указателем. При присваивании одного RecordRef другому они начинают указывать на одну и ту же таблицу (переменную типа Record), естественно в одной и той же фирме.
Копировать RecordRef можно только по полям.
DUPLICATE создает новую переменную типа Record в той же фирме и делает на нее указатель.
Вместо
<div class='CALtop'>C/AL</div><div class='CAL'>
FieldTable.RESET;
FieldTable.SETRANGE(TableNo,TableID);
IF FieldTable.FIND('-') THEN BEGIN
REPEAT
FromFilds:= FromTable.FIELD(FieldTable."No.");
ToFields:=ToTable.FIELD(FieldTable."No.");
ToFields.VALUE:=FromFilds.VALUE;
UNTIL FieldTable.NEXT=0;
END;
</div>
мне кажется лучше использовать:
<div class='CALtop'>C/AL</div><div class='CAL'>
for i := 1 to FromTable.FIELDCOUNT do begin
FromFilds := FromTable.FIELDINDEX(i);
ToFields := ToTable.FIELDINDEX(i);
ToFields.VALUE := FromFilds.VALUE;
end;
</div>
|