Histórico da Página
Incluir Página | ||
---|---|---|
|
...
|
...
Descrição:
...
Possibilita a realização das manutenções do Embarque de Exportação, tais como Inclusão, Alteração e Exclusão, através do mecanismo de rotina automática.
...
Produto:
...
Microsiga Protheus
...
Rotina | Nome Técnico |
---|---|
EECAE100.PRW | Manutenção de Embarques de processos de exportação |
EECAE102.PRW | Manutenção de Embarques de Exportação |
EECAP106.PRW | Manutenção de Embarques de Exportação |
AVGERAL.PRW | Função genérica para os módulos de Comércio Exterior |
UPDEEC.PRW | Funções de atualização de dicionários do módulo de Exportação - SIGAEEC |
...
EEC - Capa do Embarque de Exportação
EE9 - Itens do Embarque de Exportação
EXL - Dados Complementares do Embarque
EEN - Notify
EXB - Agenda de Atividades/Documentos
EEB - Agentes de um Pedido
...
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
nOpc | Numérico | Opção: 3=Incluir; 4=Alterar; 5=Excluir; | X |
aDados | Array of Record | Array com os dados para integração automática | X |
...
Observações:
...
|
...
Exemplo: PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" Modulo "EEC" TABLES "EEC,EE9"
...
|
...
Para realizar a integração automática de um Embarque de Exportação, é necessária a utilização da função MsExecAuto. Para isso, deve ser utilizado o programa EECAE100, responsável pela manutenção dos embarques.
A utilização da rotina automática, depende da passagem de duas informações para que possa ser executada, sendo a primeira delas, a opção que se deseja realizar, ou seja, é necessário informar para a rotina se a operação que será realizada é uma Inclusão, uma Alteração ou uma Exclusão, e a segunda informação obrigatória, é o array com as informações a serem integradas.
Este array com os dados da integração, devem ser informados seguindo o seguinte critério:
Deve ser montado um único array de dados, sendo este responsável por enviar tanto as informações da capa do processo de exportação, quanto os itens e seus auxiliares (os auxiliares são opcionais).
...
|
...
Aviso | ||
---|---|---|
| ||
A rotina automática para integração de Embarques de Exportação somente está disponível para processos do tipo regular, não sendo possível integrar processos de Intermediação, Back to Back e Remessa. |
Vinculação automática de Adiantamento ao Embarque de Exportação
Para realizar a vinculação automática de um adiantamento ao Embarque, é necessário que o Importador/Cliente utilizado no Processo, possua adiantamento com Saldo. Para que esta integração ocorra, é necessário que seja enviado pela
|
A estrutura do Array deve constar os dados do Processo (Tabela EEC) contendo os campos chave do Embarque (EEC_FILIAL e EEC_PREEMB) e também os dados do adiantamento (Tabela EEQ).
- Para a Vinculação do adiantamento, é importante que seja enviado os campos de Fase do Adiantamento (EEQ_FASE), Processo (EEQ_PREEMB), Parcela (EEQ_PARC) e o Valor a ser associado, que deve ser enviado com a tag AUTVALVINC;
- Para a exclusão de uma associação, existem duas formas de ser efetuada. No primeiro cenário, a exclusão pode ser feita informando o número da parcela da associação (que pode não ser o mesmo número da parcela do adiantamento que foi utilizado neste associação). Neste caso, junto com a parcela (EEQ_PARC), deve ser informado a Fase (EEQ_FASE) e o Processo (EEQ_PREEMB) referente a associação. No segundo cenário, a exclusão pode ser feita informando para o sistema o número da parcela do adiantamento que foi associado ao Embarque. Neste caso, os campos a serem informados para o Array devem ser os campos referente a Parcela de Origem, sendo eles Parcela de Origem (EEQ_PAOR), Fase de Origem (EEQ_FAOR) e Processo de Origem (EEQ_PROR). É importante dizer, que ao enviar qualquer um destes campos de Origem, o sistema já irá tratar como uma exclusão através da origem, então para que a parcela seja localizada, os três campos sempre deverão ser enviados.
Abaixo temos 3 exemplos de integração automática do embarque de exportação, sendo na sequência uma Inclusão, uma Alteração e uma Excluisão e também um exemplo para Vinculação e Exclusão da Vinculação de um Adiantamento com o Embarque:
Inclusão automática do Embarque de Exportação
...
|
...
...
language | actionscript3 |
---|---|
linenumbers | true |
...
|
...
Alteração automática do Embarque de Exportação
IMPORTANTE: Para a alteração do Embarque de Exportação, é obrigatório que os itens tenham em sua estrutura o campo EE9_SEQEMB, pois este campo é responsável pela definição de cada item do embarque (Na Inclusão, este campo não precisa ser informado). Caso a alteração do embarque seja para a inclusão de um novo item ao Processo, os itens já existentes devem ser informado o campo EE9_SEQEMB e o item novo que está sendo incluído, não deve enviar o campo EE9_SEQEMB, pois o próprio sistema deve definir qual será a sequência deste novo item.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#Include "Totvs.Ch"
#include "tbiconn.ch"
User Function MyEECAE100()
Local aCab := {}
Local aItens := {}
Local aDados := {}
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'Administrador' PASSWORD '' TABLES 'EEC,EE9' MODULO 'EEC'
//Dados da Capa do Embarque
aCab :={{'EEC_PREEMB' , "EMB-AUT001" ,NIL},;
{'EEC_IMPORT' ,'001' ,NIL},;
{'EEC_IMLOJA' ,'01' ,NIL},;
{'EEC_IMPODE' ,"CLIENTE 001" ,NIL},;
{'EEC_FORN' ,'001' ,NIL},;
{'EEC_FOLOJA' ,'01' ,NIL},;
{'EEC_IDIOMA' ,"PORT. -PORTUGUES" ,NIL},;
{'EEC_CONDPA' ,"001" ,NIL},;
{'EEC_DIASPA' , 0 ,NIL},;
{'EEC_MPGEXP' ,'001' ,NIL},;
{'EEC_INCOTE' ,'FOB' ,NIL},;
{'EEC_MOEDA' ,'US$' ,NIL},;
{'EEC_FRPPCC' ,'PP' ,NIL},;
{'EEC_UNIDAD' ,'KG' ,NIL},;
{'EEC_EMBAFI' ,' ' ,NIL},;
{'EEC_CALCEM' ,'1' ,NIL},;
{'EEC_VIA' ,'02' ,NIL},;
{'EEC_ORIGEM' ,'SSZ' ,NIL},;
{'EEC_DEST' ,'HST' ,NIL},;
{'EEC_PAISET' ,'249' ,NIL},;
{'EEC_VIA_DE' ,"NOME DA VIA" ,NIL},;
{'EEC_TIPTRA' ,'1' ,NIL}}
aAdd(aDados, {"EEC", aCab})
//Dados dos Itens do Embarque
aItens := {}
aAdd(aItens, {{'EE9_PEDIDO' ,"EMB-AUT001" , NIL},;
{'EE9_SEQUEN' ,"1" , NIL},;
{'EE9_SEQEMB' ,"1" , NIL},;
{'EE9_COD_I' ,'001' , NIL},;
{'EE9_FORN' ,'001' , NIL},;
{'EE9_FOLOJA' ,'01' , NIL},;
{'EE9_SLDINI' , 3737.95 , NIL},;
{'EE9_QE' ,197 , NIL},;
{'EE9_QTDEM1' ,19 , NIL},;
{'EE9_EMBAL1' ,'01' , NIL},;
{'EE9_PSLQUN' ,200 , NIL},;
{'EE9_PRECO' ,2100 , NIL},;
{'EE9_PLSQUN' ,200 , NIL},;
{'EE9_TES' ,"501" , NIL},;
{'EE9_CF' ,"999" , NIL},;
{'EE9_POSIPI' ,"01011010" , NIL}})
aAdd(aItens, {{'EE9_PEDIDO' ,"EMB-AUT001" , NIL},;
{'EE9_SEQUEN' ,"2 " , NIL},;
{'EE9_SEQEMB' ,"2" , NIL},;
{'EE9_COD_I' ,'002' , NIL},;
{'EE9_FORN' ,'001' , NIL},;
{'EE9_FOLOJA' ,'01' , NIL},;
{'EE9_SLDINI' , 40 , NIL},;
{'EE9_QE' , 20 , NIL},;
{'EE9_QTDEM1' , 2 , NIL},;
{'EE9_EMBAL1' , '01' , NIL},;
{'EE9_PSLQUN' ,200 , NIL},;
{'EE9_PRECO' ,2100 , NIL},;
{'EE9_PLSQUN' ,200 , NIL},;
{'EE9_TES' ,"501" , NIL},;
{'EE9_CF' ,"999" , NIL},;
{'EE9_POSIPI' ,"01011010" , NIL}})
aAdd(aDados, {"EE9", aItens})
//-------Inclusão de Auxiliares
//Notify
aNotifys := {}
aNotify := {}
aAdd(aNotify, {"EEN_IMPORT", "001" , Nil})
aAdd(aNotify, {"EEN_IMLOJA", "01" , Nil})
aAdd(aNotifys, aNotify)
aAdd(aDados, {"EEN", aNotifys})
//Agenda de Documentos
aDocs := {}
aDoc := {}
aAdd(aDoc, {"EXB_CODATV", "05" , Nil})
aAdd(aDoc, {"EXB_TIPO" , "1" , Nil})
aAdd(aDocs, aDoc)
aAdd(aDados, {"EXB", aDocs})
//Agentes
aAgentes := {}
aAgente := {}
aAdd(aAgente, {"EEB_CODAGE", "002" , Nil})
aAdd(aAgente, {"EEB_TIPCOM", "1" , Nil})
aAdd(aAgente, {"EEB_TIPCVL", "1" , Nil})
aAdd(aAgente, {"EEB_VALCOM", 10, Nil})
aAdd(aAgente, {"EEB_REFAGE", "TESTE", Nil})
aAdd(aAgentes, aAgente)
aAdd(aDados, {"EEB", aAgentes})
MsAguarde({|| MSExecAuto( {|aAux, nOpc| EECAE100(,nOpc,aAux) },aDados, 4) }, "Integrando Embarque Automático")
If lMsErroAuto
MostraErro()
Else
MsgInfo("Executado com sucesso!", "Aviso")
EndIf
RESET ENVIRONMENT
Return !lMsErroAuto
|
Exclusão automática do Embarque de Exportação
IMPORTANTE: Para a Exclusão do Embarque de Exportação e seus auxiliares, é obrigatório que seja informado nas estruturas que contém as informações dos campos a serem gravados, uma nova opção com o nome AUTDELETA e o conteúdo S ( Exemplo: {"AUTDELETA" ,"S" , Nil} ). Esta informação é responsável por identificar o que deverá ser excluído pelo sistema.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "Totvs.Ch"
#include "tbiconn.ch"
User Function MyEECAE100()
Local aCab := {}
Local aItens := {}
Local aDados := {}
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'Administrador' PASSWORD '' TABLES 'EEC,EE9' MODULO 'EEC'
//Dados da Capa do Embarque
aCab :={{'EEC_PREEMB' , "EMB-AUT001" ,NIL},;
{'EEC_IMPORT' ,'001' ,NIL},;
{'EEC_IMLOJA' ,'01' ,NIL},;
{'EEC_IMPODE' ,"CLIENTE 001" ,NIL},;
{'EEC_FORN' ,'001' ,NIL},;
{'EEC_FOLOJA' ,'01' ,NIL},;
{'EEC_IDIOMA' ,"PORT. -PORTUGUES" ,NIL},;
{'EEC_CONDPA' ,"001" ,NIL},;
{'EEC_DIASPA' , 0 ,NIL},;
{'EEC_MPGEXP' ,'001' ,NIL},;
{'EEC_INCOTE' ,'FOB' ,NIL},;
{'EEC_MOEDA' ,'US$' ,NIL},;
{'EEC_FRPPCC' ,'PP' ,NIL},;
{'EEC_UNIDAD' ,'KG' ,NIL},;
{'EEC_EMBAFI' ,' ' ,NIL},;
{'EEC_CALCEM' ,'1' ,NIL},;
{'EEC_VIA' ,'02' ,NIL},;
{'EEC_ORIGEM' ,'SSZ' ,NIL},;
{'EEC_DEST' ,'HST' ,NIL},;
{'EEC_PAISET' ,'249' ,NIL},;
{'EEC_VIA_DE' ,"NOME DA VIA" ,NIL},;
{'EEC_TIPTRA' ,'1' ,NIL},;
{"AUTDELETA" ,"S" , Nil}}
aAdd(aDados, {"EEC", aCab})
//Dados dos Itens do Embarque
aItens := {}
aAdd(aItens, {{'EE9_PEDIDO' ,"EMB-AUT001" , NIL},;
{'EE9_SEQUEN' ,"1" , NIL},;
{'EE9_COD_I' ,'001' , NIL},;
{'EE9_FORN' ,'001' , NIL},;
{'EE9_FOLOJA' ,'01' , NIL},;
{'EE9_SLDINI' , 3737.95 , NIL},;
{'EE9_QE' ,197 , NIL},;
{'EE9_QTDEM1' ,19 , NIL},;
{'EE9_EMBAL1' ,'01' , NIL},;
{'EE9_PSLQUN' ,200 , NIL},;
{'EE9_PRECO' ,2100 , NIL},;
{'EE9_PLSQUN' ,200 , NIL},;
{'EE9_TES' ,"501" , NIL},;
{'EE9_CF' ,"999" , NIL},;
{'EE9_POSIPI' ,"01011010" , NIL},;
{"AUTDELETA" ,"S" , Nil}})
aAdd(aItens, {{'EE9_PEDIDO' ,"EMB-AUT001" , NIL},;
{'EE9_SEQUEN' ,"2 " , NIL},;
{'EE9_COD_I' ,'002' , NIL},;
{'EE9_FORN' ,'001' , NIL},;
{'EE9_FOLOJA' ,'01' , NIL},;
{'EE9_SLDINI' , 40 , NIL},;
{'EE9_QE' , 20 , NIL},;
{'EE9_QTDEM1' , 2 , NIL},;
{'EE9_EMBAL1' , '01' , NIL},;
{'EE9_PSLQUN' ,200 , NIL},;
{'EE9_PRECO' ,2100 , NIL},;
{'EE9_PLSQUN' ,200 , NIL},;
{'EE9_TES' ,"501" , NIL},;
{'EE9_CF' ,"999" , NIL},;
{'EE9_POSIPI' ,"01011010" , NIL},;
{"AUTDELETA" ,"S" , Nil}})
aAdd(aDados, {"EE9", aItens})
//-------Inclusão de Auxiliares
//Notify
aNotifys := {}
aNotify := {}
aAdd(aNotify, {"EEN_IMPORT", "001" , Nil})
aAdd(aNotify, {"EEN_IMLOJA", "01" , Nil})
aAdd(aNotify, {"AUTDELETA" ,"S" , Nil})
aAdd(aNotifys, aNotify)
aAdd(aDados, {"EEN", aNotifys})
//Agenda de Documentos
aDocs := {}
aDoc := {}
aAdd(aDoc, {"EXB_CODATV", "05" , Nil})
aAdd(aDoc, {"EXB_TIPO" , "1" , Nil})
aAdd(aDoc, {"AUTDELETA" ,"S" , Nil})
aAdd(aDocs, aDoc)
aAdd(aDados, {"EXB", aDocs})
//Agentes
aAgentes := {}
aAgente := {}
aAdd(aAgente, {"EEB_CODAGE", "002" , Nil})
aAdd(aAgente, {"EEB_TIPCOM", "1" , Nil})
aAdd(aAgente, {"EEB_TIPCVL", "1" , Nil})
aAdd(aAgente, {"EEB_VALCOM", 10 , Nil})
aAdd(aAgente, {"EEB_REFAGE", "TESTE" , Nil})
aAdd(aAgente, {"AUTDELETA" ,"S" , Nil})
aAdd(aAgentes, aAgente)
aAdd(aDados, {"EEB", aAgentes})
MsAguarde({|| MSExecAuto( {|aAux, nOpc| EECAE100(,nOpc,aAux) },aDados, 5) }, "Integrando Embarque Automático")
If lMsErroAuto
MostraErro()
Else
MsgInfo("Executado com sucesso!", "Aviso")
EndIf
RESET ENVIRONMENT
Return !lMsErroAuto
|
Vinculação automática de Adiantamento de Importador/Cliente no Embarque de Exportação
IMPORTANTE: Para a Vinculação do adiantamento, o valor a ser associado deve ser enviado na Tag AUTVALVINC (Exemplo: {"AUTVALVINC", nvalor, Nil} ). Já para a Exclusão da vinculação, é necessário enviar a Tag AUTDELETA e o conteúdo S ( Exemplo: {"AUTDELETA" ,"S" , Nil} ).
...
language | actionscript3 |
---|---|
linenumbers | true |
...
|