home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd1.bin
/
tema
/
SW602
/
Winbase
/
EShop_demo
/
ESHOP4.0.PGM
< prev
next >
Wrap
Text File
|
2000-03-16
|
8KB
|
256 lines
{$$3220792583 }table
uziv, sys_par, vyrobci, EP_EXPANDIA, Ep_setkb, objtab, cenik, s_zbozi_sk, obj_header, usertab,Obchodni_partneri, Kod_structura,S_deal_sk, obj_polozky, default_hodnoty, obchodnici, info_provozovatel, zal_tab, S_TAB_ROUND,S_platba;
cursor
seznam_tab, ceka, storno_ceka, Max_level, Vyb_dcenik;
var id_pohled : window_id;
id_nobj1 : window_id;
irec : trecnum;
konec, testOK : Boolean;
msg :integer;
ID_pohledu :window_id;
nrec :trecnum;
handle :window_id;
jmeno :string[31]; // moje jmΘno
user_num : tobjnum; // moje Φφslo v tab. USERTAB
user2_num : tobjnum; // Φφslo u₧ivatele v tab. USERTAB, kterΘmu je dokument postoupen
group_num : tobjnum; // Φφslo skupiny everybody v tab. USERTAB
table_num : ttablenum/*objnum*/; // Φφslo tab. v tab. TABTAB
sloupce : short; //poΦet sloupc∙ HTML strßnky
pdoprava, pjednotka : string[32];
stitekx,stiteky:integer;
zaksum:real;
// role_num : tobjnum; // Φφslo role v tab. OBJTAB
id_uz : binary[12]; // moje ID
cesta_zal : String[200];
cesta_hlp : String[200];
soubor_hlp : String[200];
cesta_exp : String[200];
cesta_imp : String[200];
cesta_icnk : String[200];
cesta_iop : String[200];
cesta_eobh : String[200];
cesta_eobp : String[200];
cesta_eop : String[200];
cesta_br : String[200];
i_chyba : Boolean; // true-Objevila se chyba import se neprovede, false-vse OK
e_vyber : integer; //druh v²b∞ru
i_zdroj : integer;
e_table : integer; //1-cenφk, 3-objednßvka, 4-obchodnφ partne°i
i_kod : integer; //k≤dovßnφ ΦeÜtiny
i_format : integer; //formßt dat (tdt,txt,csv,dbf)
// G_PLAT_CNK : integer; //platnost cenφku;
G_stav : integer; //DPH
G_uc_rok : integer; //DPH
G_dph : integer; //DPH
G_procento : real; //DPH
dat_od : date;
dat_do : date;
pevny_import : boolean;
pevny_export : boolean;
pocet_urovni:integer;
zarazeno:boolean;
activni:integer; //0=dbadmin, 1=administrator 2=obchodnik 3=internet_user 100=ostatni
lze_mazat:Boolean; //lze mazat polo₧ky Φφselnφk∙
jpv:Boolean;
jesys,jebanka:integer;
vsichni, dsk, tuz:integer;
findcomp: string[30];
neulozeno : Boolean;
//prom∞nnΘ pro v²b∞r zobrazen²ch objednßvek
cp,cn,cru,cnu, storno: Boolean; //cp-potvrzenΘ, cn-nepotvrzenΘ, cru- registrovan² u₧ivatel (login vypln∞nΘ), cnu- nov² u₧ivatel (login nevypln∞nΘ), storno-stornovane obj.
crec, pomtr:integer; //crec=0-vÜechny, 1-nezpracovanΘ,2-Φasov∞ omezenΘ, 3-nezpracovanΘ a stornovanΘ
pn,cu:short; //cu=1-cru, cu=2-cnu , pn 1/0=potvr. /nepotvr.
edsk:integer; //pom.prom.
pliccis:string[25];
// datod,datdo:date; //datum od - do
nob:integer;
//prom∞nnΘ pro statistiku
statnum : integer; //1=firma,2=polo₧ky cenφku
statnumdat : integer; //1=vÜechny,2=Φasov∞ omezenΘ
sdat_od : date;
sdat_do : date;
maxL:integer; //max. poΦet vno°enφ skupin
pocet_curs:integer;
deal_cena: array[0..9] of money;
maxcen, maxobj, maxcenr, maxobjr :integer;
trial:boolean;
si, sizebuf:integer;
serverinfo:string[30];
//includovanΘ programy
//API funkce
{$I Winapi32}
//programy t²kajφcφ se exportu, importu a zßlohy
{$I zaloha}
//programy t²kajφcφ se vklßdßnφ nov²ch zßznam∙
{$I procedury}
//programy t²kajφcφ se kontroly tabulek
{$I testy}
//programy t²kajφcφ se kontroly tabulek
{$I testyinp}
//programy t²kajφcφ se vklßdßnφ dat
{$I objednavky}
//programy t²kajφcφ se definovßnφ skupin
{$I skupiny}
//Replikace
{$I Replikace}
procedure Init;
/*********************************************************************/
var
infostr:string[255];
nobj,sobj:integer;
c:cursor;
begin
// zal_all:=true;
cu := 1;
e_vyber := 1;
e_table := 1;
dat_do := Today;
dat_od := dat_do-7;
cp:=TRUE;
cn:=FALSE;
cru:=TRUE;
cnu:=FALSE;
crec:=0;
storno:=FALSE;
pevny_import := true;
jmeno := Who_am_I;
nobj:=0;
sobj:=0;
Rec_cnt(SYS_PAR, jesys);
Rec_cnt(EP_EXPANDIA, jebanka);
if ((jesys<1) OR (jebanka<1)) then Zaloz_tab();
IF ACTIVNI<=2 THEN
BEGIN
//zjisti max. poΦet vno°enφ skupin
if Open_cursor( Max_level) then Signalize
else Rec_cnt( Max_level,pocet_curs);
if pocet_curs >0 then maxL:= Max_level[0].max1;
close_cursor( Max_level);
if Open_SQL_cursor(c,"select * from kod_structura") then Signalize
else Rec_cnt(c,pocet_urovni);
close_cursor(c);
if sys_par[0].PLATNOST_CEN_DO<today then info_box("upozorn∞nφ", "VyprÜela platnost cenφku");
smaz_stare();
// act_menu();
if not Am_I_db_admin then
begin
if Open_cursor(ceka)then Signalize
else Rec_cnt(ceka,nobj);
if Open_cursor(storno_ceka)then Signalize
else Rec_cnt(storno_ceka,sobj);
infostr:='Na VaÜe vy°φzenφ Φekß'#10#10' '+int2str(nobj)+' nov²ch objednßvek'#10' '+int2str(sobj)+' stornovan²ch objednßvek';
Info_box("P╪EJI P╠KN▌ DEN",infostr);
end;
if not Find_object(jmeno,CATEG_USER, user_num) then id_uz := USERTAB[user_num].usr_uuid
else Signalize;
// soubor_hlp:=sys_par[0].adr_help+ "\602eshop.hlp";
soubor_hlp:="602eshop.hlp";
Help_file(soubor_hlp);
close_cursor(ceka);
close_cursor(storno_ceka);
uziv0();
END;
end;
procedure Exit;
/*********************************************************************/
begin
Close_cursor(Skupiny);
Close_all_views;
Halt;
end;
procedure Nuziv();
/*********************************************************************/
//p°ihlßsφ novΘho u₧ivatele
begin
Close_all_views;
if Alogin(0) then
act_menu();
IF ACTIVNI<=2 THEN Init
ELSE
begin
Info_box("UPOZORN╠N═","Nemßte prßvo pracovat s touto aplikacφ, po₧ßdejte sprßvce o obsazenφ do role obchodnφka.");
activni:=999;
halt;
end;
end;
//Hlavnφ program
/*********************************************************************/
begin
/*i := WinBase602_version;
s := "Verze "+Int2str(i div 65536)+"."+Int2str(i mod 65536);
Info_box("WinBase",s);
*/
sizebuf:=4;
Get_server_info(0, si, sizebuf);
case si of
0: serverinfo:="Windows";
1: serverinfo:="NOVELL NetWare";
2: serverinfo:="LINUX";
3: serverinfo:="FreeBSD";
end;
// Info_box("WinBase pracuje v prost°edφ:",serverinfo);
trial:=False;
maxcen:=20;
maxobj:=20;
Rec_cnt(CENIK, maxcenr);
Rec_cnt(OBJ_HEADER, maxobjr);
if (((maxcenr>maxcen) OR (maxobjr>maxobj)) AND trial) then
begin
Delete_all_records(Obj_header);
Delete_all_records(Obj_polozky);
Uvolni_zrusene();
Info_box("TRIAL VERZE", "PoΦet objednßvek nebo polo₧ek cenφku je v∞tÜφ ne₧ povolen² poΦet pro Trial verzi!");
end
else
begin
act_menu();
Init;
testlic();
Main_menu("*Menu");
Rec_cnt(Cenik,jesys);
if (jesys<1) then Show_help(11000);
konec := false;
while NOT konec AND Get_ext_message(msg,handle,NIL) do
begin
case msg of
1050 : konec := true;
/* 1050 : if Yesno_box('D∞kuji za spoluprßci', 'Opravdu si p°ejete ukonΦit aplikaci?')
then konec := true
else Main_menu("*Menu");
*/ end
end;
end;
Exit;
end.