Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Аварда с точки зрения чайника.doc
Скачиваний:
19
Добавлен:
06.03.2016
Размер:
274.94 Кб
Скачать

Создадим новый отчет.

Порулим еще немного. Теперь займемся созданием отчета. Все объекты конфигуратора, с которыми мы будем сейчас работать, лежат на первой закладке «Основные», см. рис. 2. Сформулируем задание:

Создать новый отчет «Документы за период».

При формировании отчета запросить дату начала и дату окончания периода.

В отчет выводить номера и даты создания всех документов за период.

Номер задания ZDA_111000112.

Приступим, по шагам:

  1. В IBExpert создадим хранимую процедуру для выборки данных для отчета. Это будет выглядеть примерно так, как показано на рис 1.

  1. В конфигураторе создадим новый отчет. Имя «Документы за период». KID=999000006(999000007), в скобках ID ярлыка. Не забудем сразу поставить KID1=3.

  1. В конфигураторе создадим новую форму. Имя «Документы за период». KID=999000008(999000009).

  1. Сразу изменим Form.Name = «form999000008». Запишем Form.Caption = «Документы за период» и расположим на форме сообразные объекты для ввода начальной и конечной даты, а также кнопки «ОК» и «Отмена».

  1. В скрипте формы напишем процедуру для передачи параметров в отчет (SetParam). Пример на рис. 5.1. На кнопку «ОК» повесим вызов отчета (RunReport(Form, 999000006, 0);).

  1. В конфигураторе создадим новый алгоритм 28040 “Dll на шапку документа”. Имя «Документы за период». KID=999000010(999000011) Укажем ему запускать форму «Документы за период».

  1. Доделаем отчет. Разместим объект «Запрос BDE» на листе «Данные». В скрипте отчета напишем старт запроса c приемом параметров из формы (GetParam). Пример на рис. 5.2.

  1. Нарисуем страницу отчета, понадобится ReportTitle, Header, MasterData, PageFooter.

  1. Все, при запуске алгоритма отчет должен появиться на экране.

Итак, по задаче ZDA_111000112, при создании отчета мы создали следующие записи в базе:

CFG: KID=999000006, 999000007, 999000008, 999000009, 999000010, 999000011

Эта информация понадобится нам в главе 3, когда мы будем разбирать создание апдейта.

Кстати, Вы себе максимальный использованный номер ID уже записывать начали? Если да, тогда Вам понятно, почему записи, создаваемые в CFG по этой задаче начинаются с номера 999000006.

Вопрос на сообразительность.

Для вывода в отчете нам нужны номера и даты создания документов. Но, если Вы посмотрите на рис.1 внимательно, то увидите, что у хранимой процедуры не два, а три возвращаемых значения. Вопрос, зачем я сделал в процедуре лишнее возвращаемое значение IDDOC (ID Документа)?

Над этим вопросом я предлагаю Вам подумать самостоятельно.

Глава 3. И что у нас на финише. Или - дожить до апдейта. Это сладкое слово - апдейт.

Наконец–то мы что-то написали, пора оформлять сделанную работу. Нам нужен апдейт. Собственно, апдейт, он нужен почти всегда. Это основной результат нашей работы. Бывают, конечно, задачи, по которым апдейт не создается, но это редкость. Обычно, для программиста финал исполнения задачи – это создание апдейта.

Апдейт – он наше все.

- Он уйдет к пользователю и накатится на базу.

- Он пофиксит баги и установит фичи.

- И заработает пропатченная база как новая расческа в руках классного цирюльника дяди Фимы.

- И пользователь, глядя на это, будет счастлив и умиротворен.

- И будет он веселиться, и умиляться. И танцевать хавву-нагиду, глядя на дисплей. И водить хороводы вокруг сервера.

- И не будет называть нас криворукими балбесами.

- И будет всем счастье, и никто не уйдет обиженный.

М-да…, кажется, я опять немного отвлекся.

Оформление апдейта - дело творческое, более творчества, чем при оформлении апдейта программисту AVARDA нужно, разве что, при изучении ТЗ или при записи фактических работ в CRM. Творчество, в основном, заключается в том, чтобы ничего не перепутать. На что обратить внимание:

  1. Требования должны совпадать в readme.txt и в req_ver.

  1. Имя апдейта должно совпадать в readme.txt, в функции install_update, и в DBVERSION всех процедур.

  1. Описание апдейта должно совпадать в readme.txt и функции install_update.

  1. В req_ver сам апдейт должен быть указан с минусом.

Апдейт оформляется как папка с файлами. Он обязательно содержит три файла:

readme.txt

req_ver

update.bat

и может содержать файлы:

rdb_xxxxxxxxx.sql

upd_xxxxxxxxx.sql

cfg_xxxxxxxxx_sys.iec

cfg_xxxxxxxxx_use.iec

cfg_xxxxxxxxx.cmd

где xxxxxxxxx – номер задачи, по которой данный апдейт создается.

Как все это оформлять? Посмотрите готовые апдейты. Если у Вас их нет, то попросите у тимлидера дать Вам пример апдейта. На самом деле, посмотрев пример, разобраться, как это делать - вполне можно.