Estou trabalhando em um projeto onde eu preciso desmembrar algumas ordens de vendas em uma ou mais, no entanto, eu preciso manter a data de criação igual à da ordem que originou, ou seja, vamos para um exemplo: Tenho uma ordem de venda chamada de A e que por motivo X precisa ser desmembrada em 4 outras ordens de venda com a restrição que estas 4 novas ordens devem ter a mesma data de criação da original (A).

Para contornar as validações da AOS, tive que seguir alguns passos e estou aqui compartilhando com vocês.

Criei uma classe e configurei para que ela rode no Server (RunOn = Server);

Então criei um classe chamada Class1, apenas para corrigir o problema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(Args args)
{
    SalesTable          salesTable;
    ;
    ttsBegin;
    //Aqui altero os campos normais da Tabela
    salesTable.CustAccount = "XXXxXxXX";
 
    //Aqui altero os Campos do sistema
    new overwriteSystemfieldsPermission().assert();
    salesTable.overwriteSystemfields (true);
    salesTable.(fieldnum (salesTable, CreatedDateTime)) = DateTimeUtil::newDateTime(today() - 1, timeNow());
    salesTable.insert();
    ttsCommit;
}

E esta mesma regra pode ser usado para os outros campos como CreatedBy, ModifedDateTime, ModifedBy e etc…

Abraços,
Lucas Clemente