Показать сообщение отдельно
Старый 12.05.2008, 11:25   #2  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
При указании ссылки на статью делайте след. проверку. Создайте рекурсивную ф-ю. Соберите в темповую таблицу tmpTb все статьи, что ссылаются.
Пусть ф-я называется Collect.

Например в статье X хотим указать ссылку на Y,
tmpTbl.RESET
tmpTbl.DELETEALL;
collect(X);
checking(Rec)

Код:
Ф-я collect(ParmCode) 
LocRealTb.SETRANGE("refer",ParmCode);
IF LocRealTb.FIND('-') THEN BEGIN
	REPEAT
		tmpTb := LocRealTb;
		tmpTb.INSERT; // если с самого начала все верноЮ, то IF не нужен
		collect(LocRealTb.Code);
	UNTIL LocRealTbl.NEXT = 0;
END ELSE EXIT;
А затем еще рекурсия
ф-я checking(ParamTb)
Код:
IF tmpTb.GET(ParamTb.Code) then error('dfdfdf');
IF ParamTb."refer" = '' then exit;
ParamTb.GET(ParamTb."refer");
checking(ParamTb)
только добавьте туда проверки на пустые значения и т.п.