Detali informacija apie klientą su vėluojančia suma

Servisas -> Pardavimai -> Pardavimo operacijos -> Pardavimo koregavimas

Vedant pardavimo operaciją galima greitai pasižiūrėti glaustą informaciją apie klientą: bendrą ir vėluojančią skolą, kredito limitą, dokumentus, kuriuos vėluojama apmokėti, jų sumą, datą ir mokėjimo datą.

Užprogramuojamas klavišas.

Spaudžiama mygtukų kombinacija Ctrl+Q. Atsidaro langas "Vartotojo funkcijų sąrašas".
Spaudžiamas mygtukas "Naujas". Jei to negalima atlikti, reiškia, vartotojui trūksta teisių - tada jungiamasi vardu MASTER.
Spaudžiamas klavišas, kurį norima užsiprogramuoti, pavyzdžiui F11.
Jei programuojama tik konkrečiam vartotojui, jis nurodomas vartotojo lauke.

Pavadinimo lauke įrašoma "Detali informacija apie klientą su vėluojančia suma ".
Komandos lauke įrašoma:

m.kodas_ks=titi_pagr.ad.lapas.Page1.kodas_ks.VALUE
m.pp_suma_o=wi06k.i06_suma+wi06k.i06_suma_pvm
m.kodas_po=wi06k.i06_kodas_po
m.kodas_kt=''
m.pp_suma_kt=0

EXECSCRIPT(SUBSTR(komanda_v,ATC(CHR(13),komanda_v,ij_k+1)))
EXIT
*- bendras kredito limitas
local ss_limit,ss_suma_db,ss_suma_cr,srv
Private modul_
modul_="RO"

ss_limit=0.00
ss_suma_db=0.00
ss_suma_cr=0.00
if empty(kodas_ks)
    =l_window("Įveskite kliento kodą!")
    return .t.
endif
ala=alias()
if used("SS_kur")
    use in SS_kur
endif

if type("n08.n08_kodas_ks")="U" or type("n08.n08_kred_lim")="U" or type("n08.n08_credit_lim")="U" or n08.n08_kodas_ks#kodas_ks
    if !F_SEEK("n08",kodas_ks)
        =l_window("Sąraše nėra tokio kliento!")
        return .t.
    endif
endif

srv=l_tek("Klientas")+" "+alltrim(kodas_ks)+" "+alltrim(n08.n08_pav)+chr(13)+chr(13)

if !n08.n08_kred_lim=1
    srv=srv+l_tek("Bendras kredito limitas nekontroliuojamas!")+chr(13)
else
    sak="select sum(i44_skol.i44_suma_db) as suma_db,sum(i44_skol.i44_suma_cr) as suma_cr from i44_skol where i44_skol.i44_kodas_ks=?kodas_ks and not i44_skol.i44_tipas=11"
    if type("kodas_po")="C"
        sak=sak+" and not (i44_skol.i44_kodas_op=?kodas_po and i44_skol.i44_modul=?modul_)"
    endif
    if f_select(sak,"SS_kur")
        if !ISNULL(SS_kur.suma_db) or !ISNULL(SS_kur.suma_cr)
            ss_suma_db=ss_suma_db+SS_kur.suma_db
            ss_suma_cr=ss_suma_cr+SS_kur.suma_cr
        endif
    endif
    if used("SS_kur")
        use in SS_kur
    endif
    sak="select sum(i07_pard.i07_suma-(sign(i06_parh.i06_val_poz-1)*(i07_pard.i07_pvm+i07_pard.i07_muitas_pvm"+;
        "+i07_pard.i07_akcizas_pvm+i07_pard.i07_islaidos_pvm))) as suma from i06_parh,i07_pard where i06_parh.i06_op_tip=51 and i06_parh.i06_perkelta=1 and i06_parh.i06_mok_suma=0 "+;
        "and i06_parh.i06_kodas_ks=?kodas_ks and i06_parh.i06_kodas_po=i07_pard.i07_kodas_po"
    if type("kodas_po")="C"
        sak=sak+" and not i06_parh.i06_kodas_po=?kodas_po"
    endif
    if f_select(sak,"SS_kur")
        if !ISNULL(SS_kur.suma)
            ss_suma_db=ss_suma_db+SS_kur.suma
        endif
    endif

    if used("SS_kur")
        use in SS_kur
    endif
    sak="select sum(i07_pard.i07_suma-(sign(i06_parh.i06_val_poz-1)*(i07_pard.i07_pvm+i07_pard.i07_muitas_pvm"+;
        "+i07_pard.i07_akcizas_pvm+i07_pard.i07_islaidos_pvm))) as suma from i06_parh,i07_pard where i06_parh.i06_op_tip=52 and i06_parh.i06_perkelta=1 and i06_parh.i06_mok_suma=0 "+;
        "and i06_parh.i06_kodas_ks=?kodas_ks and i06_parh.i06_kodas_po=i07_pard.i07_kodas_po"
    if type("kodas_po")="C"
        sak=sak+" and not i06_parh.i06_kodas_po=?kodas_po"
    endif
    if f_select(sak,"SS_kur")
        if !ISNULL(SS_kur.suma)
            ss_suma_cr=ss_suma_cr+SS_kur.suma
        endif
    endif

    srv=srv+l_tek("Limitas_____ ")+alltrim(str(n08.n08_credit_lim,12,2))+chr(13)
    srv=srv+l_tek("Kreditas____ ")+alltrim(str(ss_suma_db-ss_suma_cr+pp_suma_o,12,2))+chr(13)
    srv=srv+l_tek("Liko________ ")+alltrim(str(n08.n08_credit_lim-(ss_suma_db-ss_suma_cr+pp_suma_o),12,2))+chr(13)
endif

if used("SS_kur")
    use in SS_kur
endif
if !empty(ala)
    select (ala)
endif

ss_limit=0.00
ss_suma_db=0.00
ss_suma_cr=0.00

*- kredito limitas pagal sutartį
IF !empty(kodas_kt)
if type("n51.n51_kodas_kt")="U" or type("n51.n51_poz_kred")="U" or type("n51.n51_limitas")="U" or n51.n51_kodas_kt#kodas_kt
    if !F_SEEK("n51",kodas_kt)
        =l_window("Sąraše nėra tokios sutarties!")
        return .t.
    endif
endif
srv=srv+chr(13)+l_tek("Sutartis")+" "+alltrim(kodas_kt)+" "+alltrim(n51.n51_pav)+chr(13)
if !n51.n51_poz_kred=1
    srv=srv+l_tek("Pagal sutartį kredito limitas nekontroliuojamas!")+chr(13)
else
    sak="select sum(i44_skol.i44_suma_db) as suma_db,sum(i44_skol.i44_suma_cr) as suma_cr from i44_skol where i44_skol.i44_kodas_ks=?kodas_ks and i44_skol.i44_kodas_kt=?kodas_kt and not i44_skol.i44_tipas=11"
    if type("kodas_po")="C"
        sak=sak+" and not (i44_skol.i44_kodas_op=?kodas_po and i44_skol.i44_modul=?modul_)"
    endif
    if f_select(sak,"SS_kur")
        if !ISNULL(SS_kur.suma_db) or !ISNULL(SS_kur.suma_cr)
            ss_suma_db=ss_suma_db+SS_kur.suma_db
            ss_suma_cr=ss_suma_cr+SS_kur.suma_cr
        endif
    endif

    if used("SS_kur")
        use in SS_kur
    endif
    sak="select sum(i07_pard.i07_suma-(sign(i06_parh.i06_val_poz-1)*(i07_pard.i07_pvm+i07_pard.i07_muitas_pvm"+;
        "+i07_pard.i07_akcizas_pvm+i07_pard.i07_islaidos_pvm))) as suma from i06_parh,i07_pard where i06_parh.i06_op_tip=51 and i06_parh.i06_perkelta=1 and i06_parh.i06_mok_suma=0 "+;
        " and i06_parh.i06_kodas_ks=?kodas_ks and i06_parh.i06_kodas_po=i07_pard.i07_kodas_po and i07_pard.i07_kodas_kt=?kodas_kt"
    if type("kodas_po")="C"
        sak=sak+" and not i06_parh.i06_kodas_po=?kodas_po"
    endif
    if f_select(sak,"SS_kur")
        if !ISNULL(SS_kur.suma)
            ss_suma_db=ss_suma_db+SS_kur.suma
        endif
    endif

    if used("SS_kur")
        use in SS_kur
    endif
    sak="select sum(i07_pard.i07_suma-(sign(i06_parh.i06_val_poz-1)*(i07_pard.i07_pvm+i07_pard.i07_muitas_pvm"+;
        "+i07_pard.i07_akcizas_pvm+i07_pard.i07_islaidos_pvm))) as suma from i06_parh,i07_pard where i06_parh.i06_op_tip=52 and i06_parh.i06_perkelta=1 and i06_parh.i06_mok_suma=0 "+;
        "and i06_parh.i06_kodas_ks=?kodas_ks and i06_parh.i06_kodas_po=i07_pard.i07_kodas_po and i07_pard.i07_kodas_kt=?kodas_kt"
    if type("kodas_po")="C"
        sak=sak+" and not i06_parh.i06_kodas_po=?kodas_po"
    endif
    if f_select(sak,"SS_kur")
        if !ISNULL(SS_kur.suma)
            ss_suma_cr=ss_suma_cr+SS_kur.suma
        endif
    endif

    srv=srv+l_tek("Limitas_____ ")+alltrim(str(n51.n51_limitas,12,2))+chr(13)
    srv=srv+l_tek("Kreditas____ ")+alltrim(str(ss_suma_db-ss_suma_cr+pp_suma_kt,12,2))+chr(13)
    srv=srv+l_tek("Liko________ ")+alltrim(str(n51.n51_limitas-(ss_suma_db-ss_suma_cr+pp_suma_kt),12,2))+chr(13)
endif
ENDIF
*- randame skolą
    IF !trig_ex()
        titi_pagr.sak_sel="SELECT sum(i44_suma_db) as suma_db,sum(i44_suma_cr) as suma_cr "+;
                "FROM i44_skol WHERE i44_skol.i44_kodas_ks=?kodas_ks"
    ELSE
        titi_pagr.sak_sel="SELECT sum(t03_suma_db) as suma_db,sum(t03_suma_cr) as suma_cr "+;
                "FROM t03_sdok WHERE t03_sdok.t03_kodas_ks=?kodas_ks"
    ENDIF
    if !f_select(titi_pagr.sak_sel,"DS44",.t.,0)
        return.f.
    endif
    srv=srv+chr(13)+l_tek("Bendra kliento skola : ")+alltrim(str(iif(!ISNULL(DS44.suma_db),DS44.suma_db,0.00)-iif(!ISNULL(DS44.suma_cr),DS44.suma_cr,0.00),12,2))+chr(13)
    if used("DS44")
        use in DS44
    endif
*-

*-randame vėluojančias sumas
v_data=DATE()

titi_pagr.sak_sel="SELECT sum(i44_suma_db) as suma_db,sum(i44_suma_cr) as suma_cr "+;
"FROM i44_skol WHERE i44_skol.i44_kodas_ks=?kodas_ks and i44_data_mok<?v_data"
if !f_select(titi_pagr.sak_sel,"DV44",.t.,0)
        return.f.
    endif
srv=srv+chr(13)+l_tek("Vėluojanti suma : ")+alltrim(str(iif(!ISNULL(DV44.suma_db),DV44.suma_db,0.00)-iif(!ISNULL(DV44.suma_cr),DV44.suma_cr,0.00),12,2))+chr(13)
    if used("DV44")
        use in DV44
    endif
*-

titi_pagr.sak_sel="SELECT sum(i44_suma_db) as suma_db,sum(i44_suma_cr) as suma_cr,i44_dok_nr,i44_data_mok,MIN(i44_data_dok) as i44_data_dok "+;
"FROM i44_skol WHERE i44_skol.i44_kodas_ks=?kodas_ks and i44_data_mok<?v_data group by i44_dok_nr,i44_data_mok order by i44_data_mok,i44_dok_nr"
if !f_select(titi_pagr.sak_sel,"DV44",.t.,0)
        return.f.
endif

srv=srv+chr(13)+"Dokumentas          "+"Dok. data    "+"Mok. data             "+"Suma"

select DV44
SCAN
srv=srv+IIF(iif(!ISNULL(DV44.suma_db),DV44.suma_db,0.00)-iif(!ISNULL(DV44.suma_cr),DV44.suma_cr,0.00)#0,;
chr(13)+DV44.i44_dok_nr+DTOC(DV44.i44_data_dok)+'   '+DTOC(DV44.i44_data_mok)+'    '+;
(str(iif(!ISNULL(DV44.suma_db),DV44.suma_db,0.00)-iif(!ISNULL(DV44.suma_cr),DV44.suma_cr,0.00),12,2)),'')
ENDSCAN

    if used("DV44")
        use in DV44
    endif
if used("SS_kur")
    use in SS_kur
endif

=f_info(srv,.T.,,'Courier New',9)

if !empty(ala) and used(ala)
    select (ala)
endif
return .t.

op_001

Viskas išsaugoma.

Pardavimo operacijoje paspaudus užprogramuotą klavišą, pasimatys detali informacija apie klientą:

op_002