Большой Воронежский Форум
» Программирование>Ищу людей знакомых с МАРКSQL или с SQL
Quve 13:38 09.04.2008
МАРКSQL-библиотечная программка, смесь sql, php и html. В ней присутствует фишка-отчеты, собственно с ними нужно поковыряться... Задача - описать что к чему в отчете, что значит строка или блок, описать скрипты, операторы и все в таком духе.(листинг вроде называется). Оплата хорошая, сроки короткие. [Ответ]
Quve 13:43 09.04.2008
Так примерно выглядит отчет:

<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(Кафедра) &nbsp;&nbsp;<B> ~GetParam($NAME)</B>
<BR>
~T(Зав.кафедрой) &nbsp;&nbsp;<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)&nbsp;</TD>
<TD ALIGN=LEFT>~SqlGetColumn(CH,1)&nbsp;</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)&nbsp;</TD>
<TD>~GetParam(KOLBOOK1)&nbsp;</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>

Отпишитесь плз кто нашел знакомые буквы. [Ответ]
DimB@$$ 14:02 09.04.2008
а где собственно сама задача? [Ответ]
Quve 11:04 15.04.2008
Народ, ну отзовитесь кто шарит, оч. надо. С меня, естественно, поляна [Ответ]
Yandex 19:10 15.04.2008
Quve, да че надо то?
P.S. МАРКSQL не знаю, SQL знаю, html то ж. [Ответ]
Quve 18:55 15.05.2008
Тема снова актульна, очень актульна, срочно прямо нужно сделать описание создания отчета(пример выше) что к чему, описать операторы и тд. Хорошая оплата, сроки поджимают ацки. Умоляю! помогите. [Ответ]
Quve 19:08 15.05.2008
Сама прога с БД и руководство пользователя есть, кто может помочь привезу.
ЗЫ может у кого знакомые есть кто шарит, оставьте координаты, буду благодарен. [Ответ]
p51x 22:49 15.05.2008

Сообщение от 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 если он не существует (нужно уточнить), то выдать окошко типа "Фатальна ошибка" и сообщеием "Не определена кафедра для отчета".

И т.д..............
[Ответ]
Вверх