Card |
---|
| Ao realizar a alteração de um Purchase Order, obrigatoriamente deverá ser informado, além do código do PO nas informações da Capa, os dados de número da SI (Solicitação de Importação), Código do Produto, Centro de Custo e Reg para os Itens. Durante uma alteração, também será possível adicionar novos itens ao PO ou até mesmo retirar itens já vinculados ao PO. Informações |
---|
| - Para todas as alterações do PO, será sempre obrigatório o envio de uma Solicitação de Importação e a sequência do item (W3_REG). Ao informar uma SI com uma sequência (W3_REG) que não exista, a alteração do PO efetuará a inclusão deste item na SI e o vinculará no PO. Também é possível enviar uma SI e um REG de um registro que já exista na SI, desta forma este item somente será adicionado ao PO.
- Para o envio de uma Alteração do PO, para a exclusão de Itens (O item será desmarcado do PO, sendo desvinculado do mesmo e seu saldo devolvido à SI) será obrigatório o envio da opção "AUTDELETA" com o conteúdo "S".
|
Bloco de código |
---|
language | py |
---|
theme | Eclipse |
---|
title | Modelo de Alteração do Purchase Order por rotina automática com Adição de um novo 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 , NIL})
AADD(aCab,{"W2_FORN" , "GEN-00" , NIL})
AADD(aCab,{"W2_FORLOJ" , "00" , NIL})
AADD(aCab,{"W2_COMPRA" , "GEN" , NIL})
AADD(aCab,{"W2_IMPORT" , "GN" , NIL})
AADD(aCab,{"W2_AGENTE" , "GN2" , NIL})
AADD(aCab,{"W2_TIPO_EM" , "GN" , NIL})
AADD(aCab,{"W2_ORIGEM" , "SPO" , NIL})
AADD(aCab,{"W2_DEST" , "GRU" , NIL})
AADD(aCab,{"W2_INCOTER" , "CIF" , NIL})
AADD(aCab,{"W2_FREPPCC" , "PP" , NIL})
AADD(aCab,{"W2_COND_PA" , "GN " , NIL})
AADD(aCab,{"W2_MOEDA" , "US$" , NIL})
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" , "PA-001" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 1 , NIL},;
{"W3_PRECO" , 101.00000 , NIL},;
{"W3_FABR" , "GEN-01" , NIL},;
{"W3_FABLOJ" , "00" , NIL},;
{"W3_FORN" , "GEN-00" , NIL},;
{"W3_FORLOJ" , "00" , NIL},;
{"W3_QTDE" , 11.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 2.90000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL},;
{"W3_SI_NUM" , "SITET1", NIL}})
aAdd(aItem,{;
{"W3_COD_I" , "PA-001" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 2 , NIL},;
{"W3_PRECO" , 102.00000 , NIL},;
{"W3_FABR" , "GEN-01" , NIL},;
{"W3_FABLOJ" , "00" , NIL},;
{"W3_FORN" , "GEN-00" , NIL},;
{"W3_FORLOJ" , "00" , NIL},;
{"W3_QTDE" , 45.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 3.30000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL},;
{"W3_SI_NUM" , "SITET1", NIL}})
aAdd(aItem,{;
{"W3_COD_I" , "GEN-00" , NIL},;
{"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},;
{"W3_FORN" , "GEN-00" , NIL},;
{"W3_FORLOJ" , "00" , NIL},;
{"W3_QTDE" , 10.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 3.30000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL},;
{"W3_SI_NUM" , "SITET1" , NIL}}) //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 , NIL})
AADD(aCab,{"W2_FORN" , "GEN-00" , NIL})
AADD(aCab,{"W2_FORLOJ" , "00" , NIL})
AADD(aCab,{"W2_COMPRA" , "GEN" , NIL})
AADD(aCab,{"W2_IMPORT" , "GN" , NIL})
AADD(aCab,{"W2_AGENTE" , "GN2" , NIL})
AADD(aCab,{"W2_TIPO_EM" , "GN" , NIL})
AADD(aCab,{"W2_ORIGEM" , "SPO" , NIL})
AADD(aCab,{"W2_DEST" , "GRU" , NIL})
AADD(aCab,{"W2_INCOTER" , "CIF" , NIL})
AADD(aCab,{"W2_FREPPCC" , "PP" , NIL})
AADD(aCab,{"W2_COND_PA" , "GN " , NIL})
AADD(aCab,{"W2_MOEDA" , "US$" , NIL})
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" , "PA-001" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 1 , NIL},;
{"W3_PRECO" , 101.00000 , NIL},;
{"W3_FABR" , "GEN-01" , NIL},;
{"W3_FABLOJ" , "00" , NIL},;
{"W3_FORN" , "GEN-00" , NIL},;
{"W3_FORLOJ" , "00" , NIL},;
{"W3_QTDE" , 11.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 2.90000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL},;
{"W3_SI_NUM" , "SITET1", NIL}})
aAdd(aItem,{;
{"W3_COD_I" , "PA-001" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 2 , NIL},;
{"W3_PRECO" , 102.00000 , NIL},;
{"W3_FABR" , "GEN-01" , NIL},;
{"W3_FABLOJ" , "00" , NIL},;
{"W3_FORN" , "GEN-00" , NIL},;
{"W3_FORLOJ" , "00" , NIL},;
{"W3_QTDE" , 45.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 3.30000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL},;
{"W3_SI_NUM" , "SITET1", NIL}})
aAdd(aItem,{;
{"W3_COD_I" , "GEN-00" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 3 , NIL},;
{"W3_PRECO" , 103.00000 , NIL},;
{"W3_FABR" , "GEN-01" , NIL},;
{"W3_FABLOJ" , "00" , NIL},;
{"W3_FORN" , "GEN-00" , NIL},;
{"W3_FORLOJ" , "00" , NIL},;
{"W3_QTDE" , 10.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 3.30000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL},;
{"W3_SI_NUM" , "SITET1" , NIL},;
{"AUTDELETA" , "S" , NIL}}) //Informa que este item deve ser deletado no PO. Seu saldo retornará para o item 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
|
|
Card |
---|
| Para a realização da exclusão do Purchase Order via rotina automática, é necessário apenas que seja enviado as informações referente a capa do PO, podendo também, de forma opcional, enviar os dados dos itens.
Bloco de código |
---|
language | py |
---|
theme | Eclipse |
---|
title | Modelo de Exclusão do Purchase Order por rotina automática |
---|
linenumbers | 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:= 5 //Opção a ser executada. -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-0004" , NIL})
AADD(aCab,{"W2_PO_DT" , dDataBase , NIL})
AADD(aCab,{"W2_FORN" , "0001 " , NIL})
AADD(aCab,{"W2_FORLOJ" , "01" , NIL})
AADD(aCab,{"W2_COMPRA" , "GEN" , NIL})
AADD(aCab,{"W2_IMPORT" , "GN" , NIL})
AADD(aCab,{"W2_AGENTE" , "GN " , NIL})
AADD(aCab,{"W2_TIPO_EM" , "GN" , NIL})
AADD(aCab,{"W2_ORIGEM" , "SPO" , NIL})
AADD(aCab,{"W2_DEST" , "GRU" , NIL})
AADD(aCab,{"W2_INCOTER" , "CIF" , NIL})
AADD(aCab,{"W2_FREPPCC" , "PP" , NIL})
AADD(aCab,{"W2_COND_PA" , "GN " , NIL})
AADD(aCab,{"W2_MOEDA" , "US$" , NIL})
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 , NIL},;
{"W3_PRECO" , 100.00000 , NIL},;
{"W3_FABR" , "0001 " , NIL},;
{"W3_FABLOJ" , "01" , NIL},;
{"W3_FORN" , "0001 " , NIL},;
{"W3_FORLOJ" , "01" , NIL},;
{"W3_QTDE" , 10.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 2.90000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL}})
aAdd(aItem,{;
{"W3_COD_I" , "GEN-00" , NIL},;
{"W3_CC" , "GEN00" , NIL},;
{"W3_REG" , 2 , NIL},;
{"W3_PRECO" , 100.00000 , NIL},;
{"W3_FABR" , "0001 " , NIL},;
{"W3_FABLOJ" , "01" , NIL},;
{"W3_FORN" , "0001 " , NIL},;
{"W3_FORLOJ" , "01" , NIL},;
{"W3_QTDE" , 15.000 , NIL},;
{"W3_DT_EMB" , dDataBase , NIL},;
{"W3_DT_ENTR", dDataBase , NIL},;
{"W3_PESOL" , 3.30000000 , NIL},;
{"W3_PESO_BR", 1.000000 , NIL}})
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
|
|
|