Так примерно выглядит отчет:
<HTML>
<HEAD>
<META NAME="Inform-Systema" Content="MarcSQL">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Книгообеспеченность кафедры общая</TITLE>
</HEAD>
<BODY>
~CallDialog(ProvDBase,STRUCT(CHAIR),OBJECT_ID,~T(У чебные кафедры))
~IfExists(~GetParam($ID),,~MessageBox(~T(Не определена кафедра для отчета),FatalError))
<H2><CENTER>~T(Книгообеспеченность кафедры по семестрам)</CENTER></H2>
<CAPTION>
~SqlSetQuery(CH0,SELECT NAME,CHIEF FROM STRUCT WHERE LAYER = 'CHAIR' AND OBJECT_ID=~GetParam($ID))
<B> ~T(Кафедра) <B> ~GetParam($NAME)</B>
<BR>
~T(Зав.кафедрой) <B>~SqlGetColumn(CH0,2)</B>
</CAPTION>
<!Короткий отчет!>
~SetParam(NN,)
<TABLE BORDER=1 COL=8 WIDTH=100% >
<TR>
<TH>NN</TH>
<TH>Дисциплина</TH>
<TH>Кол-во<br>групп<br>по семестрам</TH>
<TH>Кол-во студентов<br>по семестрам</TH>
<TH>Кол-во экз.<br>осн. литературы<br>по семестрам</TH>
<TH>Кол-во экз.<br>доп. литературы<br>по семестрам</TH>
<TH>Книгооб.<br>осн. литературой<br>по семестрам</TH>
<TH>Книгооб.<br>доп. литературой<br>по семестрам</TH>
<TR>
~SetParam(NN,)
~SqlSetQuery(CH,SELECT NAME,DISCP_ID FROM DISCP WHERE CHAIR_ID=~GetParam($ID))
~SqlForEveryRow(CH,
~AddParam(NN,1)
<TR>
<TD>~GetParam(NN) </TD>
<TD ALIGN=LEFT>~SqlGetColumn(CH,1) </TD>
~SetParam(DISCP_ID,~SqlGetColumn(CH,2))
~SetParam(NN1,)
~SetParam(KOLBOOK,)
~SetParam(KOLBOOK1,)
~SetParam(KOLGRP11,)
~SetParam(QUANTITY11,)
~SetParam(KOLGRP22,)
~SetParam(QUANTITY22,)
~SqlSetQuery(GRP,SELECT DISTINCT NAME,COURSE,SEMSTR,QUANTITY,PARENT_ID FROM TIMETABLE t,STRUCT s WHERE LAYER = 'GRP' AND t.DISCP_ID=~GetParam(DISCP_ID) AND t.OBJECT_ID=s.OBJECT_ID AND (SEMSTR=0 OR SEMSTR=2))
~SqlForEveryRow(GRP,
~IfExists(~GetParam(GRPS),~SetParam(SEP,;<BR>))
~SetParam(GRPS,~GetParam(GRPS)~GetParam(SEP)~SqlGe tColumn(GRP,1))
~AddParam(KOLGRP11,1)
~AddParam(QUANTITY11,~SqlGetColumn(GRP,4))
)
~SqlSetQuery(GRP,SELECT DISTINCT NAME,COURSE,SEMSTR,QUANTITY,PARENT_ID FROM TIMETABLE t,STRUCT s WHERE LAYER = 'GRP' AND t.DISCP_ID=~GetParam(DISCP_ID) AND t.OBJECT_ID=s.OBJECT_ID AND (SEMSTR=1 OR SEMSTR=2))
~SqlForEveryRow(GRP,
~IfExists(~GetParam(GRPS),~SetParam(SEP,;<BR>))
~SetParam(GRPS,~GetParam(GRPS)~GetParam(SEP)~SqlGe tColumn(GRP,1))
~AddParam(KOLGRP22,1)
~AddParam(QUANTITY22,~SqlGetColumn(GRP,4))
)
<!основная литература!>
~SetRecordSet(FindBasic,~GetParam(DISCP_ID))
~ForEveryDoc(
~SqlSetQuery(INV,SELECT SUM(CNT) FROM INV WHERE INV.DOC_ID=~GetDocId())
~AddParam(KOLBOOK,~SqlGetIntColumn(INV,1))
)
<!Дополнительная литература!>
~SetRecordSet(FindExtra,~GetParam(DISCP_ID))
~ForEveryDoc(
~SqlSetQuery(INV,SELECT SUM(CNT) FROM INV WHERE INV.DOC_ID=~GetDocId())
~AddParam(KOLBOOK1,~SqlGetIntColumn(INV,1))
)
<TD>~GetParam(KOLGRP11)/~GetParam(KOLGRP22)</TD>
<TD>~GetParam(QUANTITY11)/~GetParam(QUANTITY22)</TD>
<TD>~GetParam(KOLBOOK) </TD>
<TD>~GetParam(KOLBOOK1) </TD>
<TD>~FDiv(~GetParam(KOLBOOK),~GetParam(QUANTITY11) )/~FDiv(~GetParam(KOLBOOK),~GetParam(QUANTITY22))&nb sp;</TD>
<TD>~FDiv(~GetParam(KOLBOOK1),~GetParam(QUANTITY11 ))/~FDiv(~GetParam(KOLBOOK1),~GetParam(QUANTITY22))&n bsp;</TD>
<TR>
)
</TABLE>
</BODY>
</HTML>
Отпишитесь плз кто нашел знакомые буквы.
[Ответ]
Сообщение от Yandex:
да че надо то?
Я так понял ему надо "пооператорно" рассказать, что это значит... (Типичный случай, когда хотят загнать преподу не свою задачу
)
Quve, в этом коде легко можно разобраться, зная немного англ. яз. и подумав. Тем более есть гугл, хелп и
Сообщение от Quve:
руководство пользователя
Сообщение от :
<HTML>
<HEAD>
<META NAME="Inform-Systema" Content="MarcSQL">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Книгообеспеченность кафедры общая</TITLE>
</HEAD>
<BODY>
Это стандартные HTML-теги. Описание всех легко найти в инете и во многих книгах.
Операторы, начинающиеся с "~" - это, наверное, операторы MAPKSQL. Что он делает легко понять переведя его (уточняется в хелпе и/или у гугла).
Например:
Сообщение от Quve:
~CallDialog(ProvDBase,STRUCT(CHAIR),OBJECT_ID,~T(У чебные кафедры))
~IfExists(~GetParam($ID),,~MessageBox(~T(Не определена кафедра для отчета),FatalError))
Показать диалог (форму с запросом) с заголовком "Учебные кафедры". Скорее всего пользователь должен выбрать кафедру, по которой нужен отчет.
Получаем параметр $ID если он не существует (нужно уточнить), то выдать окошко типа "Фатальна ошибка" и сообщеием "Не определена кафедра для отчета".
И т.д..............
[Ответ]