Árvore de páginas

Versões comparadas

Chave

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

...

Exemplo
Bloco de código
languageactionscript3
linenumberstrue
#include 'protheus.ch'#INCLUDE "TOTVS.CH"


User Function MyEECAP100()
Local lRot := .T.
Local cPedido := "0000000001"
Private aPDocs       := {}
Private aPPedidos    := {}
Private aPAgentes    := {}
Private aPNotifys    := {}
Private aPProdutos   := {}
Private aCondPag    := {}
Private aEmb        := {}

/************************
//Inicializa o ambiente
*************************/
RpcSetType(3)
RpcSetEnv("99", "01")
nModulo := 29
cModulo := "EEC"
__CUSERID := "000000"

while lRot 
    //Executa a integração para Incluir o Pedido
    If MsgYesNo("Deseja Incluir o Pedido e Auxiliares?", "Aviso")
        IncAP100(cPedido, 3, 3)
    //Executa a Alteração Alterando o Pedido e Reenviando os Auxiliares
    elseIf MsgYesNo("Deseja Alterar o Pedido e Auxiliares?", "Aviso")
        IncAP100(cPedido, 4, 4)
    //Executa a Alteração Alterando o Pedido e Excluindo os Auxiliares
    elseIf MsgYesNo("Deseja Alterar o Pedido e Excluir Auxiliares?", "Aviso")
        IncAP100(cPedido, 4, 5)
    //Executa a Alteração Excluindo o Pedido
    elseIf MsgYesNo("Deseja Excluir o Pedido?", "Aviso")
        IncAP100(cPedido, 5, 5)
    elseIf MsgYesNo("Deseja parar a rotina?", "Aviso")
        lRot := .F.
    EndIf

enddo

Return Nil
/*****************************************************************
******************************************************************/
Static Function IncAP100(cProcesso, nOpc, nOpcDet)
Local aCab := {}, aItens := {}, aAux := {}
Local nP := 0, nI, nN, nD, nA
Local cFornece := ""
Local cFoLoja := ""
Private lMsErroAuto := .f.

aPDocs       := {}
aPPedidos    := {}
aPAgentes    := {}
aPNotifys    := {}
aPProdutos   := {}
aCondPag     := {}
aEmb         := {}

aItens := {}
aItem := {}

if nOpc == 3

      aCab := {}
      aadd( aCab , {'EE7_PEDIDO'   , cPedido                 , NIL} )
      aadd( aCab , {'EE7_IMPORT'   , "000001"                , NIL} )
      aadd( aCab , {'EE7_IMLOJA'   , "01"                    , NIL} )
      aadd( aCab , {'EE7_IMPODE'   , "NOME CLIENTE"          , NIL} )
      aadd( aCab , {'EE7_FORN'     , "000001"                , NIL} )
      aadd( aCab , {'EE7_FOLOJA'   , "01"                    , NIL} )
      aadd( aCab , {'EE7_IDIOMA'   , "INGLES-INGLES"         , NIL} )
      aadd( aCab , {'EE7_CONDPA'   , "00001"                 , NIL} )
      aadd( aCab , {'EE7_INCOTE'   , 'FOB'                   , NIL} )
      aadd( aCab , {'EE7_MOEDA'    , 'US$'                   , NIL} )
      aadd( aCab , {'EE7_CALCEM'   , '1'                     , NIL} )
      aadd( aCab , {'EE7_VIA'      , "001"                   , NIL} )

      aAdd(aItem, {'EE8_SEQUEN'    , str(1)                  , NIL} )
      aAdd(aItem, {'EE8_COD_I'     , "0000000001"            , NIL} )
      aAdd(aItem, {'EE8_FORN'      , "000001"                , NIL} )
      aAdd(aItem, {'EE8_FOLOJA'    , "01"                    , NIL} )
      aAdd(aItem, {'EE8_SLDINI'    , 100                     , NIL} )
      aAdd(aItem, {'EE8_EMBAL1'    , "001"                   , NIL} )
      aAdd(aItem, {'EE8_QE'        , 1                       , NIL} )
      aAdd(aItem, {'EE8_PRECO '    , 100                     , NIL} )
      aAdd(aItem, {'EE8_PLSQUN'    , 1                       , NIL} )
      aAdd(aItem, {'EE8_TES'       , "501"                   , NIL} )
      aAdd(aItem, {'EE8_POSIPI'    , "00000000"              , NIL} )
      aAdd(aItem, {"AUTDELETA"     , "N"                     , Nil} )
      AADD( aItens, aClone(aItem))
      aItem := {}

Elseif nOpc == 4
      aadd( aCab , {'EE7_PEDIDO'   , cPedido                 , NIL} )
      aadd( aCab , {'EE7_IMPORT'   , "000001"                , NIL} )
      aadd( aCab , {'EE7_IMLOJA'   , "01"                    , NIL} )
      aadd( aCab , {'EE7_IMPODE'   , "NOME CLIENTE"          , NIL} )
      aadd( aCab , {'EE7_FORN'     , "000001"                , NIL} )
      aadd( aCab , {'EE7_FOLOJA'   , "01"                    , NIL} )
      aadd( aCab , {'EE7_IDIOMA'   , "INGLES-INGLES"         , NIL} )
      aadd( aCab , {'EE7_CONDPA'   , "00002"                 , NIL} )
      aadd( aCab , {'EE7_INCOTE'   , 'FOB'                   , NIL} )
      aadd( aCab , {'EE7_MOEDA'    , 'US$'                   , NIL} )
      aadd( aCab , {'EE7_CALCEM'   , '1'                     , NIL} )
      aadd( aCab , {'EE7_VIA'      , "002"                   , NIL} )

      aAdd(aItem, {'EE8_SEQUEN'    , str(1)                  , NIL} )
      aAdd(aItem, {'EE8_COD_I'     , "0000000001"            , NIL} )
      aAdd(aItem, {'EE8_FORN'      , "000001"                , NIL} )
      aAdd(aItem, {'EE8_FOLOJA'    , "01"                    , NIL} )
      aAdd(aItem, {'EE8_SLDINI'    , 100                     , NIL} )
      aAdd(aItem, {'EE8_EMBAL1'    , "001"                   , NIL} )
      aAdd(aItem, {'EE8_QE'        , 1                       , NIL} )
      aAdd(aItem, {'EE8_PRECO '    , 100                     , NIL} )
      aAdd(aItem, {'EE8_PLSQUN'    , 1                       , NIL} )
      aAdd(aItem, {'EE8_TES'       , "501"                   , NIL} )
      aAdd(aItem, {'EE8_POSIPI'    , "00000000"              , NIL} )
      aAdd(aItem, {"AUTDELETA"     , "S"                     , Nil} )
      AADD( aItens, aClone(aItem))
      aItem := {}

      aAdd(aItem, {'EE8_SEQUEN'    , str(1)                  , NIL} )
      aAdd(aItem, {'EE8_COD_I'     , "0000000002"            , NIL} )
      aAdd(aItem, {'EE8_FORN'      , "000001"                , NIL} )
      aAdd(aItem, {'EE8_FOLOJA'    , "01"                    , NIL} )
      aAdd(aItem, {'EE8_SLDINI'    , 200                     , NIL} )
      aAdd(aItem, {'EE8_EMBAL1'    , "002"                   , NIL} )
      aAdd(aItem, {'EE8_QE'        , 2                       , NIL} )
      aAdd(aItem, {'EE8_PRECO '    , 200                     , NIL} )
      aAdd(aItem, {'EE8_PLSQUN'    , 2                       , NIL} )
      aAdd(aItem, {'EE8_TES'       , "501"                   , NIL} )
      aAdd(aItem, {'EE8_POSIPI'    , "00000000"              , NIL} )
      aAdd(aItem, {"AUTDELETA"     , "N"                     , Nil} )
      AADD( aItens, aClone(aItem))
      aItem := {}

elseIf nOpc == 5
      aadd( aCab , {'EE7_PEDIDO'   , cPedido                 , NIL} )
      aadd( aCab , {'EE7_IMPORT'   , "000001"                , NIL} )
      aadd( aCab , {'EE7_IMLOJA'   , "01"                    , NIL} )
      aadd( aCab , {'EE7_FORN'     , "000001"                , NIL} )
      aadd( aCab , {'EE7_FOLOJA'   , "01"                    , NIL} )
      aAdd( aCab , {"AUTDELETA"    ,"S"                      , Nil})

      aAdd(aItem, {'EE8_SEQUEN'    , str(1)                  , NIL} )
      aAdd(aItem, {'EE8_COD_I'     , "0000000002"            , NIL} )
      aAdd(aItem, {'EE8_FORN'      , "000001"                , NIL} )
      aAdd(aItem, {'EE8_FOLOJA'    , "01"                    , NIL} )
      aAdd(aItem, {"AUTDELETA"     ,"S"                      , Nil} )
      AADD( aItens, aClone(aItem))
      aItem := {}

EndIf

// Complementos dos pedido Notifys, Documentos e Agentes
If alltrim(str(nOpcDet)) $ "3|4|5" .and. nOpc <> 5
   aAux := {}

   // Notifys
   aNotifys := {}
   aNotify := {}

   if nOpcDet == 3 // inclusão dos notifys

         aAdd(aNotify, {"EEN_IMPORT", "000001"        , Nil})
         aAdd(aNotify, {"EEN_IMLOJA", "01"            , Nil})

   elseif nOpcDet == 4 // alteração dos notifys

         aAdd(aNotify, {"EEN_IMPORT", "000001"        , Nil})
         aAdd(aNotify, {"EEN_IMLOJA", "01"            , Nil})
         aAdd(aNotify, {"AUTDELETA" , "S"             , Nil})

         aAdd(aNotify, {"EEN_IMPORT", "000002"        , Nil})
         aAdd(aNotify, {"EEN_IMLOJA", "01"            , Nil})
         aAdd(aNotify, {"AUTDELETA" , "N"             , Nil})


   elseIf nOpcDet == 5 // exclusão do notify

         aAdd(aNotify, {"EEN_IMPORT", "000001"        , Nil})
         aAdd(aNotify, {"EEN_IMLOJA", "01"            , Nil})
         aAdd(aNotify, {"AUTDELETA" , "S"             , Nil})

   EndIf
   aAdd(aNotifys, aNotify)
   aAdd(aAux, {"EEN", aNotifys})

   // Documentos
   aDocs := {}
   aDoc := {}
   if nOpcDet == 3 // inclusão dos Documentos

         aAdd(aDoc, {"EXB_TIPO"  , "1"           , Nil})
         aAdd(aDoc, {"EXB_CODATV", "01"          , Nil})

   elseif nOpcDet == 4 // alteração dos Documentos
   
         aAdd(aDoc, {"EXB_TIPO"  , "1"           , Nil})
         aAdd(aDoc, {"EXB_CODATV", "01"          , Nil})
         aAdd(aDoc, {"AUTDELETA" , "S"           , Nil})

         aAdd(aDoc, {"EXB_TIPO"  , "1"           , Nil})
         aAdd(aDoc, {"EXB_CODATV", "02"          , Nil})
         aAdd(aDoc, {"AUTDELETA" ,"N"            , Nil})

   elseIf nOpcDet == 5  // exclusão do documento

         aAdd(aDoc, {"EXB_TIPO"  , "1"           , Nil})
         aAdd(aDoc, {"EXB_CODATV", "02"          , Nil})
         aAdd(aDoc, {"AUTDELETA" , "S"           , Nil})

   EndIf
   aAdd(aDocs, aDoc)
   aAdd(aAux, {"EXB", aDocs})

   // Agentes
   aAgentes := {}
   aAgente := {}
   if nOpcDet == 3 // inclusão dos Agentes

         aAdd(aAgente, {"EEB_CODAGE", "001"           , Nil})
         aAdd(aAgente, {"EEB_TIPCOM", "1"             , Nil}) // 1-A Remeter | 2-Conta Grafcica | 3-Deduzir da Fatura
         aAdd(aAgente, {"EEB_TIPCVL", "2"             , Nil}) // 1-Percentual | 2-Valor Fixo | 3-Percentual por item
         aAdd(aAgente, {"EEB_VALCOM", nA*10           , Nil})
         aAdd(aAgente, {"EEB_REFAGE", "NOME AGENTE"   , Nil})

   elseif nOpcDet == 4 // alteração dos Agentes

         aAdd(aAgente, {"EEB_CODAGE", "001"           , Nil})
         aAdd(aAgente, {"EEB_TIPCOM", "1"             , Nil}) // 1-A Remeter | 2-Conta Grafcica | 3-Deduzir da Fatura
         aAdd(aAgente, {"EEB_TIPCVL", "2"             , Nil}) // 1-Percentual | 2-Valor Fixo | 3-Percentual por item
         aAdd(aAgente, {"EEB_VALCOM", nA*10           , Nil})
         aAdd(aAgente, {"EEB_REFAGE", "NOME AGENTE"   , Nil})
         aAdd(aAgente, {"AUTDELETA" ,"S" , Nil})

         aAdd(aAgente, {"EEB_CODAGE", "002"           , Nil})
         aAdd(aAgente, {"EEB_TIPCOM", "1"             , Nil}) // 1-A Remeter | 2-Conta Grafcica | 3-Deduzir da Fatura
         aAdd(aAgente, {"EEB_TIPCVL", "2"             , Nil}) // 1-Percentual | 2-Valor Fixo | 3-Percentual por item
         aAdd(aAgente, {"EEB_VALCOM", nA*10           , Nil})
         aAdd(aAgente, {"EEB_REFAGE", "NOME AGENTE"   , Nil})
         aAdd(aAgente, {"AUTDELETA" ,"N" , Nil})

   elseIf nOpcDet == 5  // exclusão do agente

         aAdd(aAgente, {"EEB_CODAGE", "002"           , Nil})
         aAdd(aAgente, {"EEB_TIPCOM", "1"             , Nil}) // 1-A Remeter | 2-Conta Grafcica | 3-Deduzir da Fatura
         aAdd(aAgente, {"EEB_TIPCVL", "2"             , Nil}) // 1-Percentual | 2-Valor Fixo | 3-Percentual por item
         aAdd(aAgente, {"AUTDELETA" ,"S" , Nil})

   EndIf
   aAdd(aAgentes, aAgente)
   aAdd(aAux, {"EEB", aAgentes})

EndIf

   // execução DA rotina utomática
   MsAguarde({|| MSExecAuto( {|X,Y,Z,Aux| EECAP100(X,Y,Z,Aux)},aCab ,aItens, nOpc, aAux) }, "Integrando Pedido Automático")

    If lMsErroAuto
        MostraErro()
        lMsErroAuto := .F.
    Else
        cAcao := iif( nOpc == 3 , " incluido",iif(nOpc==4," alterado"," excluido"))
        MsgInfo("Pedido "++ cAcao+" com sucesso!", "Aviso")
    EndIf

Next

Return