O código abaixo é destinado a desenvolvedores iniciantes e o objetivo é ajudar a criação de uma ordem de venda bem simples via X++, ou seja, apenas para dar uma noção de como deve ser feita.
Alguns objetos importantes que serão usados:
-Tables\SalesTable
-Tables\SalesLine
-Tables\InventDim
-Tables\CustTable
-Tables\InventTable
-Classes\SalesTableType {The InventType Hierarchy}
Código [muito básico]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | static void SalesOrderCreation(Args _args) { SalesTable salesTable; NumberSeq NumberSeq; SalesLine salesLine; InventDim IDim; ; ttsbegin; NumberSeq = NumberSeq::newGetNumFromCode(SalesParameters::numRefSalesId).numberSequence); //=======Table======= salesTable.SalesId = NumberSeq.num(); salesTable.initValue(); salesTable.CustAccount = "4000"; //Enter Customer Acount salesTable.initFromCustTable(); salesTable.InventLocationId = "GW"; salesTable.insert(); //========Line======= salesLine.clear(); salesLine.SalesId = salesTable.SalesId; salesLine.ItemId = "IS2082SAIL"; //Enter Item ID IDim.InventColorId ="CU"; //Enter Item Dimensions IDim.InventLocationId = "GW"; IDim = InventDim::findOrCreate(IDim); salesLine.InventDimId = IDim.inventDimId; salesLine.createLine(NoYes::Yes, NoYes::Yes, NoYes::Yes, NoYes::Yes, NoYes::Yes, NoYes::Yes); //=================== ttscommit; Info(salesTable.SalesId); } |
O código acima é muito basico, mas ajudará você com os conceitos.
One Response
Marcos
18|Jun|2014 1Bom dia.
Existe alguma opção no AX 2009 de deixar a criação da ordem de venda automática?
No meu caso os dados necessários para a ordem de venda estão em outra tabela que o sistema móvel de pedido gera. Minha classe transforma esses dados em ordem de venda mesmo. Queria deixar essa transformação automática. A unica forma que encontrei é deixado o processo da classe em lote. Existe outra opção que dispare a classe por exemplo cada vez que aconteça um insert na tabela do sistema móvel?
Obrigado.
Leave a reply