Андрей Панько. Заметки про Dynamics NAV (http://apanko.ru/index.php)
-   Dynamics NAV (Navision) (http://apanko.ru/forumdisplay.php?f=2)
-   -   Заметки из серии Navision Programming (http://apanko.ru/showthread.php?t=26)

apanko 07.04.2010 20:32

ModifyAll
 
Хотел пакетно (с помощью ModifyALL) заменить значение в Поле1, на Значение1 и при этом вызвать триггер OnValidate.

Проверка показала, что ModifyAll(Поле1,Значение1,TRUE) вызывает триггер onModify, но игнорирует триггер onValidate.

Хотя это и логично, но все же несколько печально. Хотелось бы конечно иметь два Булевых поля - первое что отвечало за вызов триггера onValidate, а второе за onModify.

Пришлось гнать в цикле.

apanko 07.04.2010 20:34

Выяснил, что
Код:


CurrForm.SETSELECTIONFILTER(Rec);
....
ERROR('');

не возвращает фильтры в исходное состояние. Что логично - фильтры с транзакциями связаны слабо.

Что б обойти можно делать например так (по ситуации):

Код:


Rec2.COPY(Rec);
CurrForm.SETSELECTIONFILTER(Rec);

...
Rec.COPY(Rec2);
ERROR('');


apanko 17.02.2012 15:20

Joker :)
 
---------------------------
Microsoft Dynamics NAV
---------------------------
Преобразование типов невозможно, так как один из операторов содержит некорректный тип.
Option := JOKER
---------------------------
OK
---------------------------

А вот и код, которым это вызывается:

Цитата:

FieldRefL := RecRefP.FIELD(1);
rSalesLine.SETRANGE("Document Type",FieldRefL.VALUE);


Пришлось использоваться дополнительные переменные (тут обошелся Integer)


Часовой пояс GMT +4, время: 03:26.

vBulletin v3.5.4, Copyright ©2000-2020, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co
Права на все материалы, опубликованные на блогофоруме принадлежат Андрею Панько, если в самом материале не указано иное.