Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagepy
themeEclipse
titleModelo de Inclusão do Purchase Order por rotina automática
linenumberstrue
collapsetrue
#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


  • Alteração

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.


Bloco de código
languagepy
themeEclipse
titleModelo de Alteração do Purchase Order por rotina automática
linenumberstrue
collapsetrue
#Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'
  
User Function PO400Auto1PO400Auto()
  
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-0001" 		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})
      , 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"  ,  12.0000000090000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;     
      {"W3_SALDOSI_Q",  0.000           , NIL},;
      {"W3_SI_NUM" ,  "SI0001"		  ,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"  ,  13.0000000030000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;     
      {"W3_SALDOSI_QNUM" ,  0.000           , NIL},;
 "SSSST6",     {"W3_SI_NUM" ,  "SI0001"		  , 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


  • Exclusão

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
languagepy
themeEclipse
titleModelo de Exclusão do Purchase Order por rotina automática
linenumberstrue
collapsetrue
#Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'
  
User Function PO400Auto1PO400Auto()
  
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" 		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"AGENTE"  , "GN "      , "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_PESOLDT_EMB" , , dDataBase 1.00000000      , NIL},;
      {"W3_PESODT_BRENTR",  1.000000 dDataBase       , NIL},;     
      {"W3_SALDO_QPESOL"  ,  02.00090000000           , NIL},;
      {"W3_SIPESO_NUM" ,  "SI0001"		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"  ,  13.0000000030000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;     
      {"W3_SALDO_Q",  0.000           , NIL},;
      {"W3_SI_NUM" ,  "SI0001"		  , 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


03. Tabelas Utilizadas

...