Tempo aproximado para leitura: 00:01:50 min
Dúvida
Como funciona o Ponto de Entrada para Buscar dados contábeis para Título de PR?
Ambiente
TOTVS Agro - TOTVS Agro - Comercialização (Linha Protheus) - Originação de Grãos (OG) - Versão 12
Solução
Características do Requisito:
|
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:
#incluir ' protheus.ch '
#include ' parmtype.ch '
Função de usuário OGX018ACTB()
Local aDados := aClone(PARAMIXB[1])
Local aRet := {} //Personalizaçõ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)
Se N9A->(DbSeek(xFilial('N9A')+aDados[1]))
DbSelectArea('SF4')
DbSetOrder(1)
Se SF4->(DbSeek(xFilial('SF4')+N9A->N9A_TES))
Se !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)
cOperação := IIF(DIREITA(ALLTRIM(cCfop),3)=='501','120201',IIF(ESQUERDA(cCfop,1)=='7','120101','110101'))
Fim se
Fim
se fim se fim
se
fim se
RestArea(aAreaNJR)
RestArea(aAreaN9A)
RestArea(aAreaSF4)
RestArea(aAreaSA1)
aAdd( aRet, { cCultura , cOperacao } )
Return aRet
0 Comentários