• A Confluence está sendo executada atualmente com todos os plugins que não são do sistema desabilitados. Pode haver perda de algumas funcionalidades
Páginas filhas
  • Clearing Between Portfolios - FINA450 - Financials P12

Note

This routine was adjusted to comply with the General Personal Data Protection Law (Statute No. 13.70) so that some fields containing data regarded as sensitive and/or personal are blurred, becoming illegible.

01. OVERVIEW

Use this routine to execute clearings of bills payable with bills receivable, thus offsetting accounts between supplier and customer.

This process takes the following bills into account:

  • Debit bills - example:  NF (Tax Invoice), BOL (Bank Slip), etc.
  • Credit bills - example: PA (Advance Payment), RA (Advance Receipt), and return bills (NDF and NCC).

02. EXECUTION

  • Manually

Procedure manually performed through the Clearing Between Portfolios (FINA450), with the display of the screens involved in the process - actions/commands from the user are required

  • Automatically

Procedure automatically performed in the Clearing Between Portfolios routine (FINA450) without the display of screen - no interaction from the user required.
Used in customizations in which the process does not require user interactions (MSEXECAUTO)

Example of automatic routine
#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}} //Optional parameter to be entered only when a clearance between multiple branches exist
 
    MSExecAuto({|x,y,z| Fina450(x,y,z)}, nil , aAutoCab , 3 )
 
    If !lMsErroAuto
        ConOut("Added successfully! ")
        confirmsx8()
    Else
        ConOut("Error when adding!")
        rollbacksx8()
        MostraErro()
    EndIf
 
    RestArea(aArea)
Return

Note

Important:

  • For the clearing to work between branches, use the parameter AUTAFILCOMP; otherwise, there is no need to set it.
  • If the Customer and Supplier stores are empty, the system will consider all stores with the same supplier and customer code.  (Available as of June 1st, 2023)

For further information, access the automatic routine documentation.
Automatic Clearing Between Portfolios


03. OPERATIONS

  • Clear

Operation for clearing between portfolios payable/receivable. 

  • Cancel

Operation for canceling the transaction generated by the clearing.

  • Reversal 

Operation for reversing the transaction generated by the clearing.

  • Caption

It displays the caption chart and meanings related to the bill payable.

  • Search

Search for the bill in the accounts payable file, having it placed and highlighted in the browser.

  • View

Operation for viewing the bill selected, so you can check its balance and value.

04. PARAMETERS APPLIED

List of parameters applied to FINA450 and its processing


05. MAIN PROCESSES


06. ACCOUNTING

The booking of processes applied to accounts payable clearing via the Financials module is done through the standard entries below:

SE

Taxable Event

ON

OFF (CTBAFIN)

535

Cancellation of Bills Payable/Receivable Clearing

X


594

Accounts Payable/Receivable - Clearance Between Portfolios

X




07. TABLES

  • SE2 - Accounts Payable Register
  • SE1 - Accounts Receivable Register
  • SE5 - Bank Transaction
  • SED - Natures Register
  • SA1 – Customers Register
  • SA2 – Suppliers Register
  • FK2 - Postings Payable
  • FK1 - Postings Receivable
  • FK6 - Accessory Values
  • FK7 - Auxiliary Table
  • FKA - Transaction Tracing


08. ENTRY POINTS

Entry point

Note

F450BROW

Entry point that allows handling field contents, and which fields will compose the browser in the clearing between portfolios routine.
Documentation: {+}https://tdn.totvs.com/x/p6Rc+

lFA450BU

Entry point lFA450BU allows the customer to add a button.
Documentation: {+}https://tdn.totvs.com/x/E6Vc+

F450ValCon

Use entry point F450ValCon to validate the data related to selected bills and to control the clearing confirmation process, in routine Portfolios Clearing. Executed in function FA450CMP().
Documentation: {+}https://tdn.totvs.com/x/haVc+

F450SE5

Entry point F450SE5 is executed after all bills selected onscreen are cleared.
Documentation: {+}https://tdn.totvs.com/x/GqNc+

F450OWN

 Assemble filter expression of SE1 file in IndRegua. 
Documentation: {+}https://tdn.totvs.com/x/FqNc+

F450FIL

Customize IndRegua filter 
Documentation: {+}https://tdn.totvs.com/x/nwtRCg+

F450OWN1

Assemble filter expression of SE2 file in IndRegua. 
Documentation: {+}https://tdn.totvs.com/x/9GASCw+

F450FIL1

Customize IndRegua filter 
Documentation: {+}https://tdn.totvs.com/x/ogtRCg+

F450ORDEM


F450GRAVA

To handle the data of the temporary table responsible for clearing.
Documentation: {+}https://tdn.totvs.com/x/k422C+

F450Conf

Entry point F450CONF validates the marking of bills for clearing.
Documentation: {+}https://tdn.totvs.com/x/FaNc+

F450valid

Use this entry point to validate clearing screen data.
Documentation: {+}https://tdn.totvs.com/x/iaVc+

F450CAES

Entry point F450CAES validates or executes a procedure after the user confirms the Cancellation/Reversal of clearing between portfolios.
Documentation: {+}https://tdn.totvs.com/x/FKNc+

F450SE1C

Entry point F450SE1C makes complementary recordings in file SE1. It requires no return and does not go through any parameter.
Documentation: {+}https://tdn.totvs.com/x/GKNc+

F450SE2C

Entry point F450SE2C makes complementary recordings in file SE2. It requires no return and does not go through any parameter.
Documentation: {+}https://tdn.totvs.com/x/GaNc+

FA450BUT

Entry point FA450BUT adds toolbar options. Its return is the button array.
Documentation: {+}https://tdn.totvs.com/x/vaNc+

FILEMOT

Entry point to read the text file of accounts receivable posting reasons.
Documentation: {+}https://tdn.totvs.com/x/IF1NDQ+