6. Выполнение мероприятий по снижению радиационного воздействия на окружающую среду
Код по ОКЕИ: млн.руб. – 385; м3 – 113; тыс.м2 – 114; т – 168; Бк - 323
№ строки | Мероприятия, выполнение которых предусмотрено в отчетном году | Сроки выполнения (начало - окончание) | Использовано (освоено) средств на проведение мероприятий (за счет всех источников финансирования) - млн.руб. | Природоохранный эффект мероприятия | |||||||
Код при-родоох-ранного эффекта 1) | Сокращение количества РАО, объема сбросов (выбросов); площадь тер-риторий со снижением уровня загрязнения | Наименование радионуклида, по которому происходит снижение воздействия на окружающую среду | Величина предотвращенного сброса (выброса) радионуклида, уменьшение количества РАО (Бк); снижение уровня загрязнения территорий, (Бк/м2, мкГр/час) | ||||||||
Всего за отчетный год | в том числе средств из федерального бюджета | единица из-мерения 2) | всего за отчетный год | единица из-мерения 3) | Фактичес-кая за от-четный год | расчетная годовая | |||||
А | Б | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
601 | |||||||||||
602 | |||||||||||
603 | |||||||||||
604 | |||||||||||
605 |
Примечание:
1) В графе 4 проставляются следующие коды:
01 – обезвреживание и сокращение радиоактивных отходов; | 02 – сокращение выбросов радионуклидов; |
03 – сокращение сброса радионуклидов; | 04 – снижение поступления радионуклидов в подземные воды; |
05 – уменьшение площади загрязненных территорий; | 06 – прочие природоохранные эффекты. |
2) Единицы измерения: м3; тыс.м2; т; Бк.
3) Единицы измерения: Бк; Бк/м2; мкГр/час.
Руководитель | ||||||||||
организации | (Ф.И.О.) | (подпись) | ||||||||
Должностное лицо, | ||||||||||
ответственное за | ||||||||||
составление формы | (должность) | (Ф.И.О.) | (подпись) | |||||||
“____” _________20__ год | ||||||||||
(номер контактного телефона) | (дата составления документа) | |||||||||
-- c:\temp\uir.tab
--
-- Generated for Oracle 8 on Tue Dec 25 16:29:20 2001 by Server Generator 6.0.3.3.0
PROMPT Creating Table 'OTCHETNOST'
CREATE TABLE OTCHETNOST
(CODE NUMBER(6) NOT NULL
,ПЕРИОДИЧН_CODE VARCHAR2(240) NOT NULL
,PARAM_CODE NUMBER(6) NOT NULL
,НОРМАТИВ_CODE NUMBER(6) NOT NULL
,НОРМАТИВ_CODE_ЯВЛЯЕТСЯ NUMBER(6) NOT NULL
,UNI1_UNITMEAS VARCHAR2(20)
,ОБЪЕКТ_ЭМ_CODE NUMBER(6) NOT NULL
)
/
COMMENT ON COLUMN OTCHETNOST.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN OTCHETNOST.ПЕРИОДИЧН_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN OTCHETNOST.PARAM_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN OTCHETNOST.НОРМАТИВ_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN OTCHETNOST.НОРМАТИВ_CODE_ЯВЛЯЕТСЯ IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN OTCHETNOST.ОБЪЕКТ_ЭМ_CODE IS 'Уникальный идентификатор'
/
PROMPT Creating Table 'ORGANIZATION'
CREATE TABLE ORGANIZATION
(CODE NUMBER(6,0) NOT NULL
,NAME VARCHAR2(200) NOT NULL
,SHORTNAME VARCHAR2(50)
,ORG_TYPE VARCHAR2(50) NOT NULL
,ADDRESS VARCHAR2(200)
,SERVICE VARCHAR2(2000)
,TELEPHONE VARCHAR2(200)
,REKV VARCHAR2(200)
,STATUS VARCHAR2(1) DEFAULT '(''н'')'
,SGYK NUMBER(1,0) DEFAULT 0
,EXPORG NUMBER(1,0) DEFAULT 0
,LAWSTATUS VARCHAR2(50)
,POWERORG NUMBER(1,0) DEFAULT 0
,INFEXCH VARCHAR2(3)
,ORG_CODE NUMBER(6,0)
,ПОДОТЧЕТНА_ОРГ NUMBER(6,0)
)
/
PROMPT Creating Table 'FORMA_OTCHETNOSTI'
CREATE TABLE FORMA_OTCHETNOSTI
(CODE NUMBER(6) NOT NULL
,POST VARCHAR2(240)
,NAME VARCHAR2(240)
,DATA VARCHAR2(240)
,DATA2 VARCHAR2(4)
,DATA3 VARCHAR2(240)
,ORG_CODE NUMBER(6,0) NOT NULL
,ORG_CODE_УТВЕРЖДЕНА NUMBER(6,0) NOT NULL
,ПЕРИОДИЧН_CODE VARCHAR2(240) NOT NULL
,ФОРМА_CODE NUMBER(6)
)
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.CODE IS 'Уникльный идентификатор'
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.POST IS 'Должность лица ответственного за заполнение формы'
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.NAME IS 'ФИО лица ответственного за заполнение формы'
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.DATA IS 'дата составления документа'
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.DATA2 IS 'дата получения документа'
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.DATA3 IS 'дата введения формы отчнтности'
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.ПЕРИОДИЧН_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN FORMA_OTCHETNOSTI.ФОРМА_CODE IS 'Уникльный идентификатор'
/
PROMPT Creating Table 'SUBSTANCE'
CREATE TABLE SUBSTANCE
(CODE NUMBER(6) NOT NULL
,FULLNAME VARCHAR2(50) NOT NULL
,SHORTNAME VARCHAR2(20) NOT NULL
,CEMICALNAME VARCHAR2(30)
,DESCR VARCHAR2(1000)
)
/
COMMENT ON COLUMN SUBSTANCE.CODE IS 'Уникальный идентификатор'
/
COMMENT ON COLUMN SUBSTANCE.FULLNAME IS 'В соответствии с реестром'
/
COMMENT ON COLUMN SUBSTANCE.SHORTNAME IS 'В соответствии с реестром'
/
COMMENT ON COLUMN SUBSTANCE.CEMICALNAME IS 'Химическая формула (название)'
/
COMMENT ON COLUMN SUBSTANCE.DESCR IS 'воздействует на ...'
/
PROMPT Creating Table 'PERIOD'
CREATE TABLE PERIOD
(CODE VARCHAR2(240) NOT NULL
,NAME VARCHAR2(240) NOT NULL
)
/
COMMENT ON COLUMN PERIOD.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN PERIOD.NAME IS 'Наименование периода отчетности'
/
PROMPT Creating Table 'ECOLOGY_NUMBER'
CREATE TABLE ECOLOGY_NUMBER
(CODE NUMBER(6) NOT NULL
,FULLNAME VARCHAR2(50)
,SHORTNAME VARCHAR2(20)
,FLAG VARCHAR2(1) NOT NULL
,DESCR VARCHAR2(100)
,ГРУППА_ПАР_CODE NUMBER(6) NOT NULL
,UNI1_UNITMEAS VARCHAR2(20)
,ТИП_ЭВ_CODE NUMBER(6) NOT NULL
)
/
COMMENT ON COLUMN ECOLOGY_NUMBER.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ECOLOGY_NUMBER.FULLNAME IS 'Наименование полное'
/
COMMENT ON COLUMN ECOLOGY_NUMBER.SHORTNAME IS 'Наименование краткое'
/
COMMENT ON COLUMN ECOLOGY_NUMBER.FLAG IS 'указатель на тип значения (числовое, текстовое)'
/
COMMENT ON COLUMN ECOLOGY_NUMBER.DESCR IS 'Описание'
/
COMMENT ON COLUMN ECOLOGY_NUMBER.ГРУППА_ПАР_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ECOLOGY_NUMBER.ТИП_ЭВ_CODE IS 'Уникальный идентификатор'
/
PROMPT Creating Table 'GROUP_PARAMETR'
CREATE TABLE GROUP_PARAMETR
(CODE NUMBER(6) NOT NULL
,NAME VARCHAR2(240) NOT NULL
,ГРУППА_ПАР NUMBER(6)
)
/
COMMENT ON COLUMN GROUP_PARAMETR.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN GROUP_PARAMETR.NAME IS 'Наименование группы параметров'
/
COMMENT ON COLUMN GROUP_PARAMETR.ГРУППА_ПАР IS 'Уникальный идентификатор сущности'
/
PROMPT Creating Table 'TYPE_ECOLOGY_NUMBER'
CREATE TABLE TYPE_ECOLOGY_NUMBER
(CODE NUMBER(6) NOT NULL
,NAME VARCHAR2(240) NOT NULL
,ТИП_ЭВ NUMBER(6)
)
/
COMMENT ON COLUMN TYPE_ECOLOGY_NUMBER.CODE IS 'Уникальный идентификатор'
/
COMMENT ON COLUMN TYPE_ECOLOGY_NUMBER.NAME IS 'Наименование типа параметра'
/
COMMENT ON COLUMN TYPE_ECOLOGY_NUMBER.ТИП_ЭВ IS 'Уникальный идентификатор'
/
PROMPT Creating Table 'ZAGRAZN_VV'
CREATE TABLE ZAGRAZN_VV
(CODE NUMBER(6) NOT NULL
,СМЕСИ_CODE NUMBER(6)
,ISO_SHORTNAME VARCHAR2(10)
,SUBSTANCE_CODE NUMBER(6)
)
/
COMMENT ON COLUMN ZAGRAZN_VV.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ZAGRAZN_VV.СМЕСИ_CODE IS 'Уникальный идетификатор сущности'
/
COMMENT ON COLUMN ZAGRAZN_VV.SUBSTANCE_CODE IS 'Уникальный идентификатор'
/
PROMPT Creating Table 'SMES'
CREATE TABLE SMES
(CODE NUMBER(6) NOT NULL
,FULLNAME VARCHAR2(200) NOT NULL
,SHORTNAME VARCHAR2(20)
)
/
COMMENT ON COLUMN SMES.CODE IS 'Уникальный идетификатор сущности'
/
COMMENT ON COLUMN SMES.FULLNAME IS 'Полное наименование смеси веществ'
/
COMMENT ON COLUMN SMES.SHORTNAME IS 'Краткое наименование смеси веществ'
/
PROMPT Creating Table 'ECOLOGY_PARAM'
CREATE TABLE ECOLOGY_PARAM
(CODE NUMBER(6) NOT NULL
,DATA_B DATE NOT NULL
,DATA_E DATE
,TYPE_PARAMETR VARCHAR2(240) NOT NULL
,TYPE_ZNACH VARCHAR2(240) NOT NULL
,DESCR VARCHAR2(100)
,UNI1_UNITMEAS VARCHAR2(20)
,ЭКОЛОГ_CODE NUMBER(6) NOT NULL
,ЗАГР_ВВ_CODE NUMBER(6)
,НОРМАТИВ_CODE NUMBER(6) NOT NULL
,НОРМАТИВ_CODE_ИМЕЕТ NUMBER(6) NOT NULL
,ФОРМА_CODE NUMBER(6)
,ПЕРИОДИЧН_CODE VARCHAR2(240) NOT NULL
)
/
COMMENT ON COLUMN ECOLOGY_PARAM.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ECOLOGY_PARAM.DATA_B IS 'Дата ввода в действие параметра'
/
COMMENT ON COLUMN ECOLOGY_PARAM.DATA_E IS 'Дата завершения действия параметра'
/
COMMENT ON COLUMN ECOLOGY_PARAM.TYPE_PARAMETR IS 'Тип параметра (фактический, согласованный, норматив)'
/
COMMENT ON COLUMN ECOLOGY_PARAM.TYPE_ZNACH IS 'Тип значения (расчетное, исходное)'
/
COMMENT ON COLUMN ECOLOGY_PARAM.DESCR IS 'Комментарий'
/
COMMENT ON COLUMN ECOLOGY_PARAM.ЭКОЛОГ_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ECOLOGY_PARAM.ЗАГР_ВВ_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ECOLOGY_PARAM.НОРМАТИВ_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ECOLOGY_PARAM.НОРМАТИВ_CODE_ИМЕЕТ IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN ECOLOGY_PARAM.ФОРМА_CODE IS 'Уникльный идентификатор'
/
COMMENT ON COLUMN ECOLOGY_PARAM.ПЕРИОДИЧН_CODE IS 'Уникальный идентификатор сущности'
/
PROMPT Creating Table 'NORMATIV_PARAM'
CREATE TABLE NORMATIV_PARAM
(CODE NUMBER(6) NOT NULL
,НОРМАТИВ_TYPE VARCHAR2(240)
)
/
COMMENT ON COLUMN NORMATIV_PARAM.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN NORMATIV_PARAM.НОРМАТИВ_TYPE IS 'Тип норматива'
/
PROMPT Creating Table 'TERRITORIES'
CREATE TABLE TERRITORIES
(CODE NUMBER NOT NULL
,KINDT NUMBER(2,0) NOT NULL
,NAME VARCHAR2(200) NOT NULL
,DESCR VARCHAR2(4000)
,SQUARE NUMBER
,GRIF NUMBER(2,0) DEFAULT 0 NOT NULL
)
/
PROMPT Creating Table 'OBJECT_EM'
CREATE TABLE OBJECT_EM
(CODE NUMBER(6) NOT NULL
,TYPE_OBJ VARCHAR2(240)
,CODE_OBJ VARCHAR2(240)
,CLASS VARCHAR2(240)
,DET_STRUCT VARCHAR2(240)
,DET_TER VARCHAR2(240)
)
/
COMMENT ON COLUMN OBJECT_EM.CODE IS 'Уникальный идентификатор'
/
COMMENT ON COLUMN OBJECT_EM.TYPE_OBJ IS 'Тип объекта мониторинга'
/
COMMENT ON COLUMN OBJECT_EM.CODE_OBJ IS 'код объекта мониторинга'
/
COMMENT ON COLUMN OBJECT_EM.CLASS IS 'класс объекта (население территория объект)'
/
COMMENT ON COLUMN OBJECT_EM.DET_STRUCT IS 'детализация структуры'
/
COMMENT ON COLUMN OBJECT_EM.DET_TER IS 'детализация по местонахождению'
/
PROMPT Creating Table 'UNITMEASURE'
CREATE TABLE UNITMEASURE
(UNITMEAS VARCHAR2(20) NOT NULL
,MEASSYST VARCHAR2(15) NOT NULL
,FACTOR NUMBER
,CODE NUMBER(4,0)
,DISPLAY_FORMAT VARCHAR2(20)
)
/
COMMENT ON COLUMN UNITMEASURE.FACTOR IS 'Коэффициент перевода единиц измерения (1-для основного)'
/
COMMENT ON COLUMN UNITMEASURE.CODE IS 'Уникальный код'
/
COMMENT ON COLUMN UNITMEASURE.DISPLAY_FORMAT IS 'Форматная маска'
/
PROMPT Creating Table 'VALUE'
CREATE TABLE VALUE
(CODE NUMBER(6) NOT NULL
,DATA_START DATE NOT NULL
,DATA_STOP DATE NOT NULL
,VALUE_NUMBER NUMBER
,VALUE_TEXT VARCHAR2(240)
,DESCR VARCHAR2(240)
,PARAM_CODE NUMBER(6) NOT NULL
,ORG_CODE NUMBER(6,0) NOT NULL
,ОТЧЕТНОСТЬ_CODE NUMBER(6) NOT NULL
)
/
COMMENT ON COLUMN VALUE.CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN VALUE.DATA_START IS 'Дата начала усреднения параметра'
/
COMMENT ON COLUMN VALUE.DATA_STOP IS 'Дата окончания усреднения'
/
COMMENT ON COLUMN VALUE.VALUE_NUMBER IS 'Численное значение величины'
/
COMMENT ON COLUMN VALUE.VALUE_TEXT IS 'Текстовое значение величины'
/
COMMENT ON COLUMN VALUE.DESCR IS 'Комментарии'
/
COMMENT ON COLUMN VALUE.PARAM_CODE IS 'Уникальный идентификатор сущности'
/
COMMENT ON COLUMN VALUE.ОТЧЕТНОСТЬ_CODE IS 'Уникальный идентификатор сущности'
/
PROMPT Creating Table 'ISOTOPE'
CREATE TABLE ISOTOPE
(SHORTNAME VARCHAR2(10) NOT NULL
,FULLNAME VARCHAR2(50) NOT NULL
)
/
-- c:\temp\uir.con
--
-- Generated for Oracle 8 on Tue Dec 25 16:29:20 2001 by Server Generator 6.0.3.3.0
PROMPT Creating Primary Key on 'OTCHETNOST'
ALTER TABLE OTCHETNOST
ADD CONSTRAINT ОТЧЕТНОСТЬ_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'ORGANIZATION'
ALTER TABLE ORGANIZATION
ADD CONSTRAINT ORG_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'FORMA_OTCHETNOSTI'
ALTER TABLE FORMA_OTCHETNOSTI
ADD CONSTRAINT ФОРМА_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'SUBSTANCE'
ALTER TABLE SUBSTANCE
ADD CONSTRAINT SUBSTANCE_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'PERIOD'
ALTER TABLE PERIOD
ADD CONSTRAINT ПЕРИОДИЧН_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'ECOLOGY_NUMBER'
ALTER TABLE ECOLOGY_NUMBER
ADD CONSTRAINT ЭКОЛОГ_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'GROUP_PARAMETR'
ALTER TABLE GROUP_PARAMETR
ADD CONSTRAINT ГРУППА_ПАР_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'TYPE_ECOLOGY_NUMBER'
ALTER TABLE TYPE_ECOLOGY_NUMBER
ADD CONSTRAINT ТИП_ЭВ_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'ZAGRAZN_VV'
ALTER TABLE ZAGRAZN_VV
ADD CONSTRAINT ЗАГР_ВВ_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'SMES'
ALTER TABLE SMES
ADD CONSTRAINT СМЕСИ_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'ECOLOGY_PARAM'
ALTER TABLE ECOLOGY_PARAM
ADD CONSTRAINT PARAM_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'NORMATIV_PARAM'
ALTER TABLE NORMATIV_PARAM
ADD CONSTRAINT НОРМАТИВ_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'TERRITORIES'
ALTER TABLE TERRITORIES
ADD CONSTRAINT TER3_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'OBJECT_EM'
ALTER TABLE OBJECT_EM
ADD CONSTRAINT ОБЪЕКТ_ЭМ_PK PRIMARY KEY
(CODE)
/
PROMPT Creating Primary Key on 'UNITMEASURE'
ALTER TABLE UNITMEASURE
ADD CONSTRAINT UNI1_PK PRIMARY KEY
(UNITMEAS)
/
PROMPT Creating Primary Key on 'ISOTOPE'
ALTER TABLE ISOTOPE
ADD CONSTRAINT ISO_PK PRIMARY KEY
(SHORTNAME)
/
PROMPT Creating Unique Keys on 'ORGANIZATION'
ALTER TABLE ORGANIZATION
ADD ( CONSTRAINT ORG_SYS_C002890_UK UNIQUE
(NAME))
ADD ( CONSTRAINT ORG_SYS_C002891_UK UNIQUE
(SHORTNAME))
/
PROMPT Creating Unique Keys on 'TERRITORIES'
ALTER TABLE TERRITORIES
ADD ( CONSTRAINT TER3_SYS_C0027487_UK UNIQUE
(NAME))
/
PROMPT Creating Foreign Keys on 'OTCHETNOST'
ALTER TABLE OTCHETNOST ADD CONSTRAINT
ОТЧЕТНОСТЬ_ПЕРИОДИЧН_FK FOREIGN KEY
(ПЕРИОДИЧН_CODE) REFERENCES PERIOD
(CODE) ADD CONSTRAINT
ОТЧЕТНОСТЬ_PARAM_FK FOREIGN KEY
(PARAM_CODE) REFERENCES ECOLOGY_PARAM
(CODE) ADD CONSTRAINT
ОТЧЕТНОСТЬ_НОРМАТИВ_FK FOREIGN KEY
(НОРМАТИВ_CODE) REFERENCES NORMATIV_PARAM
(CODE) ADD CONSTRAINT
ОТЧЕТНОСТЬ_НОРМАТИВ_ЯВЛЯЕТС_FK FOREIGN KEY
(НОРМАТИВ_CODE_ЯВЛЯЕТСЯ) REFERENCES NORMATIV_PARAM
(CODE) ADD CONSTRAINT
ОТЧЕТНОСТЬ_UNI1_FK FOREIGN KEY
(UNI1_UNITMEAS) REFERENCES UNITMEASURE
(UNITMEAS) ADD CONSTRAINT
ОТЧЕТНОСТЬ_ОБЪЕКТ_ЭМ_FK FOREIGN KEY
(ОБЪЕКТ_ЭМ_CODE) REFERENCES OBJECT_EM
(CODE)
/
PROMPT Creating Foreign Keys on 'FORMA_OTCHETNOSTI'
ALTER TABLE FORMA_OTCHETNOSTI ADD CONSTRAINT
ФОРМА_ФОРМА_FK FOREIGN KEY
(ФОРМА_CODE) REFERENCES FORMA_OTCHETNOSTI
(CODE) ADD CONSTRAINT
ФОРМА_ORG_УТВЕРЖДЕНА_FK FOREIGN KEY
(ORG_CODE_УТВЕРЖДЕНА) REFERENCES ORGANIZATION
(CODE) ADD CONSTRAINT
ФОРМА_ПЕРИОДИЧН_FK FOREIGN KEY
(ПЕРИОДИЧН_CODE) REFERENCES PERIOD
(CODE)
/
PROMPT Creating Foreign Keys on 'ECOLOGY_NUMBER'
ALTER TABLE ECOLOGY_NUMBER ADD CONSTRAINT
ЭКОЛОГ_UNI1_FK FOREIGN KEY
(UNI1_UNITMEAS) REFERENCES UNITMEASURE
(UNITMEAS) ADD CONSTRAINT
ЭКОЛОГ_ТИП_ЭВ_FK FOREIGN KEY
(ТИП_ЭВ_CODE) REFERENCES TYPE_ECOLOGY_NUMBER
(CODE) ADD CONSTRAINT
ЭКОЛОГ_ГРУППА_ПАР_FK FOREIGN KEY
(ГРУППА_ПАР_CODE) REFERENCES GROUP_PARAMETR
(CODE)
/
PROMPT Creating Foreign Keys on 'GROUP_PARAMETR'
ALTER TABLE GROUP_PARAMETR ADD CONSTRAINT
ГРУППА_ПАР_ГРУППА_ПАР_FK FOREIGN KEY
(ГРУППА_ПАР) REFERENCES GROUP_PARAMETR
(CODE)
/
PROMPT Creating Foreign Keys on 'TYPE_ECOLOGY_NUMBER'
ALTER TABLE TYPE_ECOLOGY_NUMBER ADD CONSTRAINT
ТИП_ЭВ_FK FOREIGN KEY
(ТИП_ЭВ) REFERENCES TYPE_ECOLOGY_NUMBER
(CODE)
/
PROMPT Creating Foreign Keys on 'ZAGRAZN_VV'
ALTER TABLE ZAGRAZN_VV ADD CONSTRAINT
ЗАГР_ВВ_СМЕСИ_FK FOREIGN KEY
(СМЕСИ_CODE) REFERENCES SMES
(CODE) ADD CONSTRAINT
ЗАГР_ВВ_ISO_FK FOREIGN KEY
(ISO_SHORTNAME) REFERENCES ISOTOPE
(SHORTNAME) ADD CONSTRAINT
ЗАГР_ВВ_SUBSTANCE_FK FOREIGN KEY
(SUBSTANCE_CODE) REFERENCES SUBSTANCE
(CODE)
/
PROMPT Creating Foreign Keys on 'ECOLOGY_PARAM'
ALTER TABLE ECOLOGY_PARAM ADD CONSTRAINT
PARAM_UNI1_FK FOREIGN KEY
(UNI1_UNITMEAS) REFERENCES UNITMEASURE
(UNITMEAS) ADD CONSTRAINT
PARAM_ЭКОЛОГ_FK FOREIGN KEY
(ЭКОЛОГ_CODE) REFERENCES ECOLOGY_NUMBER
(CODE) ADD CONSTRAINT
PARAM_ЗАГР_ВВ_FK FOREIGN KEY
(ЗАГР_ВВ_CODE) REFERENCES ZAGRAZN_VV
(CODE) ADD CONSTRAINT
PARAM_ФОРМА_FK FOREIGN KEY
(ФОРМА_CODE) REFERENCES FORMA_OTCHETNOSTI
(CODE) ADD CONSTRAINT
PARAM_ПЕРИОДИЧН_FK FOREIGN KEY
(ПЕРИОДИЧН_CODE) REFERENCES PERIOD
(CODE)
/
PROMPT Creating Foreign Keys on 'VALUE'
ALTER TABLE VALUE ADD CONSTRAINT
VALUE_ORG_FK FOREIGN KEY
(ORG_CODE) REFERENCES ORGANIZATION
(CODE) ADD CONSTRAINT
VALUE_ОТЧЕТНОСТЬ_FK FOREIGN KEY
(ОТЧЕТНОСТЬ_CODE) REFERENCES OTCHETNOST
(CODE)
/
Приложение 3. Пример текста программы.//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "main.h"
#include "basic.h"
#include "unislct.h"
#include "filter.h"
#include "fieldsN.h"
#include "fieldText.h"
#include "fieldList.h"
#include "fieldValue.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "tbltmpl"
#pragma resource "*.dfm"
void __fastcall UploadMetaInfo(TformDescription *t_desc, AnsiString formname)
{
TADOQuery *mrT = new TADOQuery(NULL);
try
{
mrT->Connection = frmMain->cnncMetaInfo;
t_desc->formname = formname;
if (SELECT(mrT, "select * from forms where name = '" + t_desc->formname + "'"))
{
t_desc->title = mrT->FieldByName("title")->AsString;
t_desc->edittitle = mrT->FieldByName("edittitle")->AsString;
t_desc->accepttitle = mrT->FieldByName("accepttitle")->AsString;
t_desc->table = mrT->FieldByName("table")->AsString;
t_desc->keyfield = mrT->FieldByName("keyfield")->AsString;
t_desc->namefield = mrT->FieldByName("namefield")->AsString;
t_desc->listfield = mrT->FieldByName("listfield")->AsString;
t_desc->shortnamefield = mrT->FieldByName("shortnamefield")->AsString;
t_desc->sortfield = mrT->FieldByName("sortfield")->AsString;
t_desc->sequencename = mrT->FieldByName("sequencename")->AsString;
t_desc->readonly = mrT->FieldByName("readonly")->AsBoolean;
t_desc->takefieldsfrom = mrT->FieldByName("takefieldsfrom")->AsString;
t_desc->type = mrT->FieldByName("type")->AsString;
t_desc->hideonaccept = mrT->FieldByName("hideonaccept")->AsBoolean;
t_desc->parentfield = mrT->FieldByName("parentfield")->AsString;
} else
{
throw Exception("Ошибка: Форма {" + t_desc->formname + "} отсутствует");
}
} __finally
{
delete mrT;
}
}
//---------------------------------------------------------------------------
__fastcall TfrmUniForm::TfrmUniForm(TComponent* Owner, TMenuItem* itm, AnsiString formname)
: TForm(Owner)
{
this->itm = itm;
uid = "";
link = false;
desc = new TformDescription();
slv = NULL; lnk = NULL;
desc->formname = formname;
form->dsc = desc;
parentform = NULL;
if (itm) itm->Enabled = false;
accept = false;
btnlst = new TList();
fltlst = new TList();
fldlst = new TList();
UploadInfo();
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::UploadInfo()
{
UploadMetaInfo(desc, desc->formname);
this->Caption = desc->title;
form->editpanel->Caption = desc->edittitle;
form->dbgBrowse->Columns->Items[0]->FieldName = desc->listfield;
form->dbgBrowse->Columns->Items[0]->Title->Caption = "Название";
if (desc->readonly) { form->tblBrowse->ReadOnly = true; }
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::ReorderFilters()
{
for (int r=0; r<fltlst->Count; r++)
{
TfrmFilter* fr = ((TfrmFilter*)((TfltAddInfo*)fltlst->Items[r])->pntr);
fr->Align = alNone;
fr->Visible = false;
}
for (int r=0; r<fltlst->Count; r++)
{
TfrmFilter* fr = ((TfrmFilter*)((TfltAddInfo*)fltlst->Items[r])->pntr);
fr->Visible = true;
fr->Align = alTop;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::Execute()
{
if (link)
{
form->Go();
// запомним мета-информацию по полям
int cnt = form->tblBrowse->Fields->Count;
TField **flms = new TField*[cnt];
for(int i = 0; i < cnt; i++)
{
TFieldType dtype = form->tblBrowse->Fields->Fields[i]->DataType;
if (dtype == ftInteger) flms[i] = new TIntegerField(this);
if (dtype == ftString) flms[i] = new TStringField(this);
if (dtype == ftFloat) flms[i] = new TFloatField(this);
if (dtype == ftDate) flms[i] = new TDateField(this);
if (dtype == ftDateTime) flms[i] = new TDateTimeField(this);
if (dtype == ftTime) flms[i] = new TTimeField(this);
flms[i]->Required = form->tblBrowse->Fields->Fields[i]->Required;
flms[i]->ReadOnly = form->tblBrowse->Fields->Fields[i]->ReadOnly;
flms[i]->FieldName = form->tblBrowse->Fields->Fields[i]->FieldName;
flms[i]->Size = form->tblBrowse->Fields->Fields[i]->Size;
flms[i]->Tag = (int)dtype;
}
form->tblBrowse->Close();
for(int i = 0; i < cnt; i++) flms[i]->DataSet = form->tblBrowse;
// добавим lookup-поле
TStringField *fld = new TStringField(form->tblBrowse);
fld->ReadOnly = true;
fld->FieldName = desc->listfield;
fld->FieldKind = fkLookup;
AnsiString tmp;
tmp = lnk->linktofield; StrRpl(tmp, ",", ";");
fld->KeyFields = tmp;
tmp = slv->keyfield; StrRpl(tmp, ",", ";");
fld->LookupKeyFields = tmp;
fld->LookupDataSet = form->tblAdd;
fld->LookupResultField = slv->listfield;
fld->Lookup = true;
if (form->tblAdd->Active)
fld->Size = form->tblAdd->FieldByName(slv->listfield)->Size;
fld->DataSet = form->tblBrowse;
form->dbgBrowse->Columns->Items[0]->FieldName = fld->FieldName;
form->dbgBrowse->Columns->Items[0]->Title->Caption = "Название";
}
AnsiString strw;
if (!accept || !desc->hideonaccept)
{
strw = "select * from buttons where parentform = '" + desc->formname + "' ";
if (!desc->takefieldsfrom.IsEmpty()) strw += "or parentform = '" + desc->takefieldsfrom + "' ";
strw += "order by sortorder desc";
if (SELECT(mqrA, strw))
{
do
{
TToolButton* btn = form->AddLinkBtn(mqrA->FieldByName("title")->AsString, CommonButtonClick);
TbtnAddInfo *inf = new TbtnAddInfo();
inf->childform = mqrA->FieldByName("childform")->AsString;
inf->childtitle = mqrA->FieldByName("childtitle")->AsString;
inf->linkform = mqrA->FieldByName("linkform")->AsString;
inf->linktofield = mqrA->FieldByName("linktofield")->AsString;
inf->linkfromfield = mqrA->FieldByName("linkfromfield")->AsString;
inf->type = mqrA->FieldByName("type")->AsString;
inf->sql = mqrA->FieldByName("sql")->AsString;
btn->Tag = btnlst->Add(inf);
mqrA->Next();
} while (!mqrA->Eof);
}
}
strw = "select * from filters where parentform = '" + desc->formname + "' ";
if (!desc->takefieldsfrom.IsEmpty()) strw += "or parentform = '" + desc->takefieldsfrom + "' ";
strw += "order by sortorder desc";
if (SELECT(mqrA, strw))
{
do
{
TfrmFilter* flt = form->AddFilter(mqrA->FieldByName("title")->AsString, CommonFilterChange, CommonFilterClear);
TfltAddInfo *inf = new TfltAddInfo();
inf->childform = mqrA->FieldByName("childform")->AsString;
inf->filtersql = mqrA->FieldByName("filtersql")->AsString;
inf->sql = mqrA->FieldByName("sql")->AsString;
inf->type = mqrA->FieldByName("type")->AsString;
inf->name = mqrA->FieldByName("name")->AsString;
inf->code = mqrA->FieldByName("code")->AsInteger;
inf->logic = mqrA->FieldByName("logic")->AsInteger;
inf->pntr = flt;
inf->retid = "";
if (inf->logic == 1) form->FilterBy("a" + IntToStr(inf->code), "(1=0)");
if (lnk)
if (inf->childform == lnk->parentform)
{
inf->retid = lnk->linkvalue;
inf->rettitle = lnk->linktitle;
flt->edt->Text = lnk->linktitle;
// в uid возвращается выбранный код
AnsiString str = inf->filtersql;
if (retid.IsEmpty()) str="";
else StrRpl(str, "%1", lnk->linkvalue);
form->FilterBy("a" + IntToStr(inf->code), str);
flt->btn->Enabled = false;
flt->btnclr->Enabled = false;
flt->Enabled = false;
}
flt->Tag = fltlst->Add(inf);
mqrA->Next();
} while (!mqrA->Eof);
}
if (!accept || !desc->hideonaccept)
{
// подгрузка полей БД из имеющейся метаинформации
strw = "select * from fields where parentform = '" + desc->formname + "' ";
if (!desc->takefieldsfrom.IsEmpty()) strw += "or parentform = '" + desc->takefieldsfrom + "' ";
strw += "order by sortorder";
if (SELECT(mqrA, strw))
{
do
{
// сразу создадим все формы полей, инициализируем их, а также оставим ВСЮ семантику в этих формах
TfieldAddInfo *inf = new TfieldAddInfo();
inf->fieldname = mqrA->FieldByName("fieldname")->AsString;
inf->title = mqrA->FieldByName("title")->AsString;
inf->type = mqrA->FieldByName("type")->AsString;
inf->childform = mqrA->FieldByName("childform")->AsString;
inf->sql = mqrA->FieldByName("sql")->AsString;
inf->ReadOnly = mqrA->FieldByName("readonly")->AsBoolean;
inf->isqbe = mqrA->FieldByName("isqbe")->AsBoolean;
inf->value = mqrA->FieldByName("value")->AsString.Trim();
inf->code = mqrA->FieldByName("code")->AsInteger;
if (inf->type == (AnsiString)"T")
{
TfrmeFT *fr = new TfrmeFT(this, form->dsrcBrowse, inf);
fr->Parent = form->editarea; fr->Name = ""; fr->Align = alTop; inf->form = fr;
}
if ((inf->type == (AnsiString)"I") || (inf->type == (AnsiString)"S"))
{
TfrmeFV *fr = new TfrmeFV(this, form->dsrcBrowse, inf);
fr->Parent = form->editarea; fr->Name = ""; fr->Align = alTop; inf->form = fr;
}
if (inf->type == (AnsiString)"C")
{
TfrmeFieldsN *fr = new TfrmeFieldsN(this, form->dsrcBrowse, inf);
fr->Parent = form->editarea; fr->Name = ""; fr->Align = alTop; inf->form = fr;
}
if (inf->type == (AnsiString)"F") // поле интерпетируется на этапе подстановки при New,
{ // а также для фильтрации (т.е. используется для
// реализации ограниченных наборов)
form->FilterBy("flt_" + inf->fieldname, inf->sql);
}
if (inf->type == (AnsiString)"L")
{
TfrmeList *fr = new TfrmeList(this, form->dsrcBrowse, inf);
if (SELECT(mqrB, "select * from fieldelements where parentfield = " +
mqrA->FieldByName("code")->AsString + " order by sortorder"))
{
do
{
fr->AddElement(mqrB->FieldByName("title")->AsString, mqrB->FieldByName("value")->AsString);
mqrB->Next();
} while (!mqrB->Eof);
fr->Go();
mqrB->Close();
}
fr->Parent = form->editarea; fr->Name = ""; fr->Align = alTop; inf->form = fr;
}
fldlst->Add(inf);
mqrA->Next();
} while (!mqrA->Eof);
}
mqrA->Close();
}
bool f = ((desc->type == (AnsiString)"T") && (!desc->parentfield.Trim().IsEmpty()));
form->spbTree->Visible = f;
form->dbnPlus->Visible = f;
form->SetTreeMode(f);
TuneFilters();
form->Go();
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::TuneFromBtn(TbtnAddInfo *lnkinfo, AnsiString linkvalue, AnsiString linktitle, AnsiString parentform)
{
if (!lnk) lnk = new TlnkFromBtn();
form->lnkb = lnk;
lnk->linkform = lnkinfo->linkform;
lnk->linktofield = lnkinfo->linktofield;
lnk->linkfromfield = lnkinfo->linkfromfield;
lnk->linkvalue = linkvalue;
lnk->linktitle = linktitle;
lnk->parentform = parentform;
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::TuneForLink()
{
link = true;
slv = new TformDescription();
UploadMetaInfo(slv, lnk->linkform);
form->slv = slv;
form->link = link;
desc->listfield = "add_lnkform_nam";
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::InitTblAdd()
{
// инициализация tblAdd
AnsiString str;
str = "select " + slv->listfield + ", " + slv->keyfield + " from " + slv->table;
form->tblAdd->SQL->Clear();
form->tblAdd->SQL->Add(str);
try
{
form->tblAdd->Close();
form->tblAdd->Open();
} catch(EOracleError &E)
{
ShowMessage(E.Message + ", запрос: '" + str + "'");
return;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::TuneFilters()
{
if (!parentform) return;
TList* patfrm_fltlst = ((TfrmUniForm*)parentform)->fltlst;
TList* patfrm_fldlst = ((TfrmUniForm*)parentform)->fldlst;
if (patfrm_fltlst)
{
for (int r=0; r<fltlst->Count; r++)
for (int i=0; i<patfrm_fltlst->Count; i++)
{
TfltAddInfo* tm_r = ((TfltAddInfo*)(fltlst->Items[r]));
TfltAddInfo* tm_i = ((TfltAddInfo*)(patfrm_fltlst->Items[i]));
if (tm_r->name == tm_i->name)
{
tm_r->retid = tm_i->retid;
tm_r->rettitle = tm_i->rettitle;
TfrmFilter* src = ((TfrmFilter*)tm_r->pntr);
src->edt->Text = tm_i->rettitle;
// в uid возвращается выбранный код
AnsiString str = tm_r->filtersql;
if (retid.IsEmpty()) str="";
else StrRpl(str, "%1", retid);
form->FilterBy("a" + IntToStr(tm_r->code), str);
}
}
}
if (accept && patfrm_fldlst)
{
TfrmUniForm* uni = ((TfrmUniForm*)parentform);
if (!uni->form->tblBrowse->IsEmpty())
{
for (int r=0; r<patfrm_fldlst->Count; r++)
for (int i=0; i<fltlst->Count; i++)
{
TfieldAddInfo *fl = ((TfieldAddInfo*)patfrm_fldlst->Items[r]);
TfrmeFieldsN *tm_i = ((TfrmeFieldsN*)(fl->form));
TfltAddInfo *tm_r = ((TfltAddInfo*)(fltlst->Items[i]));
if ((fl->type == (AnsiString)"C") && (fl->fieldname == tm_r->name))
if (!uni->form->tblBrowse->FieldByName(fl->fieldname)->IsNull)
{
tm_r->retid = uni->form->tblBrowse->FieldByName(fl->fieldname)->AsString;
tm_r->rettitle = tm_i->name->Text;
TfrmFilter* src = ((TfrmFilter*)tm_r->pntr);
src->edt->Text = tm_i->name->Text;
// в uid возвращается выбранный код
AnsiString str = tm_r->filtersql;
if (retid.IsEmpty()) str="";
else StrRpl(str, "%1", retid);
form->FilterBy("a" + IntToStr(tm_r->code), str);
}
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::CommonButtonClick(TObject *Sender)
{
TbtnAddInfo* tm = ((TbtnAddInfo*)btnlst->Items[((TToolButton*)Sender)->Tag]);
if (form->tblBrowse->IsEmpty()) return;
// обработка настройки дочерней формы по нажатию кнопки контекстного перехода
AnsiString _title = tm->childtitle, _filter = tm->sql;
UseReplaces(_title, _filter);
bool s = (tm->type == (AnsiString)"S"), l = (tm->type == (AnsiString)"L");
if (!s && !l) return;
try
{
TfrmUniForm *frm = new TfrmUniForm(frmMain, NULL, tm->childform);
frm->parentform = this;
if (!_filter.Trim().IsEmpty()) frm->form->FilterBy("parent", _filter);
if (!_title.Trim().IsEmpty()) frm->Caption = _title;
if (s || l) frm->TuneFromBtn(tm, form->tblBrowse->FieldByName(desc->keyfield)->AsString, form->tblBrowse->FieldByName(desc->listfield)->AsString, desc->formname);
if (l) frm->TuneForLink();
if (l) frm->InitTblAdd();
frm->Execute();
frm->FormStyle = fsMDIChild;
frm->Show();
} catch (Exception &E)
{
ShowMessage(E.Message);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::CommonFilterChange(TObject *Sender)
{
// обработка вызова дочерней формы по нажатию кнопки фильтра
TfrmFilter* src = ((TfrmFilter*)Sender);
TfltAddInfo* tm = ((TfltAddInfo*)fltlst->Items[src->Tag]);
int i = CallOtherForm(tm->childform, "", tm->sql, true, true);
if (i == mrOk)
{
tm->retid = retid;
tm->rettitle = rettitle;
src->edt->Text = rettitle;
// в uid возвращается выбранный код
AnsiString str = tm->filtersql;
if (retid.IsEmpty()) { CommonFilterClear(Sender); return; }
else StrRpl(str, "%1", retid);
form->FilterBy("a" + IntToStr(tm->code), str);
form->Go();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::CommonFilterClear(TObject *Sender)
{
// обработка вызова дочерней формы по нажатию кнопки фильтра
TfrmFilter* src = ((TfrmFilter*)Sender);
TfltAddInfo* tm = ((TfltAddInfo*)fltlst->Items[src->Tag]);
tm->retid = "";
src->edt->Text = "";
AnsiString str = "";
if (tm->logic == 1) str = "(1=0)";
form->FilterBy("a" + IntToStr(tm->code), str);
form->Go();
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::CommonFltSlctChange(TObject *Sender)
{
// обработка вызова дочерней формы по выбору из списка
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::FormClose(TObject *Sender,
TCloseAction &Action)
{
Action = caFree;
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::formbtbtnCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::formbtbtnOKClick(TObject *Sender)
{
if (!form->tblBrowse->IsEmpty())
{
this->uid = form->tblBrowse->FieldByName(desc->keyfield)->AsString;
this->rettitle = form->tblBrowse->FieldByName(desc->listfield)->AsString;
this->ModalResult = mrOk;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::TuneForAccept()
{
if (form) form->TuneForAccept();
accept = true;
if (!desc->accepttitle.IsEmpty()) this->Caption = desc->accepttitle;
if (desc->hideonaccept) this->Width = 500;
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::FormDestroy(TObject *Sender)
{
if (desc) delete desc;
if (slv) delete slv;
if (lnk) delete lnk;
for (int r=0; r<btnlst->Count; r++)
delete ((TbtnAddInfo*)(btnlst->Items[r]));
delete btnlst;
for (int r=0; r<fltlst->Count; r++)
delete ((TfltAddInfo*)(fltlst->Items[r]));
delete fltlst;
for (int r=0; r<fldlst->Count; r++)
delete ((TfieldAddInfo*)(fldlst->Items[r]));
delete fldlst;
if (itm) itm->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::UseReplaces(AnsiString &title, AnsiString &filter)
{
if (!form->tblBrowse->IsEmpty() && !form->tblBrowse->FieldByName(desc->keyfield )->IsNull)
{
StrRpl(title, "%1", form->tblBrowse->FieldByName(desc->listfield)->AsString);
StrRpl(filter, "%1", form->tblBrowse->FieldByName(desc->keyfield )->AsString);
}
StrRpl(filter, "<<", "|%%");
StrRpl(filter, ">>", "%%|");
// учтём подстановки полей вида <field>, а также их возможные NULL
filter = TranslateString(filter, FieldValue);
StrRpl(filter, "|%%", "<");
StrRpl(filter, "%%|", ">");
// учтём (ссылки на другие фильтры) подстаноки вида <<flt_value>>, а также их возможные NULL
filter = TranslateString(filter, FilterValue);
StrRpl(filter, "'NULL'", "NULL");
}
//---------------------------------------------------------------------------
int __fastcall TfrmUniForm::CallOtherForm(AnsiString _form, AnsiString _title, AnsiString _filter,
bool _modal, bool _accept)
{
UseReplaces(_title, _filter);
int res = 0;
try
{
TfrmUniForm *frm = new TfrmUniForm(((_modal)?(TForm*)Owner:(TForm*)frmMain), NULL, _form);
frm->parentform = this;
if (!_filter.Trim().IsEmpty()) frm->form->FilterBy("parent", _filter);
if (_accept) { frm->TuneForAccept(); frm->parentform = this; }
if (!_title.Trim().IsEmpty()) frm->Caption = _title;
frm->Execute();
if (_modal)
{
frm->FormStyle = fsNormal;
res = frm->ShowModal();
retid = frm->uid;
rettitle = frm->rettitle;
} else
{
frm->FormStyle = fsMDIChild;
frm->Show();
}
} catch (Exception &E)
{
ShowMessage(E.Message);
}
return res;
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::formdbgBrowseDblClick(TObject *Sender)
{
if (accept && form->btbtnOK->Visible && form->pnlLCOK->Visible)
formbtbtnOKClick(this);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmUniForm::FieldValue(AnsiString valname)
{
AnsiString tmp;
if (!form->tblBrowse->FieldByName(valname.Trim())->IsNull)
tmp= form->tblBrowse->FieldByName(valname.Trim())->AsString;
else
tmp= "NULL";
return tmp;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmUniForm::FilterValue(AnsiString valname)
{
AnsiString tmp;
// выясним текущее значение указанного фильтра
for (int r=0; r<fltlst->Count; r++)
{
TfltAddInfo* tm = ((TfltAddInfo*)(fltlst->Items[r]));
if (tm->name == valname.Trim())
{
if (!tm->retid.IsEmpty())
tmp= tm->retid;
else
tmp= "NULL";
}
}
return tmp;
}
//---------------------------------------------------------------------------
// ф-ция разбора строки
AnsiString __fastcall TfrmUniForm::TranslateString(AnsiString str, TGetValueEvent evt)
{
AnsiString tmp, filter, _filter = str;
tmp = "";
filter = "";
bool b = false;
for(int r=1; r<=_filter.Length(); r++)
{
if (_filter[r] == '<' && !b) { b = true; tmp = ""; }
else
if (_filter[r] == '>' && b && (!tmp.Trim().IsEmpty())) { b = false; filter+=evt(tmp); }
else
if (_filter[r] != '<' && b) { tmp += _filter[r]; }
else
if (!b) { filter+= _filter[r]; }
}
return filter;
}
//---------------------------------------------------------------------------
void __fastcall TfrmUniForm::FormShow(TObject *Sender)
{
if (accept) ReorderFilters();
}
//---------------------------------------------------------------------------
... , и операторы на судне фиксируют техническое состояние трубопровода (места провисания, нарушения гидроизоляции, состояние протекторов электрохимической защиты, состояние обрастания и т.д.). Подсистема спутникового мониторинга нефтяных загрязнений в первую очередь должна опираться на радиолокационные спутники. Она может обеспечить: - обнаружение нефтяных пятен и источников их происхождения на ...
... , кроме Федерального закона «Об охране окружающей среды», имеются во всех природоресурсных и иных нормативных правовых актах. 2. Законодательство Республики Башкортостан в области экологического мониторинга Работы по созданию системы экологического мониторинга Республики Башкортостан были начаты в 1993 году, после выхода постановления Совета Министров – Правительства РФ от 24.11.1993 г. ...
... зрения, при выборе ГИС для региональной экоинформационной системы следует отдать предпочтение комплексному подходу. Центральный сервер региональной экоинформационной системы неизбежно должен иметь высокопроизводительное оборудование и соответствующее программное обеспечение. Оптимальным решением в условиях современной России можно считать экоинформационный комплекс НИЦЭБ РАН (директор проекта - ...
... под угрозой исчезновения, либо уже исчезнувших, более 200 видов растений и лишайников. Издана книга «Земля, на которой мы живем. Природа и природопользование Омского Прииртышья». Глава 2. Экологические проблемы Омской области §1. Основные экологические проблемы Омской области Наши предки поступили очень мудро, дальновидно, основав город на двух голубых артериях. Но две реки - а это 2 ...
0 комментариев