Passo a passo: | Para utilizar a rotina FINA560 - Movimentos do Caixinha via ExecAuto, deve-se utilizar o modelo padrão abaixo:
#Include 'Protheus.ch' User Function F560AUT() Local aArray := {} Local aArray2:= {} // Utilizado na prestacao de contas Local nOpc := 3 // 3 - Inclusao, 4 - Prestacao de Contas, 5 - Exclusao Private lMsErroAuto := .F. Do Case Case nOpc == 3 //----------------------------------------------------------------------- // Programa de inclusao de movimentos no caixinha via rotina automatica | //----------------------------------------------------------------------- aArray := { { "EU_NUM" , "0000000037" , NIL },; { "EU_CAIXA" , "CX1" , NIL },; { "EU_TIPO" , "01" , NIL },; //00 - Despesa, 01 - Adiantamento { "EU_HISTOR" , "TESTE CAIXINHA " , NIL },; { "EU_NRCOMP" , "001 " , NIL },; { "EU_VALOR" , 500, NIL },; { "EU_BENEF" , "TOTVS ", NIL },; { "EU_DTDIGT" , CtoD("05/08/2016"), NIL },; { "EU_DTEMIS" , CtoD("05/08/2016"), NIL },; { "EU_FORNECE" , "001 ", NIL },; { "EU_LOJA" , "01", NIL },; { "EU_NOME" , "FORNECEDOR S/ IMPOSTO ", NIL },; { "EU_CGC" , "51236848000155", NIL },; { "EU_CONTA" , "101010100 ", NIL },; { "EU_CONTAD" , "101010200 ", NIL },; { "EU_CONTAC" , "101010300 ", NIL },; { "EU_CCD" , "10101 ", NIL },; { "EU_CCC" , "10102 ", NIL },; { "EU_ITEMD" , "1010102 ", NIL },; { "EU_ITEMC" , "1010101 ", NIL },; { "EU_CLVLDB" , "1010101 ", NIL },; { "EU_CLVLCR" , "1010102 ", NIL },; { "EU_CODAPRO" , "000001", NIL },; { "EU_MOEDA" , 1, NIL },; { "EU_VLMOED2" , 0, NIL },; { "EU_ENVUMOV" , '2', NIL } }
MsExecAuto( { |x,y,z| FINA560(x,y,z)} ,0, aArray, 3)
If lMsErroAuto MostraErro() Else Alert("Inclusao do movimento efetuada.") Endif
Case nOpc == 4 //----------------------------------------------------------------------- // Programa para prestacao de contas de um adiantamento (SEU) | //----------------------------------------------------------------------- aArray := { { "EU_NUM", "0000000036", NIL },; // Numero do adiantamento a ser posicionado { "EU_SLDREM", .F., Nil } } /*Deseja fechar o adiantamento e transferir o saldo remanescente? .t. = SIM, .f. = NAO*/
/*Prestacao 1*/ Aadd(aArray2, { { "EU_HISTOR" , "TESTE PRESTA CTAS 1 " , NIL },; { "EU_NRCOMP" , "006 " , NIL },; { "EU_VALOR" , 150, NIL },; { "EU_DTEMIS" , CtoD("05/08/2016"), NIL },; { "EU_FORNECE" , "001 ", NIL },; { "EU_LOJA" , "01", NIL },; { "EU_NOME" , "FORNECEDOR S/ IMPOSTO ", NIL },; { "EU_CGC" , "51236848000155", NIL },; { "EU_CCD" , "10101 ", NIL },; { "EU_CCC" , "10102 ", NIL },; { "EU_ITEMD" , "1010102 ", NIL },; { "EU_ITEMC" , "1010101 ", NIL } } ) /*Prestacao 2*/ Aadd(aArray2, { { "EU_HISTOR" , "TESTE PRESTA CTAS 2 " , NIL },; { "EU_NRCOMP" , "007 " , NIL },; { "EU_VALOR" , 150, NIL },; { "EU_DTEMIS" , CtoD("05/08/2016"), NIL },; { "EU_FORNECE" , "001 ", NIL },; { "EU_LOJA" , "01", NIL },; { "EU_NOME" , "FORNECEDOR S/ IMPOSTO ", NIL },; { "EU_CGC" , "51236848000155", NIL },; { "EU_CCD" , "10101 ", NIL },; { "EU_CCC" , "10102 ", NIL },; { "EU_ITEMD" , "1010102 ", NIL },; { "EU_ITEMC" , "1010101 ", NIL } } ) MsExecAuto( { |x,y,z,a| FINA560(x,y,z,a)} ,0, aArray, 4, aArray2)
If lMsErroAuto MostraErro() Else Alert("Prestacao de contas do adiantamento efetuada.") Endif
Case nOpc == 5 //----------------------------------------------------------------------- // Programa de exclusao de movimentos no caixinha via rotina automatica | //----------------------------------------------------------------------- aArray := { { "EU_NUM" , "0000000082", NIL } }
MsExecAuto( { |x,y,z| FINA560(x,y,z)} ,0, aArray, 5)
If lMsErroAuto MostraErro() Else Alert("Exclusao do movimento efetuada.") Endif EndCase Return
|