Ругается на функцию "Ожидалась константа, поле, функция, "IF" или "CASE" (стр.136, поз.1 в D:\NET\VIP\TEST\09_0068\09_0068\SRC\KARTSTOR_DM.RTF)
│ function TblGetFirst (LongInt) : boolean; external 'G_Common.dll';"
Код: Выделить всё
.linkform ’KartStor_dm’ prototype is ’KartStor’
.group ’belform’
.NameInList ’КАРТОЧКА СКЛАДСКОГО УЧЕТА РБ ( с ДМ )’
.var
ItogoSummaNDE : double
ItogoSummaVal : double
NRec : comp
sch_2, x_2:integer; //для вывода на печать
N_ckdr : comp;
N_kol : double;
T_Spec : longint; // Таблица реализации
NT_ckdr : word;
NT_kol : word;
Au: double // золото
Ag: double //серебро
Pt: double // платина
Ptgr: double //платиновая группа
Pd: double // палладий
.endvar
.begin
NRec := TOVAR_NRec
End.
.CREATE VIEW vDrag
!AS SELECT *
!FROM naldrag, katdrag
! where
!((
!Comp(TOVAR_NRec) == naldrag .ckatos (noindex)
!And naldrag.ckatdrag == katdrag.nrec
!));
As select
Katdrag.nrec, naldrag.kol, naldrag.*
FROM katmc, naldrag, katdrag
where
((comp(Tovar_nrec) == Katmc.nrec
and 3 == naldrag.tidk
and katmc.nrec==naldrag.ckatos
and naldrag.ckatdrag==katdrag.nrec
));
.fields
TOVAR_BarKod
sGetTune(’MyOrg’)
V2
V3
TOVAR_NAME
TOVAR_BarKod
TOVAR_Ed_Izm
.endfields
Утверждено учётной политикой ОАО “Керамин”
Код ТМЦ ^
^
наименование организации
^
наименование структурного подразделения
^
материально-ответственное лицо
КАРТОЧКА СКЛАДСКОГО УЧЕТА
Наименование материала: ^ , ^
Единица измерения: ^
Марка, сорт, профиль, размер и т.д.:
.var
prih: double
rash: double
itog: double
n: integer
itogIN: double
ItogOUT: double
.endvar
.fields
DoubleToStr(kol, KolForm) // входящий остаток
DoubleToStr(srPrice, PriceR)
n
field2 // дата
field5 //номер наклад
field1 // номер ордера
field6 field6_MOL// поставщик получат
DoubleToStr(prih, KolForm)
DoubleToStr (rash, KolForm)
DoubleToStr (itog, KolForm)
DoubleToStr(field11, PriceR)
field_m12
.endfields
.begin
Itog:= double(kol);
End.
№ Дата
записи Номер накладной Номер
ордера Место хранения От кого получено
или кому отпущено Приход Расход Остаток Цена Норма запаса
стеллаж ячейка
1 2 3 4 5 6 7 8 9 10 11 12
Входящий остаток ^ ^
.{
.begin
case field3 of
’Приход’:
{
prih := field10;
rash := 0;
itog := itog + prih;
itogIN := itogIN + prih;
}
’Расход’:
{
rash := field10;
prih := 0;
itog := itog - rash;
itogOUT := itogOUT + rash;
}
end;
n:=n+1
end.
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
.}
.fields
DoubleToStr(itogIN, KolForm) // итого приход
DoubleToStr(itogOUT, KolForm) // итого расход
DoubleToStr(kolIsh, KolForm) // исходящий остаток
DoubleToStr(SrPriceIsh, PriceR)
.endfields
Итого обороты ^ ^
Исходящий остаток ^ ^
.begin
!Au := 0 ; // золото
!Ag := 0; //серебро
!Pt := 0; // платина
!Ptgr := 0; //платиновая группа
!Pd := 0; // палладий
T_Spec := TblInitNew(1,1); // создаем таблицу драг. металлов
NT_ckdr := TblNewField(T_Spec,12);
TblEndKey(T_Spec); // строим индекс
NT_Kol := TblNewField(T_Spec,12);
end.
.{ table ‘Vdrag’
.begin
function TblGetFirst (LongInt) : boolean; external 'G_Common.dll';
TblSfString(T_Spec, NT_ckdr, vdrag.naldrag.ckatdrag);
if(TblGetEqual(T_Spec)) // Запись есть
{
TblSfDouble(T_Spec,NT_kol, TblGfDouble(T_Spec,NT_kol) + vdrag.naldrag.kol);
TblUpDateCurrent(T_Spec);
}
Else
{
TblSfDouble(T_Spec,NT_kol, vdrag.naldrag.kol);
TblInsertCurrent(T_Spec);
}
function TblGetNext (LongInt) : boolean; external 'G_Common.dll';
End.
.}
!.begin
!Au := If (vDrag.naldrag .ckatdrag=comp(’000100000000000Bh’), kolIsh * vDrag.naldrag.Kol,0); // золото
!Ag := If (vDrag.naldrag.ckatdrag=comp(’0001000000000010h’), kolIsh * Double(vDrag.naldrag.Kol),0); // серебро
!Pt := If (vDrag.naldrag.ckatdrag=comp(’0001000000000015h’), kolIsh *vDrag. naldrag.Kol,0); // платина
!Ptgr := If (vDrag.naldrag.ckatdrag=comp(’0001000000000016h’) or vDrag.naldrag.ckatdrag=comp(’000100000000001Fh’), Ptgr + kolIsh * !vDrag.naldrag.Kol,0);
!Pd := If (vDrag.naldrag.ckatdrag=comp(’000100000000001Ah’), kolIsh * vDrag.naldrag.Kol,0);
!End.
.fields
N_ckdr
DoubleToStr(Au, ‘\4p666 666.8888’)
DoubleToStr(Ag, ‘\4p666 666.8888’)
!DoubleToStr((If (vDrag.naldrag.ckatdrag=’0001000000000010h’, kolIsh * Double(vDrag. naldrag.Kol),0)), ‘\4p666 666.8888’)
!If (vDrag.naldrag.ckatdrag=comp(’0001000000000010h’), DoubleToStr(kolIsh * vDrag.naldrag.Kol, ‘\4p666 666.8888’),0)
DoubleToStr(Pt, ‘\4p666 666.8888’)
DoubleToStr(Ptgr, ‘\4p666 666.8888’)
DoubleToStr(Pd, ‘\4p666 666.8888’)
V3
.endfields
.begin
sch_2:= TblRecords(T_Spec)-1;
x_2:=0;
End.
Содержание драгоценных металлов
Наименование Масса, г.
.{ while (x_2<=sch_2)
.begin
N_ckdr:=TblGfString(T_Spec,NT_ckdr);
N_kol:=TblGfDouble(T_Spec,NT_kol);
Au := If (N_ckdr =comp(’000100000000000Bh’), kolIsh * N_kol,0); // золото
Ag := If (N_ckdr =comp(’0001000000000010h’), kolIsh *N_kol,0); // серебро
Pt := If (N_ckdr =comp(’0001000000000015h’), kolIsh * N_kol,0); // платина
Ptgr := If (N_ckdr =comp(’0001000000000016h’) or N_ckdr=comp(’000100000000001Fh’), Ptgr + kolIsh * N_kol,0);
Pd := If (N_ckdr =comp(’000100000000001Ah’), kolIsh * N_kol,0);
End.
^
.{?Internal; N_ckdr = comp(’000100000000000Bh’)
Золото ^
.}
.{?Internal; N_ckdr = comp(’0001000000000010h’)
Серебро ^
.}
.{?Internal; N_ckdr = comp(’0001000000000015h’)
Платина ^
.}
.{?Internal; N_ckdr = comp(’0001000000000016h’)
Платиновая группа ^
.}
.{?Internal; N_ckdr = comp(’000100000000001Ah’)
Палладий ^
.}
.begin
x_2:=x_2+1;
end.
.}
Подпись материально-
ответственного лица
^
Фамилия И.О.
.endform