FINA050 (Contas a Pagar) - Rotina Automática.
Exemplo do funcionamento, da rotina automática com opções para, incluir, alterar e excluir títulos a pagar.
USER FUNCTION FIN050INC()
LOCAL aArray := {}
PRIVATE lMsErroAuto := .F.
aArray := { { "E2_PREFIXO" , "PAG" , NIL },;
{ "E2_NUM" , "0001" , NIL },;
{ "E2_TIPO" , "NF" , NIL },;
{ "E2_NATUREZ" , "001" , NIL },;
{ "E2_FORNECE" , "0001" , NIL },;
{ "E2_EMISSAO" , CtoD("17/02/2012"), NIL },;
{ "E2_VENCTO" , CtoD("17/02/2012"), NIL },;
{ "E2_VENCREA" , CtoD("17/02/2012"), NIL },;
{ "E2_VALOR" , 5000 , NIL } }
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
Alert("Título incluído com sucesso!")
Endif
Return
//------------------------------------------------------------------------------------------------------------------------
USER FUNCTION FIN050ALT()
LOCAL aArray := {}
PRIVATE lMsErroAuto := .F.
aArray := { { "E2_PREFIXO" , "PAG" , NIL },;
{ "E2_NUM" , "0001" , NIL },;
{ "E2_VALOR" , 2000 , NIL } }
DbSelectArea("SE2")
DbSetOrder(1)
DbSeek(xFilial("SE2")+"PAG"+"0001 "+" "+"NF") //Exclusão deve ter o registro SE2 posicionado
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 4) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
Alert("Título alterado com sucesso!")
Endif
Return
//------------------------------------------------------------------------------------------------------------------------
USER FUNCTION FIN050EXC()
LOCAL aArray := {}
PRIVATE lMsErroAuto := .F.
DbSelectArea("SE2")
DbSetOrder(1)
DbSeek(xFilial("SE2")+"PAG"+"0001 "+" "+"NF") //Exclusão deve ter o registro SE2 posicionado
aArray := { { "E2_PREFIXO" , SE2->E2_PREFIXO , NIL },;
{ "E2_NUM" , SE2->E2_NUM , NIL } }
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 5) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
Alert("Exclusão do Título com sucesso!")
Endif
Return