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: |
| ||||
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: |
|
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