Показать сообщение отдельно
Старый 19.02.2008, 14:20   #7  
unalexia is offline
unalexia
Участник
 
79 / 10 (1) +
Регистрация: 28.12.2005
Цитата:
Сообщение от RedFox Посмотреть сообщение
Тогда уж лучше использовать RecordID.TABLENO, чтобы на хадкодить ;-)
А MODIFY сообщениями обвесь до и после - самый простой сопоб определить оно или нет?

P.S. И кстати, табличка эта не блокорована?? Какая версия NAV?
Немоного продвинулся дальше.... Вроде как проблема в том, что указанный код на происваивание нового значения и Modify находится в триггере такой же таблицы... Как бы в этом случае и происходит зацикливание....

Смоделировал не на тригерах отчета...:


LedgerEntryDimension.SETRANGE("Table ID",271);
LedgerEntryDimension.SETRANGE("Entry No.",9578993);
IF LedgerEntryDimension.FIND('-') THEN BEGIN
IF LedgerEntryDimension."Dimension Code" = 'СТАТЬИ ДДС' THEN BEGIN
LedgerEntryDimension."Dimension Value Code" := 'Р3110';
LedgerEntryDimension.MODIFY; все ОК!!
END;

Но если (по аналогии с тригерром OnAfterGetRecord())

LedgerEntryDimension.SETRANGE("Table ID",271);
LedgerEntryDimension.SETRANGE("Entry No.",9578993);
IF LedgerEntryDimension.FIND('-') THEN REPEAT
IF LedgerEntryDimension."Dimension Code" = 'СТАТЬИ ДДС' THEN BEGIN
LedgerEntryDimension."Dimension Value Code" := 'Р3110';
LedgerEntryDimension.MODIFY; ЗАВИСАНИЕ!!!! ЗАЦИКЛИВАНИЕ!!!!
UNTIL LedgerEntryDimension.NEXT=0;