Зацикливание в Microsoft Dynamics NAV

У меня есть две таблицы (MetreR) и (Billing):

MReading date amount Billgen

Billing
  date
  amout
  Customer No

Я хочу вставить запись из таблицы MetreR в Billing в любое время, когда данные или запись попадут в таблицу MetreR. Он должен работать всегда. Я не хочу использовать очередь заданий.

MetreR.RESET;
MetreR.SETFILTER(MetreR.Billgen,'%1',FALSE);
IF MetreR.FIND('-') THEN BEGIN
REPEAT


    Billing.INIT;
    Billing.ID:=MetreR."No.";
    Billing."Customer No.":=Customers."No.";
    Billing.Amount:=Billing.Consumption;

      MetreR.Billgen:=TRUE;

MetreR.MODIFY;
END;

ПОКА MetreR.NEXT=0; КОНЕЦ;


person Theodulph Sekyi Quainoo    schedule 09.06.2016    source источник


Ответы (2)


Можете ли вы расширить или изменить таблицу MetreR? если это так, вы должны добавить свой код в OnInsert в этой таблице.

person Raaen    schedule 10.06.2016
comment
Да, я могу изменить таблицу MetreR и установить для поля Billgen значение TRUE. - person Theodulph Sekyi Quainoo; 10.06.2016
comment
Я хочу, чтобы codeunit каждый день каждую секунду проверял таблицу MetreR, если таблица пуста или содержит записи. - person Theodulph Sekyi Quainoo; 10.06.2016
comment
@TheodulphSekyiQuainoo Невозможно сделать это без NAS или выделенного клиента, работающего круглосуточно и без выходных. - person Mak Sim; 11.06.2016
comment
Я рекомендую вам создать еще одно решение, в котором вы используете очередь заданий NAS для повторения вашего Codeunit как можно чаще. Создавая Codeunit так, как вы пытаетесь, вы создаете фрагмент кода, который никогда не завершается и никогда не освобождает свои ресурсы или сеансы. Если вы хотите, чтобы ваше обновление происходило в реальном времени, вместо этого вам следует либо использовать метод OnInsert для таблицы MetreR, либо код, вставляющий в таблицу, вызывает ваш codeunit с помощью PowerShell. msdn.microsoft.com/en-us/library /dn466416(v=nav.90).aspx - person Raaen; 13.06.2016

Да, вы можете использовать триггер OnInsert в таблице MeterR. Так что всякий раз, когда в эту таблицу вставляется какая-либо вставка, вы можете обновить таблицу биллинга с помощью триггера OnInsert.

person Yuvraj Sharma    schedule 11.06.2016