Functii de preluare valori conturi si clase

In MAX exista mai multe functii cu care poti prelua diferite valori ale conturilor sau clasekir de conturi. Este foarte important sa intelegem aceste confuze notiuni de contabilitate creeate si gandite de niste minti bonlave.

1. CfoBi::getAccountValues($accountCatalogId, $dateStart, $dateEnd, $companyId = 0, $showBalanceType = 1, $isForeignCurrency = FALSE)

Functia intoarce setul complet de valori pentru contul dat. Este recomandat sa folositi aceasta functie numai daca aveti nevoie de majoritatea valorilor. Altfel, foloseste getter-ele individuale.

$ret = array(
  'dcType'     => 0,
  'siDebitor'  => 0,
  'siCreditor' => 0,
  'spDebitor'  => 0,
  'spCreditor' => 0,
  'tpDebitor'  => 0,
  'tpCreditor' => 0,
  'rcDebitor'  => 0,
  'rcCreditor' => 0,
  'rpDebitor'  => 0,
  'rpCreditor' => 0,
  'rtDebitor'  => 0,
  'rtCreditor' => 0,
  'tsDebitor' => 0,
  'tsCreditor' => 0, 
  'sfDebitor'  => 0,
  'sfCreditor' => 0
);

Semnificatia valorilor:

dcType

Tipul contului : 0=bidirectional, 1=debitor, 2=creditor. Se intoarce direct din baza de date, din ap_account sau din company_account_catalog, in functie de caz.

siDebitor

Sold initial debitor al perioadei specificate, adica sold initial (cel de la 01 ian) + ce s-a inregistrat pana dateStart.

siCreditor

Sold initial creditor al perioadei specificate, adica sold initial (cel de la 01 ian) + ce s-a inregistrat pana dateStart.

♣ Atentie: si-urile in sens “absolut” sunt diferite de acestea si sunt intoarse de getAccountValueInitialBalance() – vezi mai jos.

spDebitor

Sold precedent debitor, adica diferenta intre debit si credit pe perioada 01-ian pana la dateStart, care se inregistreaza pe debit.

spCreditor

Sold precedent creditor, adica diferenta intre debit si credit pe perioada 01-ian pana la dateStart, care se inregistreaza pe credit.

♣ Atentie: soldul precedent “sp” se returneaza pe spDebitor daca deltaD>deltaC, sau pe spCreditor daca invers.

tpDebitor

Total precedent debitor, adica valoarea de pe contul debitor inainte de dateStart. In fapt in cod se intoarce ca siDebitor-rpDebitor.

tpCreditor

Total precedent creditor, adica valoarea de pe contul debitor inainte de dateStart. In fapt in cod se intoarce ca siCreditor-rpCreditor.

rcDebitor

Rulaj curent debitor, adica valoarea de pe debit de la dateEnd – valoarea de pe debit de la dateStart.

rcCreditor

Rulaj curent crecitor, adica valoarea de pe credit de la dateEnd – valoarea de pe credit de la dateStart.

rpDebitor

Rulaj precedent debitor, adica valoarea de pe debit de la dateStart – valoarea de pe debit de la 01 ian YEAR(dateStart)

rpCreditor

Rulaj precedent creditor, adica valoarea de pe credit de la dateStart – valoarea de pe credit de la 01 ian YEAR(dateStart)

rtDebitor

Rulaj total debitor, adica valoarea contului debitor la dateEnd.

rtCreditor

Rulaj total creditor, adica valoarea contului creditor la dateEnd.

tsDebitor

Total sume debitor, adica valoarea contului debitor la dateEnd + soldul initial debitor.

tsCreditor

Total sume creditor, adica valoarea contului creditor la dateEnd + sold initial creditor.

sfDebitor

Sold final debitor, adica rtDebitor-rtCreditor daca aceasta diferenta > 0 sau 0 altfel.

sfCreditor

Sold final creditor, adica tsDebitor – tsCreditor daca aceasta diferenta > 0 sau 0 altfel.

♣ Atentie: daca contul este bidirectional atunci sp-urile si sf-urile se pot pune fie pe D fie pe C. Noi le punem acolo unde rezulta diferenta pozitiva.

 

2. CfoBi::getAccountValueInitialBalance($accountCatalogId, $columnType, $dateStart, $dateEnd, $companyId = 0, $isForeignCurrency = FALSE)

Intoarce valorile initiale – in “sens de DB” ** – ale contuli specificat, sau “soldul initial debitor/creditor” pentru datele specificate. Adica intoarce cea mai recenta valoare – pana in dateStart – de pe debit/credit din company_balance.

** adica folosind conditia de selectie care este: columnType=x AND companyId=y AND date(date) <=prevYear unde prevYear este date(‘Y-12-31’, strtotime($dateStart . ‘-1 year’)).

 

3. CfoBi::getAccountValue($accountCatalogId, $columnType, $dateEnd, $companyId = 0, $monthly = FALSE, $isForeignCurrency = FALSE, $dateStart = FALSE)

Intoarce valoarea contului specificat de pe D/C (in functie de columnType) pentru data specificata, adica valoarea din company_balance.total sau totalCurrency. Daca nu exista entry-uri in company_balance pe criteriile de mai sus, atunci se cauta in balance_history si se intoarce siDebitor/siCreditor (in functie de columnType). Daca nici aici nu exista date, atunci se intoarce zero.

Daca $monthly atunci cautarea in company_balance se face dupa date(date) < $dateEnd 23:59:59 si daca nu, atunci se cauta date(date) BETWEEN Y(dateStart)-01-01 00:00:000 si $dateEnd 23:59:59.

In balance_history se cauta dupa date(date)<=dateEnd indiferent de $monthly.

 

4. CfoBi::getAccountPreviousValues($accountCatalogId, $columnType, $dateStart, $dateEnd, $companyId = 0, $isForeignCurrency = FALSE)

Intoarce valorile “anterioare” ale contului specificat. (todo…)

About

Software Development Manager, Architect

Leave a Reply

Your email address will not be published. Required fields are marked *

[TOP]