| Línea de producto: | Microsiga Protheus® |
|---|---|
| Segmento: | Servicios |
| Módulo: | Financiero |
Se implementó la utilización automática de la rutina de compensación entre carteras.
FINA450(nPosArotina,aAutoCab,nOpcAuto)
Observación:
|
#include "rwmake.ch"
#include 'tbiconn.ch'
User Function AUTO450()
Local aAutoCab := {}
Local aArea := GetArea()
Local cTabSe1 := "TMPSE1A"
Local cTabSe2 := "TMPSE2A"
Local aSE1450 := {}
Local aSE2450 := {}
Local cFilSe2 := xFilial("SE2")
Local cFilSe1 := xFilial("SE1")
Private lMsHelpAuto := .T.
Private lMsErroAuto := .F.
BeginSql Alias cTabSe1
SELECT R_E_C_N_O_ as RECNO
FROM %Table:SE1% SE1
WHERE SE1.E1_FILIAL = %Exp:cFilSe1%
AND SE1.E1_PREFIXO = 'CPT'
AND SE1.E1_NUM = 'VT001'
AND SE1.E1_TIPO = 'NF'
AND SE1.E1_CLIENTE = 'FIN001'
AND SE1.E1_LOJA = '01'
AND SE1.%NotDel%
EndSql
While (cTabSe1)->(!EOF())
SE1->(DbGoto((cTabSe1)->RECNO))
AAdd(aSE1450, {SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA+SE1->E1_TIPO})
(cTabSe1)->(DbSkip())
Enddo
(cTabSe1)->(DbCloseArea())
BeginSql Alias cTabSe2
SELECT R_E_C_N_O_ as RECNO
FROM %Table:SE2% SE2
WHERE SE2.E2_FILIAL = %Exp:cFilSe2%
AND SE2.E2_PREFIXO = 'CPT'
AND SE2.E2_NUM = 'VT001'
AND SE2.E2_TIPO = 'NF'
AND SE2.E2_FORNECE = 'FIN001'
AND SE2.E2_LOJA = '01'
AND SE2.%NotDel%
EndSql
While (cTabSe2)->(!EOF())
SE2->(DbGoto((cTabSe2)->RECNO))
AAdd(aSE2450, {SE2->E2_FILIAL+SE2->E2_PREFIXO+SE2->E2_NUM+SE2->E2_PARCELA+SE2->E2_TIPO+SE2->E2_FORNECE+SE2->E2_LOJA})
(cTabSe2)->(DbSkip())
Enddo
(cTabSe2)->(DbCloseArea())
aAutoCab := { {"AUTDVENINI450", cTod('27/08/19') , nil},;
{"AUTDVENFIM450", cTod('27/08/19') , nil},;
{"AUTNLIM450" , 10000 , nil},;
{"AUTCCLI450" , "FIN001" , nil},;
{"AUTCLJCLI" , "01" , nil},;
{"AUTCFOR450" , "FIN001" , nil},;
{"AUTCLJFOR" , "01" , nil},;
{"AUTCMOEDA450" , "01" , nil},;
{"AUTNDEBCRED" , 1 , nil},;
{"AUTLTITFUTURO", .F. , nil},;
{"AUTARECCHAVE" , aSE1450 , nil},;
{"AUTAPAGCHAVE" , aSE2450 , nil}}
MSExecAuto({|x,y,z| Fina450(x,y,z)}, nil , aAutoCab , 3 )
If !lMsErroAuto
alert("¡Incluido con éxito! ")
confirmsx8()
Else
alert("Erro na inclusao!")
rollbacksx8()
MostraErro()
EndIf
RestArea(aArea)
Return |
#include "rwmake.ch"
#include 'tbiconn.ch'
User Function AUTO450()
Local aAutoCab := {}
Local aArea := GetArea()
Local cTabSe1 := "TMPSE1A"
Local cTabSe2 := "TMPSE2A"
Local aSE1450 := {}
Local aSE2450 := {}
Local cFilSe2 := xFilial("SE2")
Local cFilSe1 := xFilial("SE1")
Private lMsHelpAuto := .T.
Private lMsErroAuto := .F.
BeginSql Alias cTabSe1
SELECT R_E_C_N_O_ as RECNO
FROM %Table:SE1% SE1
WHERE SE1.E1_FILIAL = %Exp:cFilSe1%
AND SE1.E1_PREFIXO = 'CPT'
AND SE1.E1_NUM = 'VT001'
AND SE1.E1_TIPO = 'NF'
AND SE1.E1_CLIENTE = 'FIN001'
AND SE1.E1_LOJA = '01'
AND SE1.%NotDel%
EndSql
While (cTabSe1)->(!EOF())
SE1->(DbGoto((cTabSe1)->RECNO))
AAdd(aSE1450, {SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA+SE1->E1_TIPO})
(cTabSe1)->(DbSkip())
Enddo
(cTabSe1)->(DbCloseArea())
BeginSql Alias cTabSe2
SELECT R_E_C_N_O_ as RECNO
FROM %Table:SE2% SE2
WHERE SE2.E2_FILIAL = %Exp:cFilSe2%
AND SE2.E2_PREFIXO = 'CPT'
AND SE2.E2_NUM = 'VT001'
AND SE2.E2_TIPO = 'NF'
AND SE2.E2_FORNECE = 'FIN001'
AND SE2.E2_LOJA = '01'
AND SE2.%NotDel%
EndSql
While (cTabSe2)->(!EOF())
SE2->(DbGoto((cTabSe2)->RECNO))
AAdd(aSE2450, {SE2->E2_FILIAL+SE2->E2_PREFIXO+SE2->E2_NUM+SE2->E2_PARCELA+SE2->E2_TIPO+SE2->E2_FORNECE+SE2->E2_LOJA})
(cTabSe2)->(DbSkip())
Enddo
(cTabSe2)->(DbCloseArea())
aAutoCab := { {"AUTDVENINI450", cTod('27/08/19') , nil},;
{"AUTDVENFIM450", cTod('27/08/19') , nil},;
{"AUTNLIM450" , 10000 , nil},;
{"AUTCCLI450" , "FIN001" , nil},;
{"AUTCLJCLI" , "01" , nil},;
{"AUTCFOR450" , "FIN001" , nil},;
{"AUTCLJFOR" , "01" , nil},;
{"AUTCMOEDA450" , "01" , nil},;
{"AUTNDEBCRED" , 1 , nil},;
{"AUTLTITFUTURO", .F. , nil},;
{"AUTARECCHAVE" , aSE1450 , nil},;
{"AUTAPAGCHAVE" , aSE2450 , nil}}
MSExecAuto({|x,y,z| Fina450(x,y,z)}, nil , aAutoCab , 3 )
If !lMsErroAuto
alert("¡Incluido con éxito! ")
confirmsx8()
Else
alert("¡Error en la inclusión!")
rollbacksx8()
MostraErro()
EndIf
RestArea(aArea)
Return |
#include "rwmake.ch"
#include 'tbiconn.ch'
User Function Auto450()
Local aAutoCab := {}
Local aArea := GetArea()
Local cTabSe1 := "TMPSE1A"
Local cTabSe2 := "TMPSE2A"
Local aSE1450 := {}
Local aSE2450 := {}
Local aFilCmp := {}
Private lMsHelpAuto := .F.
Private lMsErroAuto := .F.
BeginSql Alias cTabSe1
SELECT R_E_C_N_O_ as RECNO
FROM %Table:SE1% SE1
WHERE SE1.E1_FILIAL = 'D MG 01 '
AND SE1.E1_PREFIXO = 'CPT'
AND SE1.E1_NUM = 'VT001'
AND SE1.E1_TIPO = 'NF'
AND SE1.E1_CLIENTE = 'FIN001'
AND SE1.E1_LOJA = '01'
AND SE1.%NotDel%
EndSql
While (cTabSe1)->(!EOF())
SE1->(DbGoto((cTabSe1)->RECNO))
AAdd(aSE1450, {SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA+SE1->E1_TIPO})
If ascan(aFilCmp,SE1->E1_FILIAL) == 0
Aadd(aFilCmp, SE1->E1_FILIAL)
EndIf
(cTabSe1)->(DbSkip())
Enddo
(cTabSe1)->(DbCloseArea())
BeginSql Alias cTabSe2
SELECT R_E_C_N_O_ as RECNO
FROM %Table:SE2% SE2
WHERE SE2.E2_FILIAL = 'D MG 02 '
AND SE2.E2_PREFIXO = 'CPT'
AND SE2.E2_NUM = 'VT001'
AND SE2.E2_TIPO = 'NF'
AND SE2.E2_FORNECE = 'FIN001'
AND SE2.E2_LOJA = '01'
AND SE2.%NotDel%
EndSql
While (cTabSe2)->(!EOF())
SE2->(DbGoto((cTabSe2)->RECNO))
AAdd(aSE2450, {SE2->E2_FILIAL+SE2->E2_PREFIXO+SE2->E2_NUM+SE2->E2_PARCELA+SE2->E2_TIPO+SE2->E2_FORNECE+SE2->E2_LOJA})
If ascan(aFilCmp,SE2->E2_FILIAL) == 0
Aadd(aFilCmp, SE2->E2_FILIAL)
EndIf
(cTabSe2)->(DbSkip())
Enddo
(cTabSe2)->(DbCloseArea())
aAutoCab :={ {"AUTDVENINI450", cTod('27/08/19') , nil},;
{"AUTDVENFIM450", cTod('27/08/19') , nil},;
{"AUTNLIM450" ,8000, nil},;
{"AUTCCLI450" , "FIN001" , nil},;
{"AUTCLJCLI" , "01" , nil},;
{"AUTCFOR450" , "FIN001" , nil},;
{"AUTCLJFOR" , "01" , nil},;
{"AUTCMOEDA450" , "01" , nil},;
{"AUTNDEBCRED" , 1 , nil},;
{"AUTLTITFUTURO", .F. , nil},;
{"AUTARECCHAVE" ,aSE1450, nil},;
{"AUTAPAGCHAVE" , aSE2450 , nil},;
{"AUTAFILCOMP" , aFilCmp , nil}}
MSExecAuto({|x,y,z| Fina450(x,y,z)}, nil , aAutoCab , 3 )
If !lMsErroAuto
ConOut("¡Incluido con éxito! ")
confirmsx8()
Else
ConOut("¡Error en la inclusión!")
rollbacksx8()
MostraErro()
EndIf
RestArea(aArea)
Return |
#INCLUDE "TOTVS.ch"
#Include "PROTHEUS.ch"
#Include "PRTOPDEF.CH"
#INCLUDE "TBICONN.CH"
User Function F450Est()
Local cCliForn := "000001"
Local cLoja := "00"
Local cPref := "TST"
Local cNumPag := "PAG300000"
Local cParc := " "
Local cTipo := "NF "
Local cFilTit := "D MG 01 "
Local aAutoCab := {}
PRIVATE lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "FIN"
dbSelectArea("SE2")
dbSetOrder(1) //E2_FILIAL+E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA
//Es necesario marcar en un registro de la SE2 de un título que esté involucrado en la compensación
//No es necesario marcar en todos los títulos involucrados
SE2->(Dbseek(cFilTit+cPref + cNumPag + cParc + cTipo + cCliForn + cLoja))
MSExecAuto({|x,y,z| Fina450(x,y,z)}, nil , aAutoCab , 5 )
If !lMsErroAuto
ConOut("¡Reversión realizada con éxito! ")
Else
ConOut("Error en la reversión!")
MostraErro()
EndIf
RETURN |
No existe.
No existe.
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|