CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Tabelas utilizadas
01. VISÃO GERAL
O Easy Import Control (SIGAEIC) disponibiliza a utilização de rotinas automáticas para a manutenção das despesas para o processo. Para isso, deve ser utilizado um rdmake que faça a chamada via Execauto da rotina DI500Main, permitindo assim realizar a manutenção de inclusão, alteração e exclusão das despesas.
A rotina recebe os seguintes parâmetros:
Ordem | Parâmetro | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
1 | Nulo | Utilizado internamente. | |||
2 | Nulo | Utilizado internamente. | |||
3 | aProcesso | Dados do processo (embarque) | Sim | ||
4 | aDespesas | Dados das despesas do processo | Sim | ||
5 | Opção | Opção para a Despesa (valor 7) | Sim |
02. EXEMPLO DE UTILIZAÇÃO
Segue abaixo exemplos de execução da rotina automação para inclusão, alteração e exclusão de despesas do processo.
Para realizar alguma manutenção das despesas do processo, é como premissa:
- Informar o código do processo (embarque/desembaraço) no vetor aProcesso para identificação no sistema.
- Informar uma ou mais despesas no vetor aDespesas, adicionando uma ou mais despesas conforme a necessidade.
Observação
A informação do campo filial é carregada pelo sistema de acordo com a empresa/filial informada na abertura do ambiente.
O sistema realiza a pesquisa de acordo com o primeiro índice da tabela SWD (Filial+Processo+Despesa+Data ). Caso deseja realizar uma alteração ou exclusão, é de extrema necessidade informar esses dados, caso contrário é considerado uma inclusão.
Para que o sistema identifique se é uma alteração de uma despesa, será validado se já se encontra cadastrada no sistema, caso contrário será considerado uma inclusão.
#include 'protheus.ch' #include 'totvs.ch' user function DespExecAuto() local aProcesso := {} local aDespesas := {} local cHawb := "" private lMsErroAuto := .F. RpcSetType(3) if RPCSetEnv("99", "01", nil, nil, "EIC", nil, {"SW6", "SWD"}) cHawb := "PROC-0001" aProcesso := {"W6_HAWB", cHawb, nil } // inclui uma despesa aAdd(aDespesas ,{; {"WD_HAWB" , cHawb , nil },; {"WD_DESPESA" , "404" , nil },; {"WD_DES_ADI" , dDataBase , nil },; {"WD_VALOR_R" , 830.99 , nil },; {"WD_BASEADI" , "2" , nil },; {"WD_PAGOPOR" , "1" , nil }}) MSExecAuto({|a,b,c,d,e| DI500Main(a,b,c,d,e)}, nil , nil , aProcesso , aDespesas , 7 ) If lMsErroAuto MostraErro() Else MsgInfo("Despesa incluída ou alterada com sucesso.") EndIf RpcClearEnv() endif return .T.
Para que o sistema identifique se é uma exclusão de uma despesa, é de extrema importância informar no vetor aDespesas o contéudo AUTDELETA com a informação S e também que a despesa esteja cadastrada no sistema.
#include 'protheus.ch' #include 'totvs.ch' user function DespExecAuto() local aProcesso := {} local aDespesas := {} local cHawb := "" private lMsErroAuto := .F. RpcSetType(3) if RPCSetEnv("99", "01", nil, nil, "EIC", nil, {"SW6", "SWD"}) cHawb := "PROC-0001" aProcesso := {"W6_HAWB", cHawb, nil } // deleta uma despesa aAdd(aDespesas,{; {"WD_DESPESA" , "404" , nil },; {"WD_HAWB" , cHawb , nil },; {"WD_DES_ADI" , dDataBase , nil },; {"AUTDELETA" , "S" , nil }}) MSExecAuto({|a,b,c,d,e| DI500Main(a,b,c,d,e)}, nil , nil , aProcesso,aDespesas, 7 ) If lMsErroAuto MostraErro() Else MsgInfo("Despesa excluída com sucesso.") EndIf RpcClearEnv() endif return .T.
03. TABELAS UTILIZADAS
- SW6 - Capa Declaração de Importação
- SWD - Despesas Declaração Importação