CONTEÚDO
|
Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | SIGAEIC |
Função: | EICPO400.PRW |
O Easy Import Control (SIGAEIC) disponibiliza a utilização de rotinas automáticas para a manutenção de Purchase Orders. Para isso, deve ser utilizado um rdmake que faça a chamada via Execauto da rotina EICPO400, responsável pela manutenção dos POs. Esta rotina espera receber um array com os dados da Capa do Purchase Order, e outro com os dados dos Itens. Também deve ser enviada a opção desejada, como Incluir, Alterar, ou Excluir.
Abaixo iremos abordar algumas características de cada opção.
Ao realizar a inclusão de um Purchase Order via rotina automática, é importante dizer que existem basicamente duas formas de ser realizada esta integração. Na primeira forma, é possível realizar a Inclusão do PO sem informar um número de SI (Solicitação de Importação), nestes casos, o sistema também efetuará a inclusão automática de uma SI para que a mesma seja vinculada ao PO. A segunda forma, é quando o sistema já possui SI gerada, neste caso, o número da SI deve ser informada nos itens do rdmake que será utilizado para a realização da integração.
|
#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:= 3 //Opção a ser executada. 3-Inclusã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-0003" , 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.70000000 , NIL},; {"W3_PESO_BR", 1.000000 , NIL}}) //{"W3_SI_NUM" , "4748-1", NIL}}) //A SI deve ser informada quando já possuir a solicitação gerada no sistema. QUando não informada, será gerada de forma automática 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.10000000 , NIL},; {"W3_PESO_BR", 1.000000 , NIL}}) //{"W3_SI_NUM" , "4748-2", NIL}}) //A SI deve ser informada quando já possuir a solicitação gerada no sistema. QUando não informada, será gerada de forma automática 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 |
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.
#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" , "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},; {"W3_SI_NUM" , "SSSST6", 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},; {"W3_SI_NUM" , "SSSST6", 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 |
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.
#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 |
SW0 - Capa de Solicitação Importação
SW1 - Itens Solicitação Importação
SW2 - Capa de Purchase Order
SW3 - Itens de Purchase Order
SW5 - Itens Preparação Licença Imp
SW6 - Capa Declaração de Importação
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |