-
Notifications
You must be signed in to change notification settings - Fork 0
/
NO_POK.PRG
199 lines (194 loc) · 5.49 KB
/
NO_POK.PRG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
function menupokaz()
LOCAL old_col1:=setcolor(),screen:=win_save(11,26,24,79),fi:='',wid:=1,widsav:=1
LOCAL temptime:={},timecreate:={},spisok,pos:=1
local first:=.T.
spisok:={" C ¯®ª § ¨ï¬¨ ",;
" ¥§ ¯®ª § ¨© ",;
" ¥ ¢ ª¨£¥ ¯à®¤ ¦ ",;
"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ",;
" ¥ç âì ®âç¥â "}
prev_rec=prev_rec-1
do while pos>0
if file(Ddir+'otchet.gkv')
pos=len(spisok)
is_choice:={.t.,.t.,.t.,.F.,.t.}
else
is_choice:={.t.,.t.,.t.,.F.,.F.}
endif
if first
pos=1
first=.F.
endif
choice=vert_menu(spisok,"‚ë¡à âì",is_choice,11,26,pos,'n/w,n/g,,,r/w',.F.)
pos=choice
wid=choice
widsav:=wid
if wid<8.and.wid>0
deletefile(Ddir+"otchet.gkv")
pos=choice
else
pos=len(spisok)
endif
do case
case wid=1
BezPokazanij(1)
case wid=2
BezPokazanij(2)
case wid=3
NoKnigaProdag()
case wid=len(spisok)
do print_fi
otherwise
exit
endcase
wid=if(file(Ddir+'otchet.gkv'),8,widsav)
enddo
M->prev_rec=-1
win_rest(screen)
setcolor(old_col1)
return NIL
FUNCTION BezPokazanij(type_,month)
LOCAL OldOrd,IndMonth:=schet_share+"LicMonth.ntx",Dress
private oldsel,oldscr,oldclr,oldrec
oldrec=recno()
oldsel=select()
oldscr=savescreen(9,0,24,79)
oldclr=setcolor()
IF month==NIL
month=month_menu(.t.)
ENDIF
if type_#3
if month#0
obrabot("‘®àâ¨à®¢ª ¯®ª § ¨© áç¥â稪®¢")
select(month)
index on licevoj to &IndMonth
select(oldsel)
if type_=2
obrabot("‚롮ઠ«¨æ¥¢ëå ¡¥§ ¯®ª § ¨©")
else
obrabot("‚롮ઠ«¨æ¥¢ëå c ¯®ª § ¨ï¬¨")
endif
temp_=39/reccount()
kol_kl=0
go top
desc=fcreate(Ddir+'otchet.gkv')
if type_=2
fwrite(desc,'।¯à¨ïâ¨ï, ¥ ç¨á«¥ë¥ § '+mesqc(month)+chr(13)+chr(10)+chr(13)+chr(10))
else
fwrite(desc,'।¯à¨ïâ¨ï, ç¨á«¥ë¥ § '+mesqc(month)+chr(13)+chr(10)+chr(13)+chr(10))
endif
do while .not.eof().and.Main->lic_schet<=99999
if inkey()#0
if al_box({"à¥à¢ âì à áç¥â"},2)==1
exit
endif
endif
kol_kl=kol_kl+temp_
colorwin(12,21,12,21+kol_kl,'n/n')
rash=0
select(month)
seek main->lic_schet
dress:=""
do while licevoj==main->lic_schet
if licevoj=main->lic_schet
IF num_of_sch!="® áâ."
rash=rash+summa
ENDIF
endif
IF Empty(Dress)
SELECT Licevoj
SEEK Main->Lic_Schet
Dress:=Adres
select(month)
ENDIF
skip
enddo
if rash=0.and.type_=2
fwrite(desc,rangerepl("","",alltrim(str(main->lic_schet))+' '+main->potrebitel,'H')+" "+Dress+chr(13)+chr(10))
endif
if rash#0.and.type_=1
fwrite(desc,rangerepl("","",alltrim(str(main->lic_schet))+' '+alltrim(main->potrebitel),'H')+chr(13)+chr(10))
endif
select 88
skip
enddo
FClose(Desc)
Select(Month)
Close
DeleteFile(IndMonth)
LoadMonth(Month)
endif
endif
select(oldsel)
go oldrec
restscreen(9,0,24,79,oldscr)
setcolor(oldclr)
M->PREV_REC:=-1
return NIL
FUNCTION NoKnigaProdag()
LOCAL rec:=recno(),sel:=select(),scr:=SaveScreen(0,0,24,79),temp_,kol_kl,desc
LOCAL Nachisleno,CrLf:=chr(13)+chr(10),Kod:="",Rashod:=0,Raznica:=0
LOCAL Writed
NumMonth=month_menu(.t.)
IF NumMonth==0
return NIL
ENDIF
obrabot("®âॡ¨â¥«¨ ¥ ¢ ª¨£¥ ¯à®¤ ¦")
temp_=39/reccount()
kol_kl=0
desc:=fcreate(Ddir+"otchet.gkv")
select sfkniga
set order to 2
do while !eof()
// @ 1,0 say str(main->lic_schet)
kol_kl=kol_kl+temp_
colorwin(12,21,12,21+kol_kl,'n/n')
select obormot
seek main->lic_schet
IF found()
Rashod:=GetSum(Main->Lic_Schet,NumMonth)
Nachisleno:=Rashod
// Nachisleno:=Rashod+round(Rashod*Schet_Nds/100,Decimal)
// al_box({str(main->lic_schet)+" ç¨á«¥® "+str(Nachisleno)})
select sfkniga
seek main->lic_schet
DO while number==main->lic_schet
IF month==NumMonth.and.type==0
Writed:=WsegoSNds
EXIT
ENDIF
skip
ENDDO
IF number==main->lic_schet.and.month==NumMonth.and.type==0
IF Round(Writed/Nachisleno,Decimal)!=1.00
fwrite(desc,str(main->lic_schet,4)+" "+main->potrebitel+;
" §¨æ "+alltrim(str(int(if(WsegoSNds-Nachisleno>0,;
WsegoSNds-Nachisleno,Nachisleno-WsegoSNds))))+CrLf)
Raznica:=Raznica+if(WsegoSNds-Nachisleno>0,;
WsegoSNds-Nachisleno,Nachisleno-WsegoSNds)
ENDIF
ELSE
IF Rashod>0
fwrite(desc,str(main->lic_schet,4)+" "+main->potrebitel+" ¥â ¢ ª¨£¥ ¯à®¤ ¦. ç¨á«¥® "+Alltrim(Str(Rashod,14,Decimal))+CrLf)
Raznica:=Raznica+Rashod
ENDIF
ENDIF
ELSE
fwrite(desc,str(main->lic_schet,4)+" "+main->potrebitel+" ¥â ¢ ®¡®à®âª¥"+CrLf)
ENDIF
select main
skip
IF inkey()==27
IF Al_Box({"‡ ª®ç¨âì à áç¥â"},2)==1
EXIT
ENDIF
ENDIF
enddo
fwrite(desc,"‚ᥣ® à á宦¤¥¨© "+alltrim(str(Raznica))+CrLf)
select sfkniga
set order to 1
fclose(desc)
select(sel)
go rec
RestScreen(0,0,24,79,scr)
RETURN NIL