Хранилище настроек (постановка)
SYSDBA (обсуждение | вклад) |
Flake (обсуждение | вклад) |
||
| Строка 42: | Строка 42: | ||
</code> | </code> | ||
| + | В главной настройке ссылки на подчиненные файлы будут иметь вид: | ||
| + | |||
| + | <code> | ||
| + | :<SCRIPT file="data\function\Acc_CalcNormExpenses.vbs"></SCRIPT> | ||
| + | :<DFM file="data\form\usrf_acc_taxposition.dfm"></DFM> | ||
| + | </code> | ||
=== Папка с подчиненными файлами есть у каждой настройки === | === Папка с подчиненными файлами есть у каждой настройки === | ||
В этом случае необходимо каждому объекту (функции, процедуре) указать родную настройку, ту в папку которой он будет сохранятся. | В этом случае необходимо каждому объекту (функции, процедуре) указать родную настройку, ту в папку которой он будет сохранятся. | ||
| Строка 74: | Строка 80: | ||
</code> | </code> | ||
| + | В главной настройке ссылки на подчиненные файлы будут иметь вид: | ||
| + | |||
| + | <code> | ||
| + | :<SCRIPT file="Мат_склад_макросы\Acc_CalcNormExpenses.vbs"></SCRIPT> | ||
| + | :<DFM file="Общие_данные\gdc_dlgAttrUserDefinedTreeUSR_ACC_TAXPOSITION.dfm"></DFM> | ||
| + | </code> | ||
[[Category:Постановка]] | [[Category:Постановка]] | ||
__NOTOC__ | __NOTOC__ | ||
Версия 12:07, 28 сентября 2010
Необходимо так организовать хранение данных и метаданных настроек, чтобы было невозможно затирание новых изменений функции, например, функцией более старой версии из другой настройки. В статье Сохранение настройки в нескольких файлах (постановка) предлагается хранить тексты функций, форм и других значимых объектов вне файла настройки.
Возможно несколько способов организации:
На все хранилище имеется одна папка с подчиненными настройке файлами
В этом случае при сохранении мы всегда указываем корневую папку хранилища. Главный файл настройки сохраняется в корне папки setting (или в папку соответствующую тегу, типу настройки), подчиненные файлы помещаются в папку хранения кода -- data. Папка хранения кода будет содержать файлы vbs, dfm, fr, fr4, sql, содержащие логику работы приложения.
Получается следующая иерархия папок:
- setting\
- data\
- function\
- Acc_CalcNormExpenses.vbs
- Tgdc_dlgGoodBeforePost.vbs
- TgdcInvDocument147006557_63934951_DoOnNewRecord.vbs
- form\
- usrf_acc_taxposition.dfm
- gdc_dlgAttrUserDefinedTreeUSR_ACC_TAXPOSITION.dfm
- gdc_frmInvDocument147013038_109092844.dfm
- report\
- Приход_в_ценах_поставщика..fr
- Драг_металы.fr4
- stored_procedure\
- USR$AC_GETADDSUM.sql
- USR$FA_P_YEAR_BETWEEN.sql
- trigger\
- USR$INV_INVENTLINE.USR$BI_USR$INV_INVENTLINE.sql
- USR$INV_CAR.USR$USR$INV_BI_CAR_NAME.sql
- function\
- Мат_склад_макросы.xml
- Общие_данные.xml
- data\
При сохранении настройки не в хранилище настроек, или при сохранении настройки-патча, включающего в себя объекты из разных настроек, формируется точно такая же структура:
- VMK_SETTING\
- data\
- function\
- Acc_CalcNormExpenses.vbs
- form\
- usrf_acc_taxposition.dfm
- function\
- 20100928_Исправления.xml
- data\
В главной настройке ссылки на подчиненные файлы будут иметь вид:
- <SCRIPT file="data\function\Acc_CalcNormExpenses.vbs"></SCRIPT>
- <DFM file="data\form\usrf_acc_taxposition.dfm"></DFM>
Папка с подчиненными файлами есть у каждой настройки
В этом случае необходимо каждому объекту (функции, процедуре) указать родную настройку, ту в папку которой он будет сохранятся.
Получается следующая иерархия папок:
- setting\
- Мат_склад_макросы\
- Tgdc_dlgGoodBeforePost.vbs
- usrf_acc_taxposition.dfm
- gdc_frmInvDocument147013038_109092844.dfm
- USR$AC_GETADDSUM.sql
- USR$INV_INVENTLINE.USR$BI_USR$INV_INVENTLINE.sql
- USR$INV_CAR.USR$USR$INV_BI_CAR_NAME.sql
- Приход_в_ценах_поставщика..fr
- Драг_металы.fr4
- Общие_данные\
- TgdcInvDocument147006557_63934951_DoOnNewRecord.vbs
- Acc_CalcNormExpenses.vbs
- gdc_dlgAttrUserDefinedTreeUSR_ACC_TAXPOSITION.dfm
- USR$FA_P_YEAR_BETWEEN.sql
- Мат_склад_макросы.xml
- Общие_данные.xml
- Мат_склад_макросы\
При сохранении настройки не в хранилище настроек, или при сохранении настройки-патча, включающего в себя объекты из разных настроек, каждый объект сохраняется в папку соответствующую его родительской настройке:
- VMK_SETTING\
- Мат_склад_макросы\
- Acc_CalcNormExpenses.vbs
- Общие_данные\
- usrf_acc_taxposition.dfm
- 20100928_Исправления.xml
- Мат_склад_макросы\
В главной настройке ссылки на подчиненные файлы будут иметь вид:
- <SCRIPT file="Мат_склад_макросы\Acc_CalcNormExpenses.vbs"></SCRIPT>
- <DFM file="Общие_данные\gdc_dlgAttrUserDefinedTreeUSR_ACC_TAXPOSITION.dfm"></DFM>