Tempo aproximado para leitura: 00:05:00 min
Dúvida
Qual a documentação para executar a rotina FINA330 via execauto?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Financeiro - FINA330 - Todas as versões
Solução
Para execução automática da compensação de contas a receber, é necessário o uso da função MaIntBxCr().
Por meio dessa função, é possível realizar a compensação automática entre dois títulos a receber (NF x Adiantamento).
Parâmetros da rotina
|
Posição
|
Parâmetro
|
Tipo
|
Descrição
|
|---|---|---|---|
| 1 | nCaso | numeric |
Código da operação a ser efetuada (numérico). [1] Baixa simples do financeiro; [2] Liquidação de títulos; [3] Compensação de títulos de mesma carteira (RA/NCC). |
| 2 | aSE1 | array | Vetor com os RECNOs dos títulos a serem baixados (exemplo: NF ou boleto). |
| 3 | aBaixa | array |
Vetor com os dados da baixa simples do financeiro. [1] Motivo da Baixa; [2] Valor Recebido; [3] Banco; [4] Agência; [5] Conta; [6] Data de Crédito; [7] Data da Baixa. |
| 4 | aNCC_RA | array | Vetor com os RECNOs dos títulos de créditos a serem compensados (exemplo: RA ou NCC) |
| 5 | aLiquidacao | array |
Vetor com os dados da liquidação do financeiro. [1] Prefixo; [2] Banco; [3] Agencia; [4] Conta; [5] Numero do Cheque; [6] Data Boa; [7] Valor; [8] Tipo; [9] Natureza; [10] Moeda. |
| 6 | aParam | array |
Vetor com os parâmetros da rotina [1] Contabiliza On-Line; [2] Aglutina Lançamentos Contábeis; [3] Digita lançamentos contábeis; [4] Juros para Comissão; [5] Desconto para Comissão; [6] Calcula Comissão. |
| 7 | NIL | NIL | Parâmetro interno. |
| 8 | aEstorno | array | Vetor com o campo E5_DOCUMEN referente à movimentação de compensação que se deseja estornar, podendo a sequência ser passada opcionalmente. Caso a sequência não seja informada, todas as compensação relativas aos documentos informados serão estornadas. Exemplo: {{{cDocumen}, cSeq}} ou {{cDocumen}} |
| 9 | NIL | NIL | Parâmetro interno. |
| 10 | NIL | NIL | Parâmetro interno. |
| 11 | nSaldoComp | numeric | Valor a compensar - Informe o valor que deseja compensar. Este valor deve ser menor ou igual ao saldo do título e maior que zero. Para compensação total, informar NIL. |
| 12 | aCpoUser | array | Vetor com os campos de usuário para gravação da liquidação. |
| 13 | aNCC_RAvlr | array | Parâmetro interno. |
| 14 | nSomaCheq | numeric | Parâmetro interno. |
| 15 | nTaxaCM | numeric | Taxa para correção monetária. |
| 16 | aTxMoeda | array |
Vetor com as taxas das moedas existentes. [1] Moeda; [2] Taxa da Moeda; |
| 17 | lConsdAbat | logical | Variável logica para consideração dos abatimentos. |
| 18 | NIL | NIL | Parâmetro interno. |
| 19 | NIL | NIL | Parâmetro interno. |
Exemplo de utilização:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#INCLUDE "PROTHEUS.CH"#INCLUDE "TBICONN.CH"//-------------------------------------------------------------------/*/ MaIntBxCrExemplo de compensação de títulos normais com adiantamentos - CR@since 27/07/2021@version 1.0/*///-------------------------------------------------------------------USER FUNCTION CmpAutCR()Local lRetOK := .T.Local aArea := GetArea()Local nTaxaCM := 5.2322Local aTxMoeda := {}Local nSaldoComp:= 1000.00 *nTaxaCM // Valor a ser compensado (Caso seja parcial Pode ser parcial) - Compensar apenas R$ 50,00Private nRecnoNDFPrivate nRecnoE1PREPARE ENVIRONMENT EMPRESA "TI" FILIAL "D MG 01 " MODULO "FIN" TABLES "SE2TI0","SE5TI0","SA6TI0","SEDTI0" Conout("----Inicio da Rotina Automatica!------") dbSelectArea("SE1") dbSetOrder(2) // E1_FILIAL, E1_CLIENTE, E1_LOJA, E1_PREFIXO, E1_NUM, E1_PARCELA, E1_TIPO, R_E_C_N_O_, D_E_L_E_T_ IF dbSeek(XFILIAL("SE1")+"000000"+"00"+"331"+"RA0001 "+" "+"RA ") nRecnoRA := RECNO() IF dbSeek(XFILIAL("SE1")+"000000"+"00"+"331"+"000001 "+" "+"DP ") nRecnoE1 := RECNO() PERGUNTE("FIN330",.F.) lContabiliza := (MV_PAR09 == 1) // Contabiliza On Line ? lDigita := (MV_PAR07 == 1) // Mostra Lanc Contab ? lAglutina := .F. /* ==> Utilizar esse trecho se quiser simular o botão Taxas da tela inicial do FINA330 ==> Verifique os parâmetros MV_CMP330 e MV_CMTXCON para tal. nTaxaCM := RecMoeda(dDataBase,SE1->E1_MOEDA) aAdd(aTxMoeda, {1, 1} ) aAdd(aTxMoeda, {2, nTaxaCM} ) */ SE1->(dbSetOrder(1)) //E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO+E1_FORNECE+E1_LOJA //NF X RA aRecRA := { nRecnoRA } aRecSE1 := { nRecnoE1 } /* //RA X NF aRecRA := { nRecnoE1 } aRecSE1 := { nRecnoRA } */ If !MaIntBxCR(3, aRecSE1,,aRecRA,,{lContabiliza,lAglutina,lDigita,.F.,.F.,.F.},,,,,nSaldoComp,,,, nTaxaCM, aTxMoeda) Help("XAFCMPAD",1,"HELP","XAFCMPAD","Não foi possível a compensação"+CRLF+" do titulo de adiantamento",1,0) lRet := .F. ENDIF ENDIF ENDIF RestArea(aArea)RESET ENVIRONMENTReturn lRet |
0 Comentários