Карта задания (Out-Source) «Прототип системы мониторинга НИОКР гражданского назначения» 1. Наименование: модуль выгрузки данных для внешней работы заказчиков ФЦП 2. Компилятор исходного текста: Borland Delphi 2006 3. Результат компиляции: BPL 4. Срок выполнения задания: 22 ноября 2006 г. 16:00 5. Расчётные временные затраты: 1ф (8 часов) 6. Задание: Разработка модуля выгрузки данных для клиента-сборщика информации по выполнению ФЦП осуществляется в рамках проекта «Прототип системы мониторинга НИОКР гражданского назначения». 6.1. Требования к разрабатываемому модулю: Разрабатываемый модуль является bplчастью базового интерфейса системы (см. пример bpl-части). 6.2. Описание модуля: 6.2.1. Форма модуля состоит из: - строки-ввода осуществляющей отображение и ручное редактирование пути до файла выгрузки; - кнопку для вызова диалога выбора пути до файла выгрузки; - строку-ввода пароля для защиты файла выгрузки; - меню выбора даты действия данных выгрузки; - кнопки «выгрузить данные», «закрыть». 6.2.2. Описание исходных данных: SET SQL DIALECT 3; SET NAMES WIN1251; CREATE DOMAIN TBLOB AS BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET WIN1251; CREATE DOMAIN TBLOBBIN AS BLOB SUB_TYPE 0 SEGMENT SIZE 80; CREATE DOMAIN TDATE AS DATE; CREATE DOMAIN TFLAG AS SMALLINT DEFAULT 0; CREATE DOMAIN TID AS INTEGER NOT NULL; CREATE DOMAIN TINT AS INTEGER DEFAULT 0; CREATE DOMAIN TMONEY AS NUMERIC(15,2); CREATE DOMAIN TVCHAR10 AS VARCHAR(10) CHARACTER SET WIN1251; CREATE DOMAIN TVCHAR100 AS VARCHAR(100) CHARACTER SET WIN1251; CREATE DOMAIN TVCHAR20 AS VARCHAR(20) CHARACTER SET WIN1251; CREATE DOMAIN TVCHAR50 AS VARCHAR(50) CHARACTER SET WIN1251; CREATE TABLE BUDGET ( ID TID NOT NULL, BIGNAME TVCHAR100 ); CREATE TABLE CUSTOMER ( ID TID NOT NULL, BIGNAME TBLOB, SMNAME TVCHAR100, COORDINATOR TFLAG, OKOGU TINT, URL TVCHAR100, POSTADDRES TBLOB, EMAIL TVCHAR100, STATUS TINT, ID_USER TINT ); CREATE TABLE FCP ( ID TID NOT NULL, BIGNAME TBLOB, SMNAME TVCHAR100, DATEBEGIN TDATE, DATEEND TDATE, URL TVCHAR100, ISACTIVE TINT DEFAULT 1 NOT NULL, ID_PARENT_FCP TINT DEFAULT 0 ); CREATE TABLE FCPSFIGURE ( ID TID NOT NULL, ID_TYPEOFFIGURE TINT, DATEBORN TDATE, ID_TYPEOFVALUES TINT, NUMBERSVALUE TINT, ID_OLEVALUE TINT, ID_STATUS TINT, ID_FCP TINT, ID_MEMBER TINT, ID_QUARTER TINT, PLANFAKT TFLAG ); CREATE TABLE QUARTER ( ID TID NOT NULL, SMNAME TVCHAR10, DATEBEGIN TDATE, DATEEND TDATE ); CREATE TABLE STATUS ( ID TID NOT NULL, NAME TVCHAR20 ); CREATE TABLE TYPEOFFIGURE ( ID TID NOT NULL, SNNAME TVCHAR50, DESCRIPTION TBLOB, ID_TYPEOFSTATES TINT, ID_TYPEOFVALUSE TINT ); CREATE TABLE TYPEOFSTATES ( ID TID NOT NULL, SMNAME TVCHAR20, BIGNAME TBLOB, FORM_ID TINT ); CREATE TABLE TYPEOFVALUES ( ID TINT NOT NULL, SMNAME TVCHAR10 ); ALTER TABLE BUDGET ADD CONSTRAINT PK_BUDGET PRIMARY KEY (ID); ALTER TABLE CUSTOMER ADD CONSTRAINT PK_CUSTOMER PRIMARY KEY (ID); ALTER TABLE FCP ADD CONSTRAINT PK_FCP PRIMARY KEY (ID); ALTER TABLE FCPSFIGURE ADD CONSTRAINT PK_FCPSFIGURE PRIMARY KEY (ID); ALTER TABLE QUARTER ADD CONSTRAINT PK_QURATER PRIMARY KEY (ID); ALTER TABLE STATUS ADD CONSTRAINT PK_STATUS PRIMARY KEY (ID); ALTER TABLE TYPEOFSTATES ADD CONSTRAINT PK_TYPEOFSTATES PRIMARY KEY (ID); ALTER TABLE TYPEOFVALUES ADD CONSTRAINT PK_TYPEOFVALUES PRIMARY KEY (ID); 6.2.3. Формат выгрузки: Файл в формате XML содержащей данные таблиц описанных в разделе 6.2.2 (название таблиц и полей должно совпадать). Полученный файл архивируется с помощью RAR, пароль на архив выбирается из поля «пароль» формы описанной в разделе 6.2.1. Наименование файла архива и файла выгрузки EXTBASE.* (Где «*» соответствующие стандартные расширения). 6.2.4. Функционирование: По нажатию кнопки «вызова диалога» осуществляется выбор места расположения заархивированного файла выгрузки. По нажатию кнопки «выгрузить данные», осуществляется выгрузка данных описанных в разделе 6.2.2. в файл определенный ранее. В xml-тексте предусмотреть раздел <fcpsettings> содержащей ключ «dateexpire» в который записывается «дата действия данных выгрузки». По нажатию кнопки «закрыть» форма выгрузки закрывается. 7. Документация: исходный текст должен быть откомментирован с достаточной для понимания посторонним человеком степенью, а так же разбит на регионы ($REGION) по функциональным блокам.