![]() |
#8 |
Участник
|
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> |
|