Árvore de páginas

Versões comparadas

Chave

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

...

Descrição:

Possibilita a realização das manutenções do Pedido de Exportação, tais como Inclusão, Alteração e Exclusão através do mecanismo de rotina automática.

Produto:

Microsiga Protheus

Segmento:Comércio Exterior
Módulo:SIGAEEC - Easy Export Control
Rotina:
RotinaNome Técnico
EECAP100.PRW

Manutenção Pedidos de exportação

EECAP101.PRWManutenção de Pedidos de Exportação
EECAP102.PRWManutenção de Pedidos de Exportação
AVGERAL.PRWFunção genérica para os módulos de Comércio Exterior
UPDEEC.PRWFunções de atualização de dicionários do módulo de Exportação - SIGAEEC
País(es):Todos
Banco(s) de Dados:Todos Homologados pela TOTVS
Tabelas Utilizadas:

EE7 - Capa do Pedidos de Exportação

EE8 - Itens do Pedidos de Exportação

EEN - Notifys

EXB - Agenda de Atividades/Documentos

EEB - Agentes de um Pedido

Parâmetros:
NomeTipoDescriçãoObrigatório
nOpcNuméricoOpção: 3=Incluir; 4=Alterar; 5=Excluir;
X
aDadosArray of RecordArray com os dados para integração automáticaX

Observações:

Alguns campos das tabelas de pedidos podem receber o tratamento via dicionario de dados (SX3), o qual permite ser utilizado somente por alguns módulos (X3_USADO).
Para esses casos é necessário executar a preparação do ambiente passando a opção do módulo ativo.

Exemplo: PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" Modulo "EEC" TABLES "EE7", "EE8","EEB", "EEN","EXB"

Exemplo
Bloco de código
languageactionscript3
linenumberstrue
#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

...