Microsiga Protheus | Microsiga Protheus | ||||||||
Segmento: | Mercado Internacional | ||||||||
Módulo: | Financiero | ||||||||
Rutina: |
| ||||||||
Punto de Entrada: | F850CHPDT() | ||||||||
País(es): | Todos | ||||||||
Base(s) de Datos: | Todas | ||||||||
Tablas utilizadas: |
| ||||||||
Sistema(s) operativo(s): | Todos. |
Se agrega el punto de entrada F850CHPDT, el cual tiene la finalidad de reemplazar el filtro que se muestra en la orden de pago al agregar un Documento en la pestaña de “Documentos de Terceros”.
1. En el Plan de Salud (SIGAPLS), acceda a Actualizaciones / Producto Salud / Producto Salud (PLSA800).
El sistema exhibe la ventana de productos registrados.
2. Posicione el cursor en un producto y haga clic en Modificar.módulo de Financiero en la opción de Orden de Pago Mod II (Actualizaciones | Proceso Mod II) se seleccionará un documento del cual se deseé hacer el pago. A continuación se seleccionará la opción de Pago Automático
2. En la ventana que se muestra, se elegirá la opción de “Documentos de Terceros” y en seguida en el botón “Seleccione Documentos"
3. En la carpeta Cobertura/Carencias, seleccione la subcarpeta Tipo de Prestador Si el punto de Entrada aún no ha sido compilado en el Sistema se mostrará la ventana de grupo de Preguntas definido por default.
4. Haga doble clic en el campo TP Prestador (BCW_TIPPRE).
El sistema exhibe la ventana Tipo de Prestador – Coparticipación – Modificación.
En caso de que se haya compilado el Punto de Entrada “A850CHPDT”, deberá realizar lo que se ha declarado en el mismo. En este caso se muestra el código que se ha determinado en el punto de Entrada
5. Posteriormente se mostrará los resultados que se han generados a partir del punto de Entrada 5. Informe los datos conforme la orientación del help de campo y observe el rellenado del nuevo campo:
Solo p/Compra (BCW_SOMCOM): seleccione Sí para indicar si la coparticipación registrada será válida solo para efecto de compra de procedimientos o No, en caso contrario.
6. Verifique los datos y confirme. Después de haber seleccionado el documento de terceros, se mostrará en la parte inferior.
Descripción: | Informe el Menú en que se ubicará la rutinaPunto de Entrada que permite filtrar los documentos de Terceros. | ||||||||||||||||
Ubicación: | Informe el Submenú donde estará la rutina.Fina850 | ||||||||||||||||
Eventos: | Informe el Título de la rutina.Fina850 | ||||||||||||||||
Programa Fuente:Informe el Fuente de la rutina. | Fina850 | ||||||||||||||||
Función: | Fina850 | ||||||||||||||||
Retorno: | Informe el Nombre del(los) producto(s) que se utilizará(n) o “Todos”. | ||||||||||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
User Function CN120ALT()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]
If cTipo == '1'
aCab[4][2]:= 'Fact' //Validaciones del usuario
EndIf
Return aCabArray con dos posiciones: [ 1 ] = Moneda Seleccionada [ 2 ] = {.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_ }
|
#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