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