Exemplos: | /* Exemplo 01: Inclusão de um título com cálculo de INSS, com dados no complemento do título (FKF) e com 2 complementos do imposto (FKG) para abater 1000,00 e 2000,00 da base de cálculo do INSS. */ User Function A050Inc1() LOCAL atit := {} LOCAL aFKF := {} LOCAL aFKG := {} LOCAL aAuxFKG := {} PRIVATE lMsErroAuto := .F. atit := { { "E2_PREFIXO" , "AUT" , NIL },; { "E2_NUM" , "0001" , NIL },; { "E2_TIPO" , "NF" , NIL },; { "E2_PARCELA" , " " , NIL },; { "E2_NATUREZ" , "NATIRINSS" , NIL },; { "E2_FORNECE" , "000001" , NIL },; { "E2_EMISSAO" , CtoD("20/06/2017"), NIL },; { "E2_VENCTO" , CtoD("20/06/2017"), NIL },; { "E2_VENCREA" , CtoD("20/06/2017"), NIL },; { "E2_VALOR" , 10000 , NIL } }
aFKF := { { "FKF_CPRB" , "1" , NIL },; { "FKF_CNAE" , "0112-1/02" , NIL },; { "FKF_TPSERV", "01" , NIL },; { "FKF_INDSUS", "2" , NIL }} aAdd(atit,{"AUTCMTIT",aFKF,Nil}) aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },; { "FKG_IDFKE" , "000001" , NIL },;// Código do complemento do Imposto da tabela FKE { "FKG_DESCR" , "ABAT MATERIAL 1" , NIL },; { "FKG_VALOR", 1000 , NIL }} aAdd(aFKG,aAuxFKG) aAuxFKG := {}
aAuxFKG := { { "FKG_ITEM" , "000002" , NIL },; { "FKG_IDFKE" , "000003" , NIL },;// Código do complemento do Imposto da tabela FKE { "FKG_DESCR" , "ABAT ALIMENT 1" , NIL },; { "FKG_VALOR", 2000 , NIL } } aAdd(aFKG,aAuxFKG) aAuxFKG := {} aAdd(atit,{"AUTCMIMP",aFKG,Nil}) MsExecAuto( { |a,b,c| FINA050(a,b,c)} , atit,, 3)// 3 - Inclusao, 4 - Alteração, 5 - Exclusão If lMsErroAuto MostraErro() Else Alert("Título incluído com sucesso!") Endif Return /* Exemplo 02: Alteração somente dos dados do título, sem alteração na FKF e FKG */ User Function A050Alt1()
LOCAL atit := {} LOCAL aFKF := {} LOCAL aFKG := {} LOCAL aAuxFKG := {} LOCAL lCont := .F. PRIVATE lMsErroAuto := .F. atit := { { "E2_PREFIXO" , "AUT" , NIL },; { "E2_NUM" , "0001 " , NIL },; { "E2_TIPO" , "NF " , NIL },; { "E2_PARCELA" , " " , NIL },; { "E2_NATUREZ" , "NATIRINSS" , NIL },; { "E2_FORNECE" , "000001" , NIL },; { "E2_LOJA" , "01" , NIL },; { "E2_EMISSAO" , CtoD("20/06/2017"), NIL },; { "E2_VENCTO" , CtoD("20/06/2017"), NIL },; { "E2_VENCREA" , CtoD("20/06/2017"), NIL },; { "E2_VALOR" , 15000 , NIL } } DbSelectArea("SE2") DbSetOrder(1) lCont:= DbSeek(xFilial("SE2")+"AUT"+"0001 "+" "+"NF "+"00000101") //Alteração deve ter o registro SE2 posicionado If lCont MsExecAuto( { |a,b,c| FINA050(a,b,c)} , atit,, 4)// 3 - Inclusao, 4 - Alteração, 5 - Exclusão Endif If lMsErroAuto MostraErro() Elseif lCont Alert("Título alterado com sucesso!") Endif Return /* Exemplo 03: Alteração dos dados de complemento do imposto do título (FKG), alterando o valor do abatimento */ User Function A050Alt2() LOCAL atit := {} LOCAL aFKF := {} LOCAL aFKG := {} LOCAL aAuxFKG := {} LOCAL lCont := .F. PRIVATE lMsErroAuto := .F. atit := { { "E2_PREFIXO" , "AUT" , NIL },; { "E2_NUM" , "0001 " , NIL },; { "E2_TIPO" , "NF " , NIL },; { "E2_PARCELA" , " " , NIL },; { "E2_NATUREZ" , "NATIRINSS" , NIL },; { "E2_FORNECE" , "000001" , NIL },; { "E2_LOJA" , "01" , NIL },; { "E2_EMISSAO" , CtoD("20/06/2017"), NIL },; { "E2_VENCTO" , CtoD("20/06/2017"), NIL },; { "E2_VENCREA" , CtoD("20/06/2017"), NIL },; { "E2_VALOR" , 15000 , NIL } } aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },; { "FKG_IDFKE" , "000001" , NIL },;// Código do complemento do Imposto da tabela FKE { "FKG_DESCR" , "ABAT MATERIAL 1" , NIL },; { "FKG_VALOR", 3000 , NIL }} aAdd(aFKG,aAuxFKG) aAdd(atit,{"AUTCMIMP",aFKG,Nil}) DbSelectArea("SE2") DbSetOrder(1) lCont:= DbSeek(xFilial("SE2")+"AUT"+"0001 "+" "+"NF "+"00000101") //Exclusão deve ter o registro SE2 posicionado If lCont MsExecAuto( { |a,b,c| FINA050(a,b,c)} , atit,, 4)// 3 - Inclusao, 4 - Alteração, 5 - Exclusão Endif If lMsErroAuto MostraErro() Elseif lCont Alert("Título alterado com sucesso!") Endif Return /* Exemplo 04: Exclusão do título com FKF e FKG, somente informar o título a ser excluído. */ User Function Auto050Exc() LOCAL atit := {} LOCAL lCont := .F. PRIVATE lMsErroAuto := .F. atit := { { "E2_PREFIXO" , "AUT" , NIL },; { "E2_NUM" , "0001 " , NIL },; { "E2_TIPO" , "NF " , NIL },; { "E2_PARCELA" , " " , NIL },; { "E2_NATUREZ" , "NATIRINSS" , NIL },; { "E2_FORNECE" , "000001" , NIL },; { "E2_LOJA" , "01" , NIL },; { "E2_EMISSAO" , CtoD("20/06/2017"), NIL },; { "E2_VENCTO" , CtoD("20/06/2017"), NIL },; { "E2_VENCREA" , CtoD("20/06/2017"), NIL },; { "E2_VALOR" , 15000 , NIL } } DbSelectArea("SE2") DbSetOrder(1) lCont:= DbSeek(xFilial("SE2")+"AUT"+"0001 "+" "+"NF "+"00000101") //Exclusão deve ter o registro SE2 posicionado If lCont MsExecAuto( { |a,b,c | FINA050(a,b,c)} , atit,, 5) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão Endif If lMsErroAuto MostraErro() Elseif lCont Alert("Título Excluido com sucesso!") Endif Return /* Exemplo 05: Teste de inclusão de título com complemento de título (FKF) e com complemento do imposto do título (FKG) de dedução do valor do imposto por processo judicial. */
User Function A050Inc2() LOCAL atit := {} LOCAL aFKF := {} LOCAL aFKG := {} LOCAL aAuxFKG := {} PRIVATE lMsErroAuto := .F. atit := { { "E2_PREFIXO" , "AUT" , NIL },; { "E2_NUM" , "0002 " , NIL },; { "E2_TIPO" , "NF " , NIL },; { "E2_PARCELA" , " " , NIL },; { "E2_NATUREZ" , "NATIRINSS" , NIL },; { "E2_FORNECE" , "000001" , NIL },; { "E2_LOJA" , "01" , NIL },; { "E2_EMISSAO" , CtoD("20/06/2017"), NIL },; { "E2_VENCTO" , CtoD("20/06/2017"), NIL },; { "E2_VENCREA" , CtoD("20/06/2017"), NIL },; { "E2_VALOR" , 10000 , NIL } } aFKF := { { "FKF_CPRB" , "1" , NIL },; { "FKF_CNAE" , "0112-1/02" , NIL },; { "FKF_TPSERV", "01" , NIL },; { "FKF_INDSUS", "2" , NIL }} aAdd(atit,{"AUTCMTIT",aFKF,Nil}) aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },; { "FKG_IDFKE" , "000002" , NIL },;// Código do complemento do imposto (FKE) { "FKG_DESCR" , "DISPENSA INSS" , NIL },; { "FKG_NUMPRO" , "0000001" , NIL },; // Código do processo judicial/adm (CCF) { "FKG_VALOR", 100 , NIL }} aAdd(aFKG,aAuxFKG) aAuxFKG := {} aAdd(atit,{"AUTCMIMP",aFKG,Nil}) MsExecAuto( { |a,b,c| FINA050(a,b,c)} , atit,, 3)// 3 - Inclusao, 4 - Alteração, 5 - Exclusão If lMsErroAuto MostraErro() Else Alert("Título incluído com sucesso!") Endif Return /*
Exemplo 06: Teste de alteração do valor do título e do valor complemento do imposto do título (FKG) de dedução do valor do imposto por processo judicial. */ User Function A050Al22() LOCAL atit := {} LOCAL aFKF := {} LOCAL aFKG := {} LOCAL aAuxFKG := {} LOCAL lCont := .F. PRIVATE lMsErroAuto := .F. atit := { { "E2_PREFIXO" , "AUT" , NIL },; { "E2_NUM" , "0002 " , NIL },; { "E2_TIPO" , "NF " , NIL },; { "E2_PARCELA" , " " , NIL },; { "E2_NATUREZ" , "NATIRINSS" , NIL },; { "E2_FORNECE" , "000001" , NIL },; { "E2_LOJA" , "01" , NIL },; { "E2_EMISSAO" , CtoD("20/06/2017"), NIL },; { "E2_VENCTO" , CtoD("20/06/2017"), NIL },; { "E2_VENCREA" , CtoD("20/06/2017"), NIL },; { "E2_VALOR" , 20000 , NIL } } aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },; { "FKG_IDFKE" , "000002" , NIL },; { "FKG_DESCR" , "AUMENTADO" , NIL },; { "FKG_VALOR", 300 , NIL }} aAdd(aFKG,aAuxFKG) aAuxFKG := {} aAdd(atit,{"AUTCMIMP",aFKG,Nil}) DbSelectArea("SE2") DbSetOrder(1) lCont:= DbSeek(xFilial("SE2")+"AUT"+"0002 "+" "+"NF "+"00000101") //Alteração deve ter o registro SE2 posicionado If lCont MsExecAuto( { |a,b,c| FINA050(a,b,c)} , atit,, 4)// 3 - Inclusao, 4 - Alteração, 5 - Exclusão Endif If lMsErroAuto MostraErro() Elseif lCont Alert("Título alterado com sucesso!") Endif Return /* Exemplo 07: inclusao de titulo com complemento do imposto inexistente. Será exibida a mensagem que não existe o cadastro de complemento, porém o título será incluído sem complemento.*/ User Function A050Inc3() LOCAL atit := {} LOCAL aFKF := {} LOCAL aFKG := {} LOCAL aAuxFKG := {} PRIVATE lMsErroAuto := .F. atit := { { "E2_PREFIXO" , "AUT" , NIL },; { "E2_NUM" , "0003 " , NIL },; { "E2_TIPO" , "NF" , NIL },; { "E2_PARCELA" , " " , NIL },; { "E2_NATUREZ" , "NATIRINSS" , NIL },; { "E2_FORNECE" , "000001" , NIL },; { "E2_LOJA" , "01" , NIL },; { "E2_EMISSAO" , CtoD("20/06/2017"), NIL },; { "E2_VENCTO" , CtoD("20/06/2017"), NIL },; { "E2_VENCREA" , CtoD("20/06/2017"), NIL },; { "E2_VALOR" , 20000 , NIL } } aAuxFKG := { { "FKG_ITEM" , "000001" , NIL },; { "FKG_IDFKE" , "000005" , NIL },; { "FKG_DESCR" , "DISPENSA INSS" , NIL },; { "FKG_VALOR", 100 , NIL }} aAdd(aFKG,aAuxFKG) aAuxFKG := {} aAdd(atit,{"AUTCMIMP",aFKG,Nil}) MsExecAuto( { |a,b,c| FINA050(a,b,c)} , atit,, 3)// 3 - Inclusao, 4 - Alteração, 5 - Exclusão If lMsErroAuto MostraErro() Else Alert("Título incluído com sucesso!") Endif Return |