                        JURNALE DE INCASARI/PLATI V8.C

PARAMETRII:
    I - document de incasare
    P - document de plata
    R - document REVC/REVF
    T - document TVAI/TVAP
    + - incrementeaza automat numarul documentului
    - - la generarea incasarilor/platilor multiple sunt luate in calcul 
        si facturile negative
        Presupune optiunea Facilitati de evidenta financiara. 
    = - observatiile din sectiunea Reprezentind.. din precedentul document de
        acelasi tip ale aceluiasi partener se preiau in documentul curent
    C - document validabil fara cont corespondent completat.
        Contul corespondent va fi completat in formule de validare sau
        va fi stabilit in formule de contare.
    c - atasare rubrici "Tip incasare", "Tip plata   " din Dictionar la
        incasari, plati. Apare la explicatii rindul 2, campul xF_ObsFac2
    N - numar comanda apare pe fereastra Articol

    1 - se cere completare manuala cod centru pentru document
        modificabil si dupa validare pentru documentele cu data inregistrarii
        dupa data arhivei
        (Presupune optiunea Centre de cost/profit)
        
    p - afisare, completare campuri suplimentare, 
        daca exista camp suplimentar in fisier.
        Valabil si pentru antet document si pentru lotul de intrare.
        (presupune optiunea Campuri suplimentare)   

------------------------------------------------------------------------------
|    Denumire     |Format | Explicatii                                       |
|    variabila    |       |                                                  |
------------------------------------------------------------------------------

-----------------------------
#INCEPUT, #SFIRSIT
-----------------------------
 xI_Aplicatie      C,30    Identificator aplicatie

 xI_Jrn            C,5     Cod jurnal = "MI..."
 xI_NrFila         C,6     Numar fila
 xI_DataFila       D,8     Data fila

 xI_TipDoc         C,5     Tip document
 xI_NrDoc          C,20    Numar document
 xI_Model          C,1     Model: A,B,C,...
 xI_DataDoc        D,8     Data document

 xI_TipIP          C,1     Tip incasare/plata: I-incasare, P-plata, S-sold
 xI_SumaVal        N12.2   Suma incasata/platita in valuta
 xI_Moneda         C,3     Moneda incasarii/platii
 xI_CursSch        N9.6    Cursul de schimb al incasarii/platii
 xI_Suma           N15.2   Suma incasata/platita in lei
 xI_SumaFac        N15.2   Suma in lei care se scade din sold furnizor/client
 xI_SumaRev        N15.2   Suma in lei care se adauga la sold furnizor/client

 xI_OpTva          C,5     Operatii TVA = xF_OpTva, xR_OpTva sau ""
                           "7" din xR_OpTva va fi inlocuit cu "2"
 xI_TvaIP          N15.2   TVA devenit exigibil daca "z"$xI_OpTva

 xI_StareIP        C,3     Stare incasare/plata: V-validat

 xI_TipFac         C,5     Tip factura incasata/Tip receptie platita
 xI_NrFac          C,6     Nr.factura incasata/Nr.receptie platita
 xI_TipRel         C,1     Tip relatie: F  -furnizor, V-vama, C-cheltuieli
                                        ' '-client
 xI_NrRegSp        C,10    N.regim special al facturii incasate
 xI_DataFac        D,8     Data facturii/Data receptiei
 xI_NrCmd          C,12    Numarul/codul comenzii, 
                           daca vid in IncPla si daca inc/pla fac/rec, 
                           se preia din fac/rec
 xI_CentDoc        C,11    Centru document
 xI_TotFacVal      N12.2   Totalul in valuta al facturii platite/incasate
 xI_CursFac        N9.6    Cursul de schimb al facturii
 xI_TotFac         N15.2   Totalul in lei al facturii platite/incasate
 xI_TotTva         N15.2   Total TVA al facturii
 xI_TotAcz         N15.2   Total accize in valoarea facturii
 xI_ObsFac1        C,40    Explicatii factura, rindul 1
 xI_ObsFac2        C,40    Explicatii factura, rindul 2

 xI_TipPart        C,      Tip partener: "F..", "P  ", "G  ", "S  "
 xI_CodPart        C,7     Cod partener
 xI_Partener       C,30    Denumire partener
 xI_CodFis         C,15    Cod fiscal partener
 xI_CodRco         C,15    Cod partener la Registrul comertului
 xI_CodP           C,7     Cod postal partener
 xI_Loc            C,20    Localitate partener
 xI_Adr1           C,40    Adresa partener rindul 1
 xI_Adr2           C,40    Adresa partener rindul 2
 xI_Jud            C,15    Judetul partenerului
 xI_ContB          C,20    Contul curent al partenerului
 xI_Banca          C,35    Banca la care este deschis contul xI_ContB
 xI_ObsPart        C,40    Explicatii partener

 xI_ContCrsp       C,11    Cont corespondent
 xI_CodLista       C,10    "R"-document REVC, REVF
                           "T"-document TVAI, TVAP

 xI_NrEx           N       Numarul de exemplar curent (numai la model)
 xI_Sf             L,1     Sfarsit document sau fila ?
                           In sectiunile #INCEPUTPAGINA, #SFIRSITPAGINA indica
                           daca au fost apelate din sectiunea #RIND (.F.) sau
                           din sectiunea #SFIRSIT (.T.).

 xI_Explicatii     C,40    Explicatii utilizabile in formule de contare

 xI_1, xI_2, ... , xI_9    Variabile utilizator
 
 x_1, x_2, ..., x_9        Variabile utilizator globale

 xI_sDcm                   Numai la listare.
                           Contine imaginea documentului in curs de creare.

---------------------------------
VALIDARE:

    Dupa procesarea sectiunii #SFIRSIT valoarea curenta a variabilelor:
        xI_ContCrsp
        xI_CodLista
        xI_CentDoc

        se scrie in fisierul "Incasari/Plati".

xI_SumaInc (nrjur,[datafila],[partener],[nrdoc],[@nrincpla])
    Calculeaza sumele incasate prin operatiile de incasare care corespund
    parametrilor transmisi.
    Vor fi luate in calcul doar incasarile validate.
    nrjur    -obligatoriu, poate reprezenta si o familie de jurnale.
              Ex. MIC,MICL,MICL1,etc.
    datafila -optional, data filei in care a fost inregistrata plata,
    partner  -optional, codul clientului, F-cod
    nrdoc    -optional, numarul facturii
    nrincpla -numar incasari

    Incasarile unei facturi:          
             xI_SumaInc("MICL",,,xI_NrFac+xI_TipRel)           
    Incasari de la un partner intr-o zi:                    
             xI_SumaInc("MICL",xI_DataFila,xI_TipPart+-"+xI_CodPart,)
             
xI_SumaPla (nrjur,[datafila],[partner],[nrdoc],[@nrincpla])
    Calculeaza sumele platite prin operatiile de plata care corespund
    parametrilor transmisi.
    Vor fi luate in calcul doar platile validate.
    nrjur    -obligatoriu, poate reprezenta si o familie de jurnale.
              Ex. MIC,MICL,MICL1 etc.
    datafila -optional, data filei in care a fost inregistrata plata, 
    partener -optional, codul furnizorului, F-cod
    nrdoc    -optional, numarul receptiei urmat de tip 
              (F-factura, V-vama, C-cheltuieli)
    nrincpla -numar plati          
              
    Platile unei facturi:          
             xI_SumaPla("MIC",,,xI_NrFac+xI_TipRel)           
    Plati catre un partner intr-o zi:                    
             xI_SumaPla("MIC",xI_DataFila,xI_TipPart+-"+xI_CodPart,)
    Plati intr-o zi catre Firme:                    
             xI_SumaPla("MIC",xI_DataFila,"F-",) 
              
---------------------------------
MODEL:

Oriunde in formulele de model se poate utiliza obiectul de descriere a
procesului de generare a unui camp. Acest obiect are numele FCall si
structura:

        HFC_CALLNB      1     -  numarul de ordine al apelului acestui
                                 camp
        HFC_PG          2     -  numar curent pagina document
        HFC_ROW         3     -  numar curent linie document
        HFC_COL         4     -  numar curent coloana document
                                 (de la care incepe campul apelat)
        HFC_WIDTH       5     -  latimea campului apelat
        HFC_TXTLEN      6     -  lungime text pe pagina (din format pagina)
        HFC_TXTWIDTH    7     -  latime text pe pagina  (din format pagina)
        HFC_WRAP        8     -  caracterele dupa care se fragmenteaza
                                 (eventual) campul apelat

Se folosesc numai constantele numerice, astfel: FCall [1], FCall [2], ...
Constantele simbolice nu sunt recunoscute in formule.

xI_NewPg (n) - salt la pagina noua, daca pe pagina curenta nu mai sunt n
               randuri libere. Returneaza "".
               Daca n lipseste, salt neconditionat la pagina noua.

--------------------------------------------------------------------
MODEL FILA:

 xI_NrFilaL        C,6     Numar fila care se listeaza
 xI_DataInc        D,8     Data primei  inregistrari din fila
 xI_DataSf         D,8     Data ultimei inregistrari din fila

--------------------------------------------------------------------
DATE DIN SOCIETATE:

InitialeSoc        ; Nume soc.        ; x_SocData()            ; C30
DenumireSoc        ; Denumire soc.    ; x_SocData("LG_NAME")   ; C50
LocalitateSoc      ; Localitate soc.  ; x_SocData("LOCALITATE"); C20
JudetSoc           ; Judet soc.       ; x_SocData("JUDET")     ; C15
CodFiscalSoc       ; CodFiscal soc.   ; x_SocData("COD_FISCAL"); C15
CodRegComSoc       ; Cod Reg.Com.soc. ; x_SocData("COD_REGCOM"); C15

Bk1NumeFiliala     ; Banca si suc.firma;
        RTRIM(x_SocData("BK1NUME"))+" "+x_SocData("BK1FILIALA"); C35
Bk1Cont            ; Cont firma       ; x_SocData("BK1CONT")   ; C30

Telefon; Telefon                        ; x_SocData("TELEFON") ; C10
TitA   ; Functia administrator          ; x_SocData("TIT1")    ; C15
NumeA  ; Nume si prenume administrator  ; x_SocData("NAME1")   ; C30
TitC   ; Functia contabil               ; x_SocData("TIT3")    ; C15
NumeC  ; Nume si prenume contabil       ; x_SocData("NAME3")   ; C30

--------------------------------------------------------------------
Adresa1            ; Adresa1          ;
        x_SocData("COD_POSTAL")+" - "+x_SocData("LOCALITATE")         +
        IF(EMPTY(x_SocData("JUDET")) ,""," jud. "+x_SocData("JUDET")) +
        IF(EMPTY(x_SocData("SECTOR")),""," sect."+x_SocData("SECTOR")) ; C66
Adresa2; Adresa2                        ;
        "str."+x_SocData("STRADA")+" nr."+x_SocData("NR")         +
        IF(EMPTY(x_SocData("BLOC")) ,""," bl."+x_SocData("BLOC")) +
        IF(EMPTY(x_SocData("SCARA")),""," sc."+x_SocData("SCARA"))+
        IF(EMPTY(x_SocData("AP")),   ""," ap."+x_SocData("AP"))        ; C66

--------------------------------------------------------------------
ContSoc            ; Cont soc         ;
   vf_tjur(inc->NRJUR),
   (xI_5 := IF(SUBSTR(tjur->DENUM,2,1)="-",SUBSTR(tjur->DENUM,1,1),"1")),
   (xI_5 := IF("1"<=xI_5.AND.xI_5<="4",xI_5,"1")),
   (xI_6 := x_SocData("BK"+xI_5+"CONT")),xI_6                  ; C30
BancaSoc           ; Banca soc.       ;
   RTRIM(x_SocData("BK"+xI_5+"NUME"))+" "+
   RTRIM(x_SocData("BK"+xI_5+"FILIALA"))                       ; C41

--------------------------------------------------------------------
Structura SOCIETATE.DBF

SH_NAME    - Character -    30
COD_FISCAL - Character -    15
COD_REGCOM - Character -    15
CAP_SOCIAL - Numeric   -    10
LG_NAME    - Character -    50
TIT1       - Character -    15
NAME1      - Character -    30
TIT2       - Character -    15
NAME2      - Character -    30
TIT3       - Character -    15
NAME3      - Character -    30
LOCALITATE - Character -    20
COD_POSTAL - Character -     7
COD_JUDET  - Character -     2
JUDET      - Character -    15
SECTOR     - Character -     5
STRADA     - Character -    20
NR         - Character -     5
BLOC       - Character -     5
SCARA      - Character -     5
ETAJ       - Character -     5
AP         - Character -     5
TELEFON    - Character -    10
FAX        - Character -    10
E_MAIL     - Character -    50
BK1NUME    - Character -    20
BK1FILIALA - Character -    20
BK1CONT    - Character -    30
BK2NUME    - Character -    20
BK2FILIALA - Character -    20
BK2CONT    - Character -    30
BK3NUME    - Character -    20
BK3FILIALA - Character -    20
BK3CONT    - Character -    30
BK4NUME    - Character -    20
BK4FILIALA - Character -    20
BK4CONT    - Character -    30
RF_COD_FIS - Character -    15
RF_DENUM   - Character -    50
RF_FUNCTIE - Character -    30
RF_ADRESA  - Character -    80
RF_TELEFON - Character -    10
RF_FAX     - Character -    10
RF_E_MAIL  - Character -    50
PF_NUME    - Character -    50
PF_CNP     - Character -    13
PF_FUNCTIA - Character -    30
PJ_DENUM   - Character -    50
PJ_CIF     - Character -    13
PJ_CALITAT - Character -    30
------------------------------------------------------------------------------
