Árvore de páginas

Ponto de Entrada para Buscar dados contábeis para Título de PR

Linha de Produto:

Microsiga Protheus

Segmento:

Agroindústria

Módulo:

SIGAAGR

Rotina:

Rotina

Nome Técnico

OGX018A

Geração dos Títulos no Financeiro

País(es):

Todos

Ponto de Entrada 

Localização:

Ao confirmar Acordo de Troca.

Programa Fonte:

OGX018A

Função:

Buscar dados contábeis para criação do título de PR.

Retorno:

Nome

Tipo

Descrição

Obrigatório

OGX018ACTB

Nenhum

Envia como parâmetro o negócio e a operação contábil.

NÃO

 

Exemplo:

#include 'protheus.ch'

#include 'parmtype.ch' 


User Function OGX018ACTB()

Local aDados := aClone(PARAMIXB[1])
Local aRet := {} //Customizações do usuário
Local aDadosCfo := {}
Local aAreaNJR := NJR->(GetArea())
Local aAreaN9A := N9A->(GetArea())
Local aAreaSA1 := SA1->(GetArea())
Local aAreaSF4 := SF4->(GetArea())
Local cOperacao := ""
Local cCultura := ""

DbSelectArea('NJR')
DbSetOrder(1)

If NJR->(DbSeek(xFilial('NJR')+aDados[1]))

DbSelectArea('SB5')
DbSetOrder(1)

If SB5->(DbSeek(xFilial('SB5')+NJR->NJR_CODPRO))
cCultura := SB5->B5_CULTRA
Endif

DbSelectArea('N9A')
DbSetOrder(1)

If N9A->(DbSeek(xFilial('N9A')+aDados[1]))

DbSelectArea('SF4')
DbSetOrder(1)

If SF4->(DbSeek(xFilial('SF4')+N9A->N9A_TES))
If !Empty(SF4->F4_CF)

dbSelectArea("SA1")
dbSetOrder(1)
If SA1->(DbSeek(FWxFilial()+aDados[2]+aDados[3]))

Aadd(aDadosCfo,{"OPERNF","S"})
Aadd(aDadosCfo,{"TPCLIFOR",SA1->A1_TIPO})
Aadd(aDadosCfo,{"UFDEST",SA1->A1_EST})
Aadd(aDadosCfo,{"INSCR" ,SA1->A1_INSCR})
If SA1->(FieldPos("A1_CONTRIB")) > 0
Aadd(aDadosCfo,{"CONTR", SA1->A1_CONTRIB})
Endif

cCfop := MaFisCFO(,SF4->F4_CF,aDadosCfo)
cOperacao := IIF(RIGHT(ALLTRIM(cCfop),3)=='501','120201',IIF(LEFT(cCfop,1)=='7','120101','110101'))
Endif

Endif
Endif

Endif

Endif

RestArea(aAreaNJR)
RestArea(aAreaN9A)
RestArea(aAreaSF4)
RestArea(aAreaSA1)

aAdd( aRet, { cCultura , cOperacao } )
Return aRet