#Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'
User Function PO400Auto()
Local aCab := {} //Array com os dados da Capa do Purchase Order
Local aItem := {} //Array com os dados dos Itens do Purchase Order
Local nOpc:= 5 //Opção a ser executada. 5-Exclusão
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
RPCSetEnv("99", "01", NIL, NIL, "EIC", NIL, {"SW2", "SW3"})
//Capa do Purchase Order
AADD(aCab,{"W2_PO_NUM" , "PO-0001" , NIL})
AADD(aCab,{"W2_PO_DT" , dDataBase , NIL})
AADD(aCab,{"W2_FORN" , "0001 " , NIL})
AADD(aCab,{"W2_FORLOJ" , "01 {"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 3 , NIL},; //Item novo a ser adicionado na Alteração.
{"W3_PRECO" , 103.00000 , NIL},;
{"W3_FABR" , "GEN-01" , NIL},;
{"W3_FABLOJ" , "00" , NIL} |
| )AADD(aCab,W2COMPRA )AADD(aCab,W2IMPORT,GN)
AADD(aCab,{"W2_AGENTE", "GN" ,NIL})
AADD(aCab,W2TIPO_EM"GN")
AADD(aCab,{"W2_ORIGEM","SPO",NIL})
AADD(aCab,W2DEST "GRU" )AADD(aCab,W2INCOTER "CIF" )AADD(aCab,W2FREPPCC"PP" )AADD(aCab,W2CONDPA "GN " )AADD(aCab,W2MOEDA ,US$
AADD(aCab,{"W2_DT_PAR" , dDataBase , NIL})
AADD(aCab,{"W2_PARID_U" , 1.000000 , NIL})
AADD(aCab,{"W2_E_LC" , "2" , NIL})
//Dados para os Itens do Purchase Order
aAdd(aItem,{;
{"W3_COD_I" , "GEN-00" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 1 //Solicitação que será adicionado o novo item. O W3_REG deve ter um núemro que ainda não existe na SI
MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)}, NIL, aCab, aItem, nOpc)
If lMsErroAuto
MostraErro()
Else
MsgInfo("Ok - P.O.")
EndIf
RPCClearEnv()
Return Nil
|
Bloco de código |
---|
language | py |
---|
theme | Eclipse |
---|
title | Modelo de Alteração do Purchase Order por rotina automática com Exclusão de item |
---|
linenumbers | true |
---|
collapse | true |
---|
| #Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'
User Function 1PO400Auto()
Local aCab := {} //Array com os dados da Capa do Purchase Order
Local aItem := {} //Array com os dados dos Itens do Purchase Order
Local nOpc:= 4 //Opção a ser executada. 4-Alteração
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
RPCSetEnv("99", "01", NIL, NIL, "EIC", NIL, {"SW2", "SW3"})
//Capa do Purchase Order
AADD(aCab,{"W2_PO_NUM" , "PO-0004" , |
| , NIL},; AADD(aCab,{"W2_PO_DT" , dDataBase |
|
W3PRECO100.00000,;)
AADD(aCab,{"W2_FORLOJ" , "00" |
|
W3FABR 0001",NIL},;
W3FABLOJ 01,;)
AADD(aCab,{"W2_AGENTE" , "GN2" |
|
W3_FORN","0001",; W3FORLOJ 01,NIL},; , NIL})
AADD(aCab,{"W2_DEST" , "GRU" |
|
{"W3_QTDE",10.000 , NIL})
AADD(aCab,{"W2_INCOTER" , |
| NIL},;
W3DT_EMB dDataBase,NIL},;
{"W3_DT_ENTR",dDataBase NIL},;
{"W3_PESOL",1.00000000,;)
AADD(aCab,{"W2_MOEDA" , |
| {W3_PESO_BR,1.000000,NIL},;
W3SALDOQ0.000,; W3SINUM "SI0001" }
aAddaItem,{;
W3CODI GEN-00 ,NIL},;{"W3_CC" , "GEN00" //Dados para os Itens do Purchase Order
aAdd(aItem,{;
|
| , {"W3_COD_I" , "PA-001" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , |
| 2 100 0001 01 0001 01 15
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , |
| 10000000090000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL},; |
| SALDOQ0.000, NIL},SINUMSI0001" ,NIL}})
MSExecAuto({|a,b,c,d|EICPO400(a,b,c,d)}aCab, aItem, nOpc)
If lMsErroAuto
{"W3_CC" , "GEN00" , NIL},; |
| MostraErro()
ElseMsgInfo("Ok - P.O.")
EndIf
RPCClearEnv()
Return Nil
|