Схема описания инсталляции
<Install>
Title - название для окна параметров
Comment - комментарий к инсталляции, общее описание. Выводится при запуске и в файл ReadMe
У всех типов деталей следующие тэги:
Name= Имя для сохранения версии
CheckName= Имя для проверки версии
Version - версия, которая будет записана с кодом Name
VersionFrom, VersionTo - в каком интервале записанных аерсий выполнить данный пункт
Condition - Условие на VB. Проверка выполняется перед выполнением пункта. Возвращать должно Да/нет
<Description>
Комментарии и описание вносимых изменений. Выводится при запуске и в файл ReadMe. Рекомендуется писать в начале файла и брать в CDATA.
Title - Заголовок для описания (название режима)
Пример:
<Description Title="system_scripts.xml"><![
Добавлены функции:
LoadShortRef - Загружает контрол COMBOBOX для создания "короткого справочника"
]]></Description>
<Element>
стандартные аттрибуты елемента ввода. Работает аналогично определению переменных.
В качестве имени - аттрибут "name". Используется значение NullValue.
Применяется в тэгах SQL и script. Значение заданное как ~Имя переменной~ будет заменено на текстовое значение элемента.
Для использования символа "~"его надо написать дважды "~~"
<Include>
Install= имя вложенной инсталляции
<File>
FileName= файл, содержащий схему. С путем к файлу от корня BS Integrator
INI= модуль, в ини файл которого подключить данный файл. Содержит полный путь файла от корня BS Integrator с расширением
INIAfterFile = после какого файла в ини подключить данный файл. Если пустое значение - в начале
INIBeforeFile = перед каким файлом в ини подключить данный файл. Если пустое значение - в конце
IniSection - секция, в которую будет подключен файл. По умолчанию = "schema"
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
Reload - выполнить перегрузку схемы перед инсталляцией. По умолчанию =False
ReportDir = Если значение "True", Путь к файлу указан относительно каталога отчетов
<Schema>
Schema= имя схемы
WithDet="True" инсталлировать схему с деталями
InstallSchema - Выполнить инсталляцию схемы. По умолчанию = True
Reload - выполнить перегрузку схемы перед инсталляцией. По умолчанию =True
FileName= файл, содержащий схему. С путем к файлу от корня BS Integrator
MenuName= пункт меню, куда данный элемент будет подключен
MenuCommand= строка команды. Если не указана, используется RunDict
MenuModule= имя модуля для подключения меню. По умолчанию "DEF_APP"
MenuStr= мемо-значение для пункта меню
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<SQL>
FileName= файл, содержащий скрипт. С путем к файлу от корня BS Integrator
DB= тип базы данных, для которой выполнять скрипт. Возможные значения: "Oracle", "MSSQL". По умолчанию "MSSQL".
Для прописывания текста запроса его надо записать между блоком начала и окончания. Желательно использовать <![CDATA[……..]]>
Пример:
<SQL><![CDATA[Drop table aaa]]></SQL>
<Menu>
MenuName= пункт меню, куда данный элемент будет подключен
MenuCommand= строка команды
MenuStr= мемо-значение для пункта меню. Для разделения строк используйте "\n"
MenuModule= имя модуля для подключения меню. По умолчанию "DEF_APP"
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<Analysis> - если аналитика уже есть, переводит ее в тип "строка" и включает "коды без справочников", иначе insert
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
В качестве вложенных строк перечисляются записи типа <Record>, у которых имя аттрибута - это имя поля, а значение аттрибута - значение поля.
<Data> - если запись с такими ключами уже есть, выполняет update, иначе insert
Schema= имя схемы, в которой будет добавляться/изменяться запись
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
KeyList=имена ключевых полей, перечисленные через ",". По умолчанию PKName из схемы
В качестве вложенных строк перечисляются записи типа <Record>, у которых имя аттрибута - это имя поля, а значение аттрибута - значение поля.
<DataExt> - если запись с такими ключами уже есть, выполняет update, иначе insert
Schema= имя схемы, в которой будет добавляться/изменяться запись
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
В качестве вложенных строк перечисляются поля:
<Key>
Field= имя поля схемы
Value= значение, если условие между, то тут "значение от", если "в", то значения перечисляются через ";"
ValueTo
Kind= Тип условия отбора. По умолчанию="cEqual" Возможные значения: cEqual=0; cLess = 1; cGreat = 2; cEqLess = 3; cEqGreat = 4; cNotEqual = 5;
cLike = 6; cBetween = 7; cIsNull = 8; cNotIsNull = 9; cFilter = 10; cEqualOrNull = 11; cNotLike = 12; cIn = 13
<Feild>
Field= имя поля схемы
Value= значение
Time= время выполнения, необязательное. Значения: "'1 - Новые, 2 - Всегда, 3 - Изменение"
<Entry>
Schema= имя схемыввода
INI= модуль, в ини файл которого подключить данный файл. Содержит полный путь файла от корня BS Integrator с расширением
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<Template>
FileName= файл, содержащий схему. С путем к файлу от корня BS Integrator
INI= модуль, в ини файл которого подключить данный файл. Содержит полный путь файла от корня BS Integrator с расширением
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<TemplateSQL>
FileName= файл, содержащий схему. С путем к файлу от корня BS Integrator
INI= модуль, в ини файл которого подключить данный файл. Содержит полный путь файла от корня BS Integrator с расширением
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<Report>
FileName= файл шаблона
View= Lookup запроса
GroupView=Lookup группировки
Title= Название отчета в определении
ReportType= Тип отчета, название. Ищем по названию такой тип. Если нет, добавляем. По умолчанию = "Без типа"
MenuName= пункт меню, куда данный элемент будет подключен
MenuModule= имя модуля для подключения меню. По умолчанию "DEF_APP"
MenuStr= мемо-значение для пункта меню
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<View>
Title= Lookup запроса
FileName= имя файла с экспортом запроса. Будет взят из каталога Install. Если не указан - формируется на основе Title
Quantum=False - использовать обычный грид. По умолчанию - квантум.
MenuName= пункт меню, куда данный элемент будет подключен
MenuModule= имя модуля для подключения меню. По умолчанию "DEF_APP"
MenuStr= мемо-значение для пункта меню
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<GroupView>
Title= Lookup группировки
FileName= имя файла с экспортом группировки. Будет взят из каталога Install. Если не указан - формируется на основе Title
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
MenuName= пункт меню, куда данный элемент будет подключен
MenuModule= имя модуля для подключения меню. По умолчанию "DEF_APP"
MenuStr= мемо-значение для пункта меню
<BP>
Code= Код БП
FileName= имя файла с экспортом БП. Будет взят из каталога Install. Если не указан - формируется на основе Title
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
<Import>
FileName= имя файла с экспортированными данными. Если не указан, в качестве имени файла будет использоваться имя схемы. Будет взят из каталогаInstall
Schema= имя схемы, в которой будет добавляться/изменяться запись
ClearList= перечень имен схем элементов, ключи которых надо переприсвоить, перечисленные через ",".
SelectList= перечень имен схем элементов, которые будут экспортироваться, перечисленные через ",". Если не указано, экспортируются все элементы.
Action= Тип действия: Insert, Update, All, Delete. По умолчанию =All
В качестве вложенных строк перечисляются записи типа <Record>, у которых имя аттрибута - это имя ключевого поля, а значение аттрибута - значение поля.
Для отбора данных по условию можно использовать вложенные записи типа
<Condition>
с аттрибутами:
Field - обязательное, имя поля для условия. Можно использовать связанные поля, перечисленные через "/"
ValueFrom - Значение отбора.
ValueTo - Значение до (если используется cBetween, необязательно в других случаях)
Type - Тип условия (смотри описание iContext)
Пример:
<Import Schema="TR" ClearList="TR_Row,TR_Col,TR_Co
<Record RepCode="TB"/>
<Record RepCode="EngTB"/>
</Import>
<script>
Текст скрипта на VB, который надо выполнить. Записывается между тэгами начала и окончания. Желательно использовать <![CDATA[……..]]>
Для пакетов
У схемы
У элемента
UseInBatch="False" чтобы не включать в мастер с отборами
У схемы
Version - текщая версия схемы
Update- выполнять ли синхронизацию базы данных. Если ="False" апдейт не производится. Используется для схем на запросах или виртуальных схем.
InstallSQL - перечень имен файлов из каталога SQL, которые надо проапдейтить при инсталляции, разделенные знаком ";"
формат файла:
Для части, которая должна быть выполнена перед установкой (например удалить запрос) "name.ini.version.sql"
Для основной части - "name.ini.version.sql"
InstallFile - перечень имен файлов из каталога Install, которые надо проапдейтить при инсталляции, разделенные знаком ";"
формат файла: "name.type.version.xml"
поддерживаются следующие типы файлов:
view
group
book
OnBeforeInstall - имя функции, которую надо выполнять при инсталяции. OnBeforeInstall(SchemaObj, NewVersion, OldVersion)
OnAfterInstall - имя функции, которую надо выполнять при инсталяции. OnAfterInstall(SchemaObj, NewVersion, OldVersion)
LinkedInstall - перечень схем через ";", которые надо проинсталить перед текущей
LdgTypeField - Указывает имя поля, в котором находится ссылка на типовую операцию. Используется в новых БП для действий генерации проводок
У поля
У Файла
InstallIni - перечень ини файлов, перечисленных через запятую
----
1.схема system/setup.xml должна быть подключена. Желательно в паре с VB скрипт system/RunVB.xml
2. надо на базе выполнить запрос ExecSQL.1.sql (каталог SQL в СС)
3.для установки автоинстала надо выполнить команду
RunScript InstallModule(INST)
Далее для установки других схем используются команды:
InstallModule(ModuleName) - Инсталлирует указанный модуль (набор функций). Уже поддерживаются модули:
INST - начальная инициализация автоинстала
BUDGET - бюджетные схемы (пока статьи)
TR - табличные отчеты, конструктор отчетов
FINACC - новые вводы в финансах
InstallSchema(SchemaName) - Инсталляция схемы. Проверяет версии. Если версия схемы более записанной в базе - устанавливает.
ReInstallSchema(SchemaName) - Переинсталляция схемы. Если версия более ИЛИ РАВНА записанной в базе - устанавливает. Последняя будет переставлена в любом случае. Рекомендуется для использования.
-----
В функциях до или после инсталляции полезно использовать следующие функции:
MenuAdd(MenuName, CommandStr, MemoStr, AppName) - Добавляет в меню пункт. Если такой уже существует, ничего не меняется
MenuUpdate(MenuName, CommandStr, MemoStr, AppName) - Добавляет в меню пункт. Если такой уже существует, изменяется командная строка и мемо
Пример:
MenuUpdate "Процедуры/Настройки/VB скрипт", "NewBP RunVBTempl, RunVB", "en=VB script" & chr(13) & "uk=VB скрипт", "DEF_APP"
Для описания действий при инсталляции пока предусмотрены следующие аттрибуты:
У схемы
Version - текщая версия схемы
InstallDB - выполнять ли синхронизацию базы данных. Если ="False" апдейт не производится. Используется для схем на запросах или виртуальных схем.
InstallSQL - перечень имен файлов из каталога SQL, которые надо проапдейтить при инсталляции, разделенные знаком ";"
формат файла:
Для части, которая должна быть выполнена перед установкой (например удалить запрос) "name.ini.version.sql"
Для основной части - "name.ini.version.sql"
InstallFile - перечень имен файлов из каталога Install, которые надо проапдейтить при инсталляции, разделенные знаком ";"
формат файла: "name.type.version.xml"
поддерживаются следующие типы файлов:
view
group
book
OnBeforeInstall - имя функции, которую надо выполнять при инсталяции. OnBeforeInstall(SchemaObj, NewVersion, OldVersion)
OnAfterInstall - имя функции, которую надо выполнять при инсталяции. OnAfterInstall(SchemaObj, NewVersion, OldVersion)
LinkedInstall - перечень схем через ";", которые надо проинсталить перед текущей
