Punto de entrada F850CHPDT

Características del Requisito

Microsiga Protheus

Microsiga Protheus

Segmento:

Mercado Internacional

Módulo:

Financiero

Versiones/Release

11.8 / 12.1.7 / 12.1.14

Punto de Entrada

Descripción:

F850CHPDT - Punto de entrada que permite filtrar los documentos de terceros.

Ubicación:

Financiero

Eventos:

Alteración

Programa Fuente:

Fina850.prw

Función:

F850FilDT()

Retorno:

Array con dos posiciones:

[ 1 ] = Moneda Seleccionada

[ 2 ] = Matriz de títulos seleccionados, el contenido por cada registro es un subarreglo con los siguientes datos:

{.F.,

E1_TIPO,

E1_PREFIXO,

E1_NUM,

E1_PARCELA,

Ctod(substr((cArqTemp)->E1_EMISSAO,7,2)+"/"+substr((cArqTemp)->E1_EMISSAO,5,2)+"/"+substr((cArqTemp)->E1_EMISSAO,1,4)),

Ctod(substr((cArqTemp)->E1_VENCREA,7,2)+"/"+substr((cArqTemp)->E1_VENCREA,5,2)+"/"+substr((cArqTemp)->E1_VENCREA,1,4)),

E1_SALDO,

E1_MOEDA,

E1_CLIENTE,

E1_LOJA,

E1_NOMCLI,

E1_BCOCHQ,

E1_AGECHQ,

E1_CTACHQ,

E1_POSTAL,

SE1.R_E_C_N_O_,

SEF.R_E_C_N_O_

}

 

 Ejemplo:

#include 'Protheus.ch'
user function F850CHPDT()
Local cQuery := ""
Local cArqTmp := ""
Local aDocs99 := {}
Local nMoedaS := 1

Aadd(aDocs99,nMoedaS)
cQuery := "SELECT SE1.R_E_C_N_O_ REGSE1,E1_TIPO,E1_PREFIXO,E1_NUM,E1_PARCELA, E1_EMISSAO,E1_VENCREA,E1_SALDO,E1_MOEDA,E1_CLIENTE,E1_LOJA,E1_NOMCLI, "
cQuery += "E1_BCOCHQ,E1_AGECHQ,E1_CTACHQ,E1_POSTAL,SE1.E1_ORIGEM,EF_BANCO,EF_AGENCIA,EF_CONTA,EF_CART,EF_TERCEIR,EF_ENDOSSA,SEF.R_E_C_N_O_ REGSEF,SEL.EL_ENDOSSA, "
cQuery += "SEL.EL_TERCEIR,EL_VERSAO,EL_RECIBO FROM SE1T10 SE1 LEFT JOIN SELT10 SEL ON SEL.EL_PREFIXO = SE1.E1_PREFIXO AND SEL.EL_NUMERO = "
cQuery += "SE1.E1_NUM AND SEL.EL_PARCELA = SE1.E1_PARCELA AND SEL.EL_CLIENTE = SE1.E1_CLIENTE AND SEL.EL_LOJA = SE1.E1_LOJA LEFT JOIN SEFT10 SEF ON "
cQuery += "(SEF.EF_FILIAL = 'D MG 01 ' AND SE1.E1_PREFIXO = SEF.EF_PREFIXO AND SE1.E1_NUM = SEF.EF_NUM AND SE1.E1_PARCELA = SEF.EF_PARCELA AND "
cQuery += "SE1.E1_TIPO = SEF.EF_TIPO AND SEF.EF_TIPO IN ('CH ','CHC','CH ') AND SE1.E1_CLIENTE = SEF.EF_CLIENTE AND SEF.EF_CART = 'R' "
cQuery += "AND SEF.EF_ENDOSSA = '1' AND SEF.EF_STATUS = '01') WHERE E1_FILIAL = 'D MG 01 ' AND E1_TIPO = 'CH' AND E1_CLIENTE = '000001' "
cQuery += "AND E1_LOJA = '01' AND E1_VENCREA >= '20150801' AND E1_VENCREA <= '20171212' AND E1_SALDO > 0 AND E1_SITUACA IN (' ','1','0') AND E1_NUMBOR = ' ' "
cQuery += "AND SE1.D_E_L_E_T_=' ' AND E1_TIPO <> 'NCC' AND E1_TIPO <> 'NDC' AND E1_TIPO <> 'NCI' AND E1_TIPO <> 'NCE' AND E1_MOEDA = 1 "
cQuery += "ORDER BY E1_TIPO,E1_CLIENTE,E1_LOJA,E1_VENCREA,E1_PREFIXO,E1_PARCELA,E1_NUM"
cQuery := ChangeQuery(cQuery)
cArqTemp := CriaTrab(nil, .f.)
DbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), cArqTemp, .F., .T.)
(cArqTemp)->(DbGotop())
Aadd(aDocs99,{})
DbSelectArea(cArqTemp)


While (cArqTemp)->(!Eof())


Aadd(aDocs99[2],{.F.,(cArqTemp)->E1_TIPO,;
(cArqTemp)->E1_PREFIXO,(cArqTemp)->E1_NUM,;
(cArqTemp)->E1_PARCELA,;
Ctod(substr((cArqTemp)->E1_EMISSAO,7,2)+"/"+substr((cArqTemp)->E1_EMISSAO,5,2)+"/"+substr((cArqTemp)->E1_EMISSAO,1,4)),;
Ctod(substr((cArqTemp)->E1_VENCREA,7,2)+"/"+substr((cArqTemp)->E1_VENCREA,5,2)+"/"+substr((cArqTemp)->E1_VENCREA,1,4)),;
(cArqTemp)->E1_SALDO ,;
(cArqTemp)->E1_MOEDA ,(cArqTemp)->E1_CLIENTE,(cArqTemp)->E1_LOJA ,(cArqTemp)->E1_NOMCLI ,;
(cArqTemp)->E1_BCOCHQ,(cArqTemp)->E1_AGECHQ ,(cArqTemp)->E1_CTACHQ,(cArqTemp)->E1_POSTAL ,;
(cArqTemp)->REGSE1,(cArqTemp)->REGSEF })
(cArqTemp)->(Dbskip())

EndDo

Return aDocs99