Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Propriedades de página

CONTEÚDO

  1. Dados Gerais
  2. Exemplo de utilização
    1. Inclusão
    2. Alteração
    3. Exclusão
  3. Tabelas utilizada


01. DADOS GERAIS

Produto:

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVSTOTVS Comércio Exterior

Linha de Produto:

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoManufatura

Módulo:SIGAEIC
Função:EICPO400.PRW


02. Exemplo de Utilização

O Easy Import Control (SIGAEIC) disponibiliza a utilização de rotinas automáticas para a manutenção de Purchase Orders. Para isso, deve ser utilizado um rdmake que faça a chamada via Execauto da rotina EICPO400, responsável pela manutenção dos POs. Esta rotina espera receber um array com os dados da Capa do Purchase Order, e outro com os dados dos Itens. Também deve ser enviada a opção desejada, como Incluir, Alterar, ou Excluir.

Abaixo segue alguns exemplos de utilização de rotina automática para a manutenção do Purchase Order.


Função: EICPO400 - Pedido de Importação
Descrição:
Exemplo de ExecAuto na rotina Purchase Order - POExecAuto. Funcionalidade disponível a partir do Microsiga Protheus 11.
Programa Fonte:
eicpo400
Sintaxe:

EICPO400 - Pedido de Importação ( [ ] )

Retorno:
    ()
Observações
Exemplos
*-------------------------*User Function POExecAuto()*-------------------------*Local cPedido :=  GetSxeNum("EW2", "W2_PO_NUM")Local aCab   := {}       Local aItem  := {}    Private lMsErroAuto := .F.AADD(aCab,{"W2_PO_NUM"    ,cPedido   ,NIL})AADD(aCab,{"W2_PO_DT"     ,dDatabase ,NIL})AADD(aCab,{"W2_FORN"      ,"FOR-01"  ,NIL})AADD(aCab,{"W2_COMPRA"    ,"C01"     ,NIL})AADD(aCab,{"W2_IMPORT"    ,"01    "  ,NIL})AADD(aCab,{"W2_AGENTE"    ,"01 "     ,NIL})AADD(aCab,{"W2_TIPO_EM"   ,"01"      ,NIL})AADD(aCab,{"W2_ORIGEM"    ,"VYX"     ,NIL})AADD(aCab,{"W2_DEST"      ,"BLM"     ,NIL})AADD(aCab,{"W2_INCOTER"   ,"FOB"     ,NIL})AADD(aCab,{"W2_FREPPCC"   ,"CC"      ,NIL})AADD(aCab,{"W2_COND_PA"   ,"01   "   ,NIL})AADD(aCab,{"W2_MOEDA"     ,"US$"     ,NIL})AADD(aCab,{"W2_DT_PAR"    ,dDatabase ,NIL})AADD(aCab,{"W2_PARID_U"   ,1.000000  ,NIL})AADD(aCab,{"W2_E_LC"      ,"2"       ,NIL})aAdd(aItem,{  {"W3_COD_I"   ,  AvKey("PROD-01","W3_COD_I")     ,NIL},;              {"W3_CC"      ,  "UN-01"                         ,NIL},;              {"W3_REG"     ,  1                               ,NIL},;              {"W3_PRECO"   ,  1.00000                         ,NIL},;                   {"W3_FABR"    ,  "FAB-01"                        ,NIL},;              {"W3_FORN"    ,  "FOR-01"                        ,NIL},;              {"W3_QTDE"    ,  500.00000                       ,NIL},;              {"W3_DT_EMB"  ,  dDatabase                       ,NIL},;              {"W3_DT_ENTR" ,  dDatabase+2                     ,NIL},;              {"W3_SALDO_Q" ,  500.00000                       ,NIL} })    aAdd(aItem,{  {"W3_COD_I"   ,  AvKey("PROD-02","W3_COD_I")     ,NIL},;              {"W3_CC"      ,  "UN-01"                         ,NIL},;              {"W3_REG"     ,  1                               ,NIL},;              {"W3_PRECO"   ,  15.00000                        ,NIL},;                   {"W3_FABR"    ,  "FAB-01"                        ,NIL},;              {"W3_FORN"    ,  "FOR-01"                        ,NIL},;              {"W3_QTDE"    ,  300.00000                       ,NIL},;              {"W3_DT_EMB"  ,  dDatabase                       ,NIL},;              {"W3_DT_ENTR" ,  dDatabase+2                     ,NIL},;              {"W3_SALDO_Q" ,  300.00000                       ,NIL} })    MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)},NIL,aCab,aItem,3)If lMsErroAuto   MOSTRAERRO()EndIf        Return Nil
Updates
UIEXECAUTO
Parâmetros:
Portuguese
Pagetitle
EICPO400 - Pedido de ImportaçãoEICPO400 - Pedido de Importação
Nível de Acesso:Nível 1 (Acesso Clientes)
NomeTipoDescriçãoDefaultObrigatórioReferênciaArray of Record
Aviso
titleObservação


Nos casos em que ocorram mais de uma linha na tabela SN3, é obrigatório a passagem do campo N3_SEQ.

...

Bloco de código
languagepy
themeMidnightEclipse
titleInclusão
linenumberstrue
collapsetrue
#INCLUDE "Protheus.CH"
#include "rwmake.ch"
#include "TOTVS.ch"
#include "TBICONN.ch"

User Function MyAtfa012
    Local aArea := GetArea()
	Local cBase := "ATFX01"//"0000000000"
	Local cItem := "0002"
	Local nQtd := 1
	Local cChapa := "AJEDS10"//"00000"
	Local cPatrim := "N"
	Local cTipo := "01"//"01"

	Local cGrupo := ""
	Local dAquisic //:= dDataBase //:= CTOD("01/06/20")//dDataBase
	Local dIndDepr //:= RetDinDepr(dDataBase)
	Local cDescric := "Teste 01"

	Local cHistor := "TESTE "
	Local cContab := "11101"
	Local cCusto := "CDL"
	Local cSubCon := "000000001"
	Local cClvlCon := "000000000"

	Local nValor := 1000
	Local nTaxa := 10
	Local nTamBase //:= TamSX3("N3_CBASE")[1]
	Local nTamChapa //:= TamSX3("N3_CBASE")[1]

	Local aParam := {}
	Local aCab := {}
	Local aItens := {}

	Private lMsErroAuto := .F.
	Private lMsHelpAuto := .T.

	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "ATF" TABLES "SN1","SN3"

		dAquisic := dDataBase //:= CTOD("01/06/20")//dDataBase
		dIndDepr := RetDinDepr(dDataBase)

		DBSelectArea(aArea)
		nTamBase := TamSX3("N3_CBASE")[1]
		nTamChapa := TamSX3("N3_CBASE")[1]

		aCab := {}
		AAdd(aCab,{"N1_CBASE" , cBase ,NIL})
		AAdd(aCab,{"N1_ITEM" , cItem ,NIL})
		AAdd(aCab,{"N1_AQUISIC", dDataBase ,NIL})
		AAdd(aCab,{"N1_DESCRIC", cDescric ,NIL})
		AAdd(aCab,{"N1_QUANTD" , nQtd ,NIL})
		AAdd(aCab,{"N1_CHAPA" , cChapa ,NIL})
		AAdd(aCab,{"N1_PATRIM" , cPatrim ,NIL})
		AAdd(aCab,{"N1_GRUPO" , cGrupo ,NIL})
		//Coloque os campos desejados aqui 

		aItens := {}
		//-- Preenche itens


		AAdd(aItens,{;
		{"N3_CBASE" , cBase ,NIL},;
		{"N3_ITEM" , cItem ,NIL},;
		{"N3_TIPO" , cTipo ,NIL},;
		{"N3_BAIXA" , "0" ,NIL},;
		{"N3_HISTOR" , cHistor ,NIL},;
		{"N3_CCONTAB" , cContab ,NIL},;
		{"N3_CUSTBEM" , cCusto ,NIL},;
		{"N3_CDEPREC" , cContab ,NIL},;
		{"N3_CDESP" , cContab ,NIL},;
		{"N3_CCORREC" , cContab ,NIL},;
		{"N3_CCUSTO" , cCusto ,NIL},;
		{"N3_DINDEPR" , dIndDepr ,NIL},;
		{"N3_VORIG1" , nValor ,NIL},;
		{"N3_TXDEPR1" , nTaxa ,NIL},;
		{"N3_VORIG2" , nValor ,NIL},;
		{"N3_TXDEPR2" , nTaxa ,NIL},;
		{"N3_VORIG3" , nValor ,NIL},;
		{"N3_TXDEPR3" , nTaxa ,NIL},;
		{"N3_VORIG4" , nValor ,NIL},;
		{"N3_TXDEPR4" , nTaxa ,NIL},;
		{"N3_VORIG5" , nValor ,NIL},;
		{"N3_SUBCCON" , cSubCon ,NIL},;
		{"N3_CLVLCON" , cClvlCon ,NIL},;
		{"N3_TXDEPR5" , nTaxa ,NIL};
		})
		//Coloque os campos desejados aqui

		Begin Transaction

			MSExecAuto({|x,y,z| Atfa012(x,y,z)},aCab,aItens,3,aParam)
			If lMsErroAuto 

			MostraErro()
				DisarmTransaction()
			Endif
		End Transaction

		RestArea(aArea)
	RESET ENVIRONMENT

Return

...