Árvore de páginas

Versões comparadas

Chave

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

GFE09502 – Integrar Fatura de Frete no Financeiro com data do Fiscal

Características do Requisito

Linha de Produto:

Protheus

Segmento:

Distribuição e Logística

Módulo:

SIGAGFE

Ponto de Entrada - GFE09502

Descrição:

Integrar as Faturas de Frete no Financeiro utilizando a data de integração no Fiscal dos Documentos de Frete.

Localização:

Na contabilização da Fatura, quando for integrar com o Financeiro

Programa Fonte:

GFEA095 - Geração de Movimentos Contábeis.

Parâmetros:

NomeTipoDescriçãoObrigatório
PARAMIXB[1]CaractereFilial GW6Sim
PARAMIXB[2]CaractereEmissor FaturaSim
PARAMIXB[3]CaractereSérie FaturaSim
PARAMIXB[4]CaractereNumero FaturaSim
PARAMIXB[5]
Caractere
DateData EmissãoSim

Retorno:

NomeTipoDescriçãoObrigatório
aRetArray

1-Data para integração, Date

2-Se pegou a data correto, lógico

3-Mensagem de erro, Caractere

Sim

 

Bloco de código
languagedelphi
titleExemplo: GFE09502
linenumberstrue
#INCLUDE "PROTHEUS.CH"

User Function GFE09502()
	Local cGW6_FILIAL := PARAMIXB[1]
	Local cGW6_EMIFAT := PARAMIXB[2]
	Local cGW6_SERFAT := PARAMIXB[3]
	Local cGW6_NRFAT := PARAMIXB[4]
	Local cGW6_DTEMIS := PARAMIXB[5]
	Local aRet := {'',.F.,'Parametro não ativo'}
	Local cQuery
	Local cAliasGW3
	Local cMV_XDTOF := GetMv("MV_XDTOF")
	Local dData := STOD('00000000')
	
	If cMV_XDTOF == 1
		cQuery := 'SELECT DISTINCT GW3_DTFIS, GW3_DTREC, GW3_NRDF,'
		cQuery += ' GV5_SENTID FROM '+RetSqlName('GW3')+" GW3"
		cQuery += ' INNER JOIN '+RetSqlName('GW4')+" GW4"
		cQuery += ' ON GW4_FILIAL = GW3_FILIAL
		cQuery += ' AND GW4_EMISDF = GW3_EMISDF
		cQuery += ' AND GW4_CDESP  = GW3_CDESP
		cQuery += ' AND GW4_SERDF  = GW3_SERDF
		cQuery += ' AND GW4_NRDF   = GW3_NRDF
		cQuery += ' AND GW4_DTEMIS = GW3_DTEMIS
		cQuery += " AND GW4.D_E_L_E_T_ = ' '"
		cQuery += ' LEFT JOIN '+RetSqlName('GW1')+" GW1"
		cQuery += ' ON GW1_FILIAL = GW4_FILIAL
		cQuery += ' AND GW1_CDTPDC = GW4_TPDC
		cQuery += ' AND GW1_EMISDC = GW4_EMISDC
		cQuery += ' AND GW1_SERDC  = GW4_SERDC
		cQuery += ' AND GW1_NRDC   = GW4_NRDC
		cQuery += " AND GW1.D_E_L_E_T_ = ' '"
		cQuery += ' INNER JOIN '+RetSqlName('GV5')+" GV5"
		cQuery += ' ON GV5_CDTPDC = GW1_CDTPDC'
		cQuery += " WHERE GW3_FILIAL = '"+cGW6_FILIAL+"'"
		cQuery += " AND GW3_EMIFAT = '"+cGW6_EMIFAT +"'"
		cQuery += " AND GW3_SERFAT = '"+cGW6_SERFAT+"'"
		cQuery += " AND GW3_NRFAT = '"+cGW6_NRFAT+"'"
		cQuery += " AND GW3_DTEMIS = '"+DTOS(cGW6_DTEMIS)+"'"
		cQuery += " AND GW3.D_E_L_E_T_ = ''"
		cQuery := ChangeQuery(cQuery)
		cAliasGW3 := GetNextAlias()
		DbUseArea(.T.,'TOPCONN',TcGenQry(,,cQuery),cAliasGW3,.F.,.T.)
		
		While !(cAliasGW3)->( Eof() )
			If EMPTY((cAliasGW3)->GW3_DTFIS) .and. EMPTY((cAliasGW3)->GW3_DTREC)
				aRet[3] := "** Documento de Frete "+(cAliasGW3)->GW3_NRDF+" não está integrado no módulo Fiscal.";
				+" Integração com o Financeiro não permitida"
				dData := ''
				Exit
			EndIf
			
			if !EMPTY((cAliasGW3)->GW3_DTFIS) .and. (cAliasGW3)->GV5_SENTID == '2'
				If (cAliasGW3)->GW3_DTFIS > DTOS(dData)
					dData := STOD((cAliasGW3)->GW3_DTFIS)
				EndIF
			ElseIf !EMPTY((cAliasGW3)->GW3_DTREC) .and. (cAliasGW3)->GV5_SENTID == '1'
				If (cAliasGW3)->GW3_DTREC > DTOS(dData)
					dData := STOD((cAliasGW3)->GW3_DTREC)
				EndIF
			EndIf
			(cAliasGW3)->( dbSkip() )
		EndDo
		
		If !EMPTY(dData)
			aRet[1] := dData
			aRet[2] := .T.
			aRet[3] := ''
		EndIf
	EndIf
Return aRet