Árvore de páginas

Versões comparadas

Chave

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

...

  • Para a integração da Capa do Embarque (Tabela EEC), deve ser montado um array, onde a primeira posição deve ser passado o Alias da tabela (ECC), e a segunda posição deve conter os dados, seguindo a estrutura de Nome do Campo, Informação a ser Gravada e um terceiro parâmetro que pode ser enviada uma validação adicional para o campo. As informações da Capa do Processo, são obrigatórias para a integração automática;
  • Para a integração dos Itens do Embarque (Tabela EE9), deve ser montado um array, seguindo o mesmo critério da Capa do Embarque. A primeira posição do array deve ser informado o Alias da tabela (EE9), e a segunda posição deve conter os dados a serem integrados, seguindo a mesma estrutura da capa,  Nome do Campo, Informação a ser Gravada e um terceiro parâmetro que pode ser enviada uma validação adicional para o campo;
  • A integração de Auxiliares também podem ser feitas de forma automática. Neste caso, cada um deles deve ser montado um novo array, seguindo a mesma estrutura do Embarque. Podem ser integrados de forma automática dados de Notify (Tabela EEN), Agenda de Documentos (Tabela EXB) e Agentes de Comissão (Tabela EEB). Cada um deles deve ser um array separado contendo o Alias a ser integrado e as informações contendo o Nome do Campo, Informação a ser Gravada e um terceiro parâmetro que pode ser enviada uma validação adicional para o campo. As informações dos Auxiliares, não são obrigatórias para a integração automática
Aviso
titleRestrições

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

...

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} ).


Exemplo - Vinculação e Exclusão da Vinculação de Adiantamento com Embarque
Bloco de código
languageactionscript3
linenumberstrue
User Function MyEECAE100()

Private lMsErroAuto := .F.

RpcSetType(3)
RpcSetEnv("99", "01",,,"EEC")
nModulo := 29

If MsgYesNo("Deseja entrar na rotina de Associação dos Adiantamentos?", "Aviso")
	U_AdVincAuto()
EndIf

RpcClearEnv()

Return 

/***************************************************
* Function: AdVincAuto()									*
* Objetivo: Efetuar a Vinculação do Adiantamento	*
****************************************************/
User Function AdVincAuto()
Local aEmb := {}, aAdian := {}, aParc, aIntegra
Local lExecuta := .T.
Local cParc:=""
Local nValor:=0
Local cEmbarque := "PED-EMB-AUT002"
Private lMsErroAuto := .F.

While lExecuta
	lMsErroAuto := .F.
	aEmb 	:= {}
	aAdian:= {}
	lExcluir := .F.
	If !MsgYesNo("Selecione SIM para associar um adiantamento ou NÃO para excluir uma associação?", "Aviso")
      lExcluir := .T.
	EndIf
	aAdd(aEmb, {"EEC_FILIAL", "01"			, Nil})
	aAdd(aEmb, {"EEC_PREEMB", cEmbarque		, Nil}) //Informe qual o embarque que será vinculado o adiantamento
	
	aParc := {}
	If lExcluir
		If MsgYesNo("Deseja excluir informando a parcela de origem? Se SIM, informe a parcela do adiantamento. Caso escolha não, a parcela informada deverá ser a parcela da associação.", "Aviso")
			cParc := IoDlg()
			aAdd(aParc, {"EEQ_FAOR"		, "C"			, Nil})
			aAdd(aParc, {"EEQ_PROR"	   , "001   01", Nil})
			aAdd(aParc, {"EEQ_PAOR"		, cParc		, Nil})
		Else
			cParc := IoDlg()
			aAdd(aParc, {"EEQ_FASE"		, "E"			, Nil})
			aAdd(aParc, {"EEQ_PREEMB"	, cEmbarque , Nil})
			aAdd(aParc, {"EEQ_PARC"		, cParc		, Nil})
		EndIf
	Else
		cParc := IoDlg()
		aAdd(aParc, {"EEQ_FASE"		, "C"			, Nil})
		aAdd(aParc, {"EEQ_PREEMB"	, "001   01", Nil})
		aAdd(aParc, {"EEQ_PARC"		, cParc		, Nil})
	EndIf
	
	If !lExcluir
		nvalor := IoDlgValor()
		aAdd(aParc, {"AUTVALVINC", nvalor, Nil}) //Valor a ser associado
	Else	
		aAdd(aParc, {"AUTDELETA", "S", Nil})//Enviar quando for excluir uma vinculação
	EndIf

	aAdd(aAdian, aClone(aParc))

	aIntegra := {{"EEC", aEmb}, {"EEQ", aAdian}}

	MsAguarde({|| MsExecAuto({|aIntegra| EECAE100(,,aIntegra,"AE100Adian") }, aIntegra) }, "Integrando associação de adiantamentos")

	If lMsErroAuto
		MostraErro()
	Else
		MsgInfo("Executado com sucesso!", "Aviso")
	EndIf

	lExecuta := MsgYesNo("Continuar com as associações?", "Aviso")

EndDo

RpcClearEnv()

Return Nil