Показать сообщение отдельно
Старый 05.03.2005, 14:23   #1  
Eivanova is offline
Eivanova
Участник
 
9 / 10 (1) +
Регистрация: 05.03.2005
Адрес: Moscow
Ошибка приложения при обращении к RecordID.GETRECORD
Задача: синхронизация справочников разных фирм в одной базе.

Проблема: информация об изменении содержит в себе recorid записи, получаемый с помощью RecRef.RECORDID.
В процессе синхронизации нужно положить в recref запись, в которой произошли изменения.

код:
RecordIDTemp := ChangeforSynchron.RecordChangeID;
RecordRefSource.OPEN(ChangeforSynchron."Table ID",
FALSE,
CompanyNameSource);

RecordRefSource := RecordIDTemp.GETRECORD;

Входные данные проверенны и корректны.
В ряде случаев происходит вылет приложения аля фанерки над Парижем. В связи с чем - понять не могу.
Ранее код был:

RecordRefSource.OPEN(ChangeforSynchron."Table ID",
FALSE,
CompanyNameSource);
if not RecordRefSource.GET(ChangeforSynchron.RecordChangeID) then
error('!!');

В этом случае приложение слетало всегда.

Не подскажите, в каком именно месте у меня кривые руки?

п.с. крайне неохота делать case по номерам таблиц и работать с rec. Ленива.