Код: Выделить всё
.form 'Imp_540'
.ard
.nameinlist 'Загрузить сведения по ЗП'
.var
file,n,c: longint;
i,i_eof : integer; // позиция список
j,j_eof : integer; // позиция цех
s: string;
_prop,_Tabn,_fio: array [1..5000] of string;
_LS: array [1..5000] of comp;
_Sum: array [1..5000] of double;
_f : array [1..5] of integer;
_s : array [1..5] of string;
_cex : array [1..100] of comp;
fl_j : byte;
_dDate :date;
_mnrec :word;
.endvar
.create view T1
var
_NrecLS :comp;
as
select
lschet.cex,
lschet.tabn
from
lschet
where
((_NrecLS == lschet.nrec))
;
!.create view t2 as select * from sys_mbf;
.begin
i:=1;
_mnrec:=9999;
_dDate:=date(30,06,2012);
file:= CreateFileHandle('xxx');
File_OpenFile('D:\Temp\ZP\limit.txt', stOpenRead, file);
While not File_EOF(file) do begin
file_readln(s, file);
!********Пропуск
_f[1]:=pos(';',s);
_Prop[i]:=subStr(s,1,_f[1]-1);
!********Табельный номер
_s[2]:=subStr(s,length(_Prop[i])+2,length(s)-length(_Prop[i]));
_f[2]:=pos(';',_s[2]);
_tabn[i]:=subStr(_s[2],1,_f[2]-1);
!********ФИО
_s[3]:=subStr(_s[2],length(_tabn[i])+2,length(_s[2])-length(_Tabn[i]));
_f[3]:=pos(';',_s[3]);
_fio[i]:=subStr(_s[3],1,_f[3]-1);
!********Лицевой счет
_s[4]:=subStr(_s[3],length(_fio[i])+2,length(_s[3])-length(_fio[i]));
_f[4]:=pos(';',_s[4]);
_LS[i]:=comp(subStr(_s[4],1,_f[4]-1));
!********Сумма
_s[5]:=subStr(_s[4],length(_LS[i])+2,length(_s[4])-length(_LS[i]));
_f[5]:=pos(';',_s[5]);
_Sum[i]:=Double(subStr(_s[5],1,_f[5]-1));
i_eof:=i;
i:=i+1;
end;
i:=1;
DeleteFileHandle(file);
j_eof:=1;
end.
.fields
! _Ls[i] t1._nrecls T1.lschet.cex fl_j
j_eof-1
.endfields
.begin
while i<=i_eof
T1._loop
{
begin
T1._nrecls:=comp(_ls[i]);
fl_j:=0;
for (j:=1;j<=j_eof;j:=j+1)
if _cex[j]=t1.lschet.cex then fl_j:=1;
if fl_j=0
begin
_cex[j_eof]:=t1.lschet.cex;
j_eof:=j_eof+1;
_mnrec:=_mnrec+1;
insert
sys_mbf
set
mnrec:=_mnrec,
nmnem:='В счет ЗП от '+string(_dDate)+' Имп',
cex:=_cex[j_eof-1],
choice := 1,
koff:=1,
kassir:=65535,
datan := _dDate,
datok := _dDate;
end;
i:=i+1;
end;
}
end.
^
.endForm