Páginas filhas
  • Automatic Routine ATFA060 - Assets Transfer

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

CONTENTS

Índice
excludeCONTENTS

01. OVERVIEW

 Example of how to use the automatic routine ATFA060 - Asset Transfer

02. EXAMPLE

Bloco de código
languagegroovy
themeMidnight
titleACCOUNTING TRANSFER
linenumberstrue
User Function MyATFA060() 
 
Local aDadosAuto    := {}  // Array with data to be sent by MsExecAuto() for automatic recording. 
Local aParamAuto    := {} 
Private lMsHelpAuto := .F. // Determine whether help messages must be directed to log file 
Private lMsErroAuto := .F. // Determine whether any inconsistency occurred when running the routine in relation to the parameters entered 
 
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
//³ The example below was considered using only ledger account and cost center data. If ³ 
//³ needed, transmit the fields related to accounting items and value classes. ³ 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

dDatabase := 

...

Description

...

Automatic Routine ATFA060 - Assets Transfer

...

Examples

ACCOUNTING TRANSFER

User Function MyATFA060()

Local aDadosAuto    := {}  // Array with data to be sent by MsExecAuto() for automatic recording.

Local aParamAuto    := {}

Private lMsHelpAuto := .F. // Determine whether help messages must be directed to log file

Private lMsErroAuto := .F. // Determine whether any inconsistency occurred when running the routine in relation to the parameters entered

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ The example below was considered using only ledger account and cost center data. If ³

//³ needed, transmit the fields related to accounting items and value classes. ³

...

cTod("08/02/2010")

...

 

aDadosAuto:= { {'N3_FILIAL'

...

  ,ALLTRIM(xfilial("SN3")),Nil},; // Code of

...

 branch 
               {'N3_CBASE'   , "0000000002"          , Nil},; // Base code of

...

 asset 
               {'N3_ITEM'

...

    , "0001"

...

                , Nil},; // Sequential Item of asset base

...

 code 
               {'N3_TIPO'

...

    , "10" , Nil},; //

...

 Asset Type  
               {'N4_DATA'    , dDatabase             , Nil},; // Asset acquisition

...

 date 
               {'N3_CCUSTO'

...

  , "123"

...

                 , Nil},; // Cost Center of

...

 Expense 
               {'N3_CCONTAB' , "123"

...

                 , Nil},; // Ledger Account 
               {'N3_CCORREC' , "123"

...

                 , Nil},; // Asset Correction

...

 Account 
               {'N3_CDEPREC' , "123"

...

                 , Nil},; // Depreciation Expense

...

 Account 
               {'N3_CCDEPR'

...

  , "123"

...

                 , Nil},; // Accrued Depreciation

...

 Account 
               {'N3_CDESP'

...

   , "123"

...

                 , Nil},; // Depreciation Correction Account 
               {'N3_CUSTBEM' , "123"

...

                 , Nil},; // Cost Center of Asset

...

 Account 
               {'N3_CCCORR'

...

  , "123"

...

                 , Nil},; // Indexation Correction Cost

...

 Center 
               {'N3_CCDESP'  , "123"                 , Nil},; // Depreciation Expense Cost

...

 Center 
               {'N3_CCCDEP'

...

  , "123"

...

                 , Nil},; // Accrued Expense Cost

...

 Center 
               {'N3_CCCDES'

...

  , "123"

...

                 , Nil},; // Depreciation Correction Cost

...

 Center 
               {'N1_GRUPO'

...

   , "GR01"

...

                , Nil},; // Asset Group

...

 Code 
               {'N1_LOCAL'   , "LOCAL"               , Nil},; // Asset

...

 Location 
               {'N1_NFISCAL' , "NF001"

...

               , Nil},; // Invoice

...

 Number 
               {'N1_NSERIE'

...

  , "SERIE"

...

               , Nil},; // Invoice

...

 Series 
               {'N1_TAXAPAD' , "999999"

...

              , Nil},;  // Default Rate Code  
               {'TPN_CTRAB'

...

  , "

...

CT01  "              , Nil},; // Asset

...

 Work Center, used only when integrated to

...

 SIGAMNT 
               {'TPN_POSCON' , "150"

...

                 , Nil},; // First Asset Counter, used only when integrated to SIGAMNT 
               {'TPN_POSCO2' , "100"

...

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³

//³ how the example above uses the corresponding fields of table SN1. ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

// Question parameters of routine atfa060

...

                 , Nil}}  // Second Asset Counter, used only when integrated to SIGAMNT 

 
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³ 
//³ how the example above uses the corresponding fields of table SN1. ³ 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

// Question parameters of routine atfa060 
aAdd( aParamAuto, {"MV_PAR01", 1} ) //Question 01 - Book it ? 1 = Yes ; 2 = No

...

 
aAdd( aParamAuto, {"MV_PAR02", 2} ) //Question 02 - Display Accounting Entry ? 1 = Yes ; 2 = No

...

 
aAdd( aParamAuto, {"MV_PAR03", 2} ) //Question 02 - Group Entries ? 1 = Yes ; 2 = No

...

 

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

...

 
// You can set the fourth parameter with the following states.

...


//.T. = Mirror.

...

 
//.F. = Update.

...

 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

...

 
MSExecAuto({|x, y, w, z| AtfA060(x, y, w, z)},aDadosAuto, 4 ,, .F.)

...

 
 
If

...

 lMsErroAuto 
    lRetorno := .F.

...

 
    MostraErro()

...

Else

...

 
Else 
    lRetorno:=.T.

...

EndIf

...

 
EndIf 
 
Return
 
Aviso
titleImportant

In accounting transfer, the Execauto call for each asset must be done separately, because the automatic execution is prepared for transferring one asset type at a time.

Bloco de código
languagegroovy
themeMidnight
titlePHYSICAL TRANSFER
linenumberstrue
#Include 'Protheus.ch'

...


#Include 'Protheus.ch'

...


#Include 'tbiconn.ch'

...



User Function MyATFA060()

...


Local   aDadosAuto  := {}

...

   // Array with data to be sent by MsExecAuto() for automatic recording.

...


Private lMsHelpAuto := .F.

...

  // Determine whether help messages must be directed to log file

...


Private lMsErroAuto := .F.

...

   // Determine whether any inconsistency occurred when running the routine in relation to

...



//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

...


//³ The example below was considered using only ledger account and cost center data. If ³

...


//³ needed, transmit the fields related to accounting items and value classes.

...

                    ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

...

 

dDatabase := cTod("08/02/2010")

...



aDadosAuto:= {{'N3_CBASE'

...

        , "TRANSF    "           , Nil},;

...

    // Base code of

...

 asset
               {'N3_ITEM'

...

        , "001

...

 "                 , Nil},;

...

    // Sequential item of asset base

...

 code
               {'N3_TIPO'

...

    , "10"                       , Nil},; // Asset Type  
               {'N1_FILIAL'

...

      , "D MG 02

...

 "             , Nil},;

...

    // Asset Destination

...

 Branch
               {'N4_DATA'

...

        , dDatabase              , Nil},;

...

    // Asset acquisition

...

 date
               {'N3_CCUSTO'

...

      , "         "            , Nil},;    // Cost Center of Expense
               {'N3_CCONTAB'

...

     ,

...

 "101010100           " , Nil},;

...

    // Ledger

...

 Account
               {'N3_CCORREC'

...

     ,

...

 "                    " , Nil},;

...

    // Asset Correction

...

 Account
               {'N3_CDEPREC'

...

     ,

...

 "201010100           " , Nil},;

...

    // Depreciation Expense

...

 Account
               {'N3_CCDEPR'

...

      , "101010300           " , Nil},;

...

    // Accrued Depreciation

...

 Account
               {'N3_CDESP'

...

       , "                    " , Nil},;    // Depreciation Correction Account
               {'N3_CUSTBEM'

...

     ,

...

 "         "            , Nil},;

...

    // Cost Center of Asset

...

 Account
               {'N3_CCCORR'

...

      , "         "            , Nil},;    // Indexation Correction Cost Center
               {'N3_CCDESP'

...

      , "         "            , Nil},;    // Depreciation Expense Cost Center
               {'N3_CCCDEP'

...

      , "         "            , Nil},;    // Accrued Expense Cost Center
               {'N3_CCCDES'

...

      , "         "            , Nil},;    // Depreciation Correction Cost Center
               {'N1_GRUPO'

...

       , "    "                 , Nil},;    // Asset Group Code
               {'N1_LOCAL'

...

       , "      "               , Nil},;    // Asset Location
               {'N1_NFISCAL'

...

     ,

...

 "         "            , Nil},;    // Invoice Number
               {'N1_NSERIE'

...

      , "         "            , Nil},;    // Invoice Series
               {'N1_TAXAPAD'

...

     ,

...

              

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³

//³ how the example above uses the corresponding fields of table SN1.                 ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

...

 "      "               , Nil}}     // Default Rate Code
               
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³
//³ how the example above uses the corresponding fields of table SN1.                 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
// You can set the fourth parameter with the following states.
//.T. = Mirror. 
//.F. = Update. 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

MSExecAuto({|x, y, w, z| AtfA060(x, y, w, z)},aDadosAuto, 4,

...

 aParamAuto ,

...

 .F.)

...



If

...

 lMsErroAuto    
    lRetorno := .F.

...

    MostraErro()

Else   

...

    
    MostraErro()
Else    
    lRetorno:=.T.

...


EndIf

Return

...

Bloco de código

...

Language

...

Portuguese(Brazil)

...

Versions

...

12.1.6 and higher

...

Operating Systems Supported

...

All

...

Compatible with the following Databases

...

All

languagegroovy
themeMidnight
titlePARTIAL PHYSICAL TRANSFER
linenumberstrue
#Include 'Protheus.ch'
#Include 'Protheus.ch'
#Include 'tbiconn.ch'


User Function MyATFA060()
Local   aDadosAuto  := {}   // Array with data to be sent by MsExecAuto() for automatic recording.
Local aParamAuto    := {} 
Private lMsHelpAuto := .F.  // Determine whether help messages must be directed to log file
Private lMsErroAuto := .F.   // Determine whether any inconsistency occurred when running the routine in relation to

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ The example below was considered using only ledger account and cost center data. If ³
//³ needed, transmit the fields related to accounting items and value classes.                    ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

PREPARE ENVIRONMENT COMPANY 'T1' BRANCH 'D MG 01 ' TABLES 'SN1','SN3','SN4','FNR' MODULE 'ATF'

dDatabase := cTod("02/10/2023")

aDadosAuto:= {{'N3_CBASE'        , "TRANSF6   "           , Nil},;    // Base code of asset
               {'N3_ITEM'        , "001 "                 , Nil},;    // Sequential item of asset base code
               {'N3_TIPO'        , "10"                   , Nil},; // Asset Type  
               {'N1_FILIAL'      , "D MG 02 "             , Nil},;    // Asset Destination Branch
               {'N1_QUANTD'      , 4                      , Nil},;    // Target quantity
               {'N4_DATA'        , dDatabase              , Nil},;    // Asset acquisition date
               {'N3_CCUSTO'      , "         "            , Nil},;    // Cost Center of Expense
               {'N3_CCONTAB'     , "101010100           " , Nil},;    // Ledger Account
               {'N3_CCORREC'     , "                    " , Nil},;    // Asset Correction Account
               {'N3_CDEPREC'     , "201010100           " , Nil},;    // Depreciation Expense Account
               {'N3_CCDEPR'      , "                    " , Nil},;    // Accrued Depreciation Account
               {'N3_CDESP'       , "                    " , Nil},;    // Depreciation Correction Account
               {'N3_CUSTBEM'     , "         "            , Nil},;    // Cost Center of Asset Account
               {'N3_CCCORR'      , "         "            , Nil},;    // Indexation Correction Cost Center
               {'N3_CCDESP'      , "         "            , Nil},;    // Depreciation Expense Cost Center
               {'N3_CCCDEP'      , "         "            , Nil},;    // Accrued Expense Cost Center
               {'N3_CCCDES'      , "         "            , Nil},;    // Depreciation Correction Cost Center
               {'N1_GRUPO'       , "    "                 , Nil},;    // Asset Group Code
               {'N1_LOCAL'       , "      "               , Nil},;    // Asset Location
               {'N1_NFISCAL'     , "         "            , Nil},;    // Invoice Number
               {'N1_NSERIE'      , "         "            , Nil},;    // Invoice Series
               {'N1_TAXAPAD'     , "      "               , Nil} }    // Default Rate Code
               
               
               
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³
//³ how the example above uses the corresponding fields of table SN1.                 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

// Question parameters of routine atfa060 
aAdd( aParamAuto, {"MV_PAR01", 1} ) //Question 01 - Book it ? 1 = Yes ; 2 = No 
aAdd( aParamAuto, {"MV_PAR02", 2} ) //Question 02 - Display Accounting Entry ? 1 = Yes ; 2 = No 
aAdd( aParamAuto, {"MV_PAR03", 2} ) //Question 02 - Group Entries ? 1 = Yes ; 2 = No 

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
// You can set the fourth parameter with the following states.
//.T. = Mirror. 
//.F. = Update. 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

MSExecAuto({|x, y, w, z| AtfA060(x, y, w, z)},aDadosAuto, 4, aParamAuto , .F.)

If lMsErroAuto    
    lRetorno := .F.    
    MostraErro()
Else    
    lRetorno:=.T.
EndIf

Return  

...

Source Program

...