examples | ||
scripts | ||
tests | ||
wmscripts | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README.md | ||
VERSION |
Набор скриптов для конвертации файлов 1С между различными форматами (бинарные файлы, XML, EDT)
Цель - упростить использование инструментов конвертации до вызова одного скрипта с парой параметров.
Скрипты расположены в каталоге scripts
Примеры и шаблоны производных (вспомогательных) скриптов расположениы в каталоге examples, описание README.md.
- Необходимые инструменты
- Переменные среды
- Скрипты конвертации
- Автоматический разбор конфигураций, расширений, внешних отчетов и обработок (watchman)
- Тесты
Необходимые инструменты
- Платформа 1С:Предприятие 8.3
- Java runtime environment 11
- 1C:Enterprise Development Tools (EDT)
- Утилита ring (входит в состав EDT)
- Утилита 1C:EDT CLI (входит в состав EDT)
- watchman - для автоматической конвертации файлов при изменении (рекомендуется прописать в переменную окружения
%PATH%
)
Переменные среды
- V8_VERSION - используемая версия платформы 1С:Предприятие
- V8_EDT_VERSION - используемая версия 1C:EDT (если не указано, то ожидается использование единственной установленной версии)
- V8_ENCODING - кодировка вывода лога (по умолчанию:
65001
) - V8_TEMP - путь к каталогу для создания временных файлов в процессе конвертации (по умолчанию:
%TEMP%\1c
) - V8_CONVERT_TOOL - инструмент для конвертации файлов конфигурации/расширения (по умолчанию:
designer
):- designer - для конвертации используется пакетный режим конфигуратора
- ibcmd - для конвертации используется утилита администрирования автономного сервера
- V8_TOOL - путь к исполняемому файлу 1С:Предприятие
1Cv8.exe
(по умолчанию:%PROGRAMW6432%\1cv8\%V8_VERSION%\bin\1cv8.exe
) - IBCMD_TOOL - путь к утилите управления автономным сервером
ibcmd
(по умолчанию:%PROGRAMW6432%\1cv8\%V8_VERSION%\bin\ibcmd.exe
) - RING_TOOL - путь к утилите ring из состава EDT (по умолчанию берется из переменной окружения
%PATH%
) - EDTCLI_TOOL - путь к утилите 1cedtcli из состава EDT (по умолчанию ищется в каталоге
%PROGRAMW6432%\1C\1CE\components\1c-edt-%V8_EDT_VERSION%*
) - IBCMD_DATA - путь к каталогу данных автономного сервера при использовании утилиты
ibcmd
(по умолчанию%V8_TEMP%\ibcmd_data
) - V8_SKIP_ENV - если установлена в
1
, то отключает чтение переменных среды из файла.env
- V8_CONF_CLEAN_DST - если установлена в
1
, то перед конвертацией конфигурации каталог назначения будет очищен - V8_EXT_CLEAN_DST - если установлена в
1
, то перед конвертацией расширения каталог назначения будет очищен - V8_DP_CLEAN_DST - если установлена в
1
, то перед конвертацией обработок/отчетов каталог назначения будет очищен
Значения переменных среды могут быть указаны в файле .env
в текущем рабочем каталоге, пример приведен в файле tests/example.env
Переменная среды V8_SKIP_ENV позволяет отключить чтение переменных среды из файла .env
: V8_SKIP_ENV=1
Скрипты конвертации
conf2ib.cmd
Выполняет загрузку конфигурации из указанного источника в информационную базу.
Источником может выступать:
- Файл выгрузки конфигурации (cf)
- Каталог выгрузки конфигурации в файлы (xml)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к информационной базе (переменная среды
%V8_DST_PATH%
)- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- Флаг создания новой информационной базы - если указано значение
create
, то будет создана новая информационная база, в противном случае будет выполнена загрузка конфигурации в существующую базу
Результат:
- Информационная база с загруженной исходной конфигурацией
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
ВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.
Проверялось на версии 8.3.20.2290, 8.3.23.1865, 8.3.23.2040
conf2cf.cmd
Выполняет конвертацию конфигурации из указанного источника в бинарный CF-файл.
Источником может выступать:
- Файловая информационная база
- Серверная информационная база
- Каталог выгрузки конфигурации в файлы (xml)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
)- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- Путь к файлу конфигурации (cf) (переменная среды
%V8_DST_PATH%
)
В случае выгрузки из серверной информационной базы и использовании утилиты ibcmd
дополнительно требуется указать переменные среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
Результат:
- Файл выгрузки исходной конфигурации (cf)
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
ВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.
Проверялось на версии 8.3.20.2290, 8.3.23.1865, 8.3.23.2040
conf2xml.cmd
Выполняет выгрузку конфигурации из указанного источника в формат выгрузки конфигуратора (XML).
Источником может выступать:
- Путь к файлу конфигурации (cf)
- Файловая информационная база
- Серверная информационная база
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
)- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- Путь к каталогу выгрузки файлов конфигурации (переменная среды
%V8_DST_PATH%
)
Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_CONF_CLEAN_DST
=1.
В случае выгрузки из серверной информационной базы и использовании утилиты ibcmd
дополнительно требуется указать переменные среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
- V8_CONVERT_TOOL - тип конвертации 'ibcmd'
- IBCMD_DATA - путь к рабочему каталогу
ibcmd
. Если не указан, то создается во временных файлах.
Результат:
- Каталог, содержащий XML-файлы выгрузки исходной конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
conf2edt.cmd
Выполняет выгрузку конфигурации из указанного источника в проект 1C:Enterprise Development Tools (EDT).
Источником может выступать:
- Путь к файлу конфигурации (cf)
- Файловая информационная база
- Серверная информационная база
- Каталог выгрузки конфигурации в файлы (xml)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
)- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- Путь к каталогу проекта EDT (переменная среды
%V8_DST_PATH%
)
Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды
Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_CONF_CLEAN_DST
=1.
В случае выгрузки из серверной информационной базы и использовании утилиты ibcmd
дополнительно требуется указать переменные среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
Результат:
- Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходной конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
dp2epf.cmd
Выполняет конвертацию внешних отчетов и обработок в бинарный формат (epf/erf).
Источником может выступать:
- Путь к основному файлу внешнего отчета или обработки в формате выгрузки конфигуратора (XML)
- Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику внешних отчетов и обработок (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу для сохранения бинарных файлов внешних отчетов и обработок (переменная среды
%V8_DST_PATH%
)
Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_DP_CLEAN_DST
=1.
Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:
- V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- V8_BASE_CONFIG - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из
V8_BASE_IB
, либо пустая конфигурация)
Результат:
- Каталог, содержащий бинарные файлы исходных внешних отчетов (epf) и обработок (erf)
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
dp2xml.cmd
Выполняет конвертацию файлов внешних отчетов и обработок в формат выгрузки конфигуратора (XML).
Источником может выступать:
- Файл внешнего отчета или обработки (epf, erf)
- Каталог, содержащий бинарные файлы внешних отчетов и обработок (epf, erf)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику внешних отчетов и обработок (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу для сохранения в формате выгрузки конфигуратора (XML) (переменная среды
%V8_DST_PATH%
)
Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_DP_CLEAN_DST
=1.
Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:
- V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- V8_BASE_CONFIG - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из
V8_BASE_IB
, либо пустая конфигурация)
Результат:
- Каталог, содержащий XML-файлы выгрузки исходных внешних отчетов (epf) и обработок (erf)
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
dp2edt.cmd
Выполняет конвертацию файлов внешних отчетов и обработок в проект 1C:Enterprise Development Tools (EDT).
Источником может выступать:
- Файл внешнего отчета или обработки (epf, erf)
- Каталог, содержащий бинарные файлы внешних отчетов и обработок (epf, erf)
- Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)
Параметры:
- Путь к источнику внешних отчетов и обработок (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу проекта 1C:Enterprise Development Tools (EDT) (переменная среды
%V8_DST_PATH%
)
Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_DP_CLEAN_DST
=1.
Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:
- V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- V8_BASE_CONFIG - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из
V8_BASE_IB
, либо пустая конфигурация)
Результат:
- Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходных внешних отчетов и обработок
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
ext2ib.cmd
Выполняет загрузку расширения конфигурации из указанного источника в информационную базу.
Источником может выступать:
- Файл выгрузки расширения конфигурации (cfe)
- Каталог выгрузки расширения конфигурации в файлы (xml)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику расширения конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к информационной базе для загрузки расширения (переменная среды
%V8_DST_PATH%
)- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- Имя расширения (переменная среды
%V8_EXT_NAME%
)
Результат:
- Информационная база с загруженным расширением конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
ext2cfe.cmd
Выполняет конвертацию расширения конфигурации из указанного источника в бинарный CFE-файл.
Источником может выступать:
- Файловая информационная база
- Серверная информационная база
- Каталог выгрузки расширения конфигурации в файлы (xml)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику расширения конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к бинарному файлу расширения конфигурации (cfe) (переменная среды
%V8_DST_PATH%
) - Имя расширения (переменная среды
%V8_EXT_NAME%
)
Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:
- V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- V8_BASE_CONFIG - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из
V8_BASE_IB
, либо пустая конфигурация)
В случае использования для выгрузки служебной серверной информационной базы и использовании утилиты ibcmd
дополнительно требуется указать переменные среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
Результат:
- Файл выгрузки исходного расширения конфигурации (cfe)
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
ext2xml.cmd
Выполняет конвертацию расширения конфигурации в формат выгрузки конфигуратора (XML).
Источником может выступать:
- Файловая информационная база
- Серверная информационная база
- Файл выгрузки расширения конфигурации (cfe)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику расширения конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу для сохранения в формате выгрузки конфигуратора (XML) (переменная среды
%V8_DST_PATH%
) - Имя расширения (переменная среды
%V8_EXT_NAME%
)
Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_EXT_CLEAN_DST
=1.
Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:
- V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- V8_BASE_CONFIG - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из
V8_BASE_IB
, либо пустая конфигурация)
В случае использования для выгрузки служебной серверной информационной базы и использовании утилиты ibcmd
дополнительно требуется указать переменные среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
Результат:
- Каталог, содержащий XML-файлы выгрузки исходного расширения конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
ext2edt.cmd
Выполняет конвертацию расширения конфигурации в проект 1C:Enterprise Development Tools (EDT).
Источником может выступать:
- Файловая информационная база
- Серверная информационная база
- Файл выгрузки расширения конфигурации (cfe)
- Каталог выгрузки расширения конфигурации в файлы (xml)
Параметры:
- Путь к источнику расширения конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу проекта 1C:Enterprise Development Tools (EDT) (переменная среды
%V8_DST_PATH%
) - Имя расширения (переменная среды
%V8_EXT_NAME%
)
Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_EXT_CLEAN_DST
=1.
Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:
- V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- V8_BASE_CONFIG - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из
V8_BASE_IB
, либо пустая конфигурация)
В случае использования для выгрузки служебной серверной информационной базы и использовании утилиты ibcmd
дополнительно требуется указать переменные среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
Результат:
- Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходного расширения конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
edt-validate.cmd
Выполняет проверку проекта 1C:Enterprise Development Tools (EDT) (ring edt validate
или 1cedtcli -command validate
).
Может использоваться для проектов конфигураций, расширений, внешних отчетов и отбработок.
Проверяем проектом может выступать:
- Путь к файловой информационной базе 1С
- Сервер\имя серверной информационной базе 1С
- Файл конфигурации (cf)
- Файл расширения конфигурации (cfe)
- Каталог выгрузки конфигурации или расширения в файлы (xml)
- Каталог файлов внешних отчетов и обработок (epf, erf)
- Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Проверяемый проект (переменная среды
%V8_SRC_PATH%
)- Для файловой информационной базы может указываться в одном из 2-х вариантов
"<путь к базе>"
или"/F<путь к базе>"
- Для серверной информационной базы может указываться в виде
"/S<имя сервера>\<путь к базе>"
, где <имя сервера>:- при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
- при выгрузке с использованием утилиты
ibcmd
- имя сервера СУБД
- Для файловой информационной базы может указываться в одном из 2-х вариантов
- Путь к файлу отчета о проверке
В случае использования серверной информационной базы и использовании утилиты ibcmd
дополнительно требуется указать переменные среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
Результат:
- Отчет о проверке конфигурации средствами 1C:Enterprise Development Tools (EDT)
Для работы с конфигурациями, расширениями, внешними отчетами/обработками в различных форматах может потребовать наличия скриптов:
Автоматический разбор конфигураций, расширений, внешних отчетов и обработок (watchman)
Помогает решать задачу автоматического разбора на исходные файлы бинарных файлов конфигураций, расширений, внешних отчетов и обработок сразу после внесения изменений. Позволяет увидеть внесенные изменения до помещения в git.
Для автоматического разбора используется инструмент watchman.
Примеры настройки и скрипты расположены в каталоге ./wmscripts
Регистрация каталога для отслеживания watch
Примеры:
rem Через параметры командной строки
watchman watch "<path to my repo>\ext"
rem Передача текста JSON на stdin
echo ["watch", "<path to my repo>\ext"] | watchman -j
rem Передача файла JSON на stdin
watchman -j < .\wmscripts\watch_example.json
Подключение триггера изменения файлов trigger
Примеры:
rem Передача текста JSON на stdin
echo ["trigger", "<path to my repo>\ext", ^{"name": "myEPFTrigger", "expression": ["anyof", ["imatch","*.epf"]], "command": ["convert.cmd", "dp2xml", "<path to my repo>\ext", "<path to my repo>\src\ext"], "stdin": "NAME_PER_LINE"^}] | watchman -j
rem Передача файла JSON на stdin
watchman -j < .\wmscripts\trigger_example.json
Просмотр списка подключенных триггеров trigger-list
Примеры:
watchman trigger-list "<path to my repo>\ext"
Отключение триггера trigger-del
Примеры:
watchman trigger-del "<path to my repo>\ext" "myEPFTrigger"
Просмотр списка отслеживаемых каталогов watch-list
Примеры:
watchman watch-list
Остановка отслеживания каталога watch-del
Примеры:
rem Через параметры командной строки
watchman watch-del "<path to my repo>\ext"
Запуск отслеживания каталога settrigger.cmd
Скрипт регистрации отслеживания каталога, содержащего файлы для конвертации. Использует watchman.
Выполняет регистрацию каталога для отслеживания и подключает триггер на изменение файлов.
Переменные среды:
- WATCH_TOOL - путь к утилите watchman (по умолчанию берется из переменной окружения
%PATH%
) - WATCH_LOG - путь к файлу протокола выполнения обработки изменения файлов
Параметры:
- Имя триггера, который будет отслеживать изменения файлов (переменная среды
%TRIGGER_NAME%
) - Путь к отслеживаемому каталогу (переменная среды
%WATCH_PATH%
) - Список расширений отслеживаемых файлов разделенных
пробелом
(переменная среды%WATCH_FILES%
), может быть указан псевдоним списка расширений:- 1cdpr - внешние отчеты и обработки
- 1cxml - исходные файлы конфигурации в формате XML
- 1cedt - исходные файлы конфигурации в формате проекта 1C:Enterprise Development Tools (EDT)
- Имя или путь к скрипту, исполняемому при изменении файлов в отслеживаемом каталоге (переменная среды
%WATCH_SCRIPT%
). См. описания скриптов. Если взаимное расположение и имена каталогов скриптов не изменялись, то можно просто указать имя скрипта без расширения. - Путь к каталогу для сохранения результатов конвертации (переменная среды
%WATCH_OUT_PATH%
)
Пример:
.\settrigger.cmd MyEPFTrigger "<path to my repo>\ext" 1cdpr dp2xml "<path to my repo>\src\ext"
Конвертация convert.cmd
Скрипт - обертка для запуска скриптов конвертации при срабатывании зарегистрированного тригера. Выполняет конвертацию файлов 1С с использованием указанного скрипта конвертации в указанный каталог.
Не предполагался для ручного запуска
Параметры:
- Имя или путь к исполняемому скрипту (переменная среды
%CONVERT_SCRIPT%
). См. описания скриптов. Если взаимное расположение и имена каталогов скриптов не изменялись, то можно просто указать имя скрипта без расширения. - Путь к отслеживаемому каталогу (переменная среды
%CONVERT_SRC_PATH%
) - Путь к каталогу для сохранения результатов конвертации (переменная среды
%CONVERT_DST_PATH%
)
Пример:
.\convert.cmd dp2xml "<path to my repo>\ext" "<path to my repo>\src\ext"
Тесты
Тесты расположены в каталоге tests.
- В каталоге tests/fixtures расположены тестовые данные (конфигурация, расширения, отчеты и обработки в бинарном формате).
- В каталоге tests/before расположены скрипты подготовки тестовых данных
- В каталоге tests/tests расположены модульные тесты
- В каталоге tests/after расположены скрипты, выполняемые после запуска тестов
Для выполнения тестов с серверной информационной базой 1С необходимо наличие и доступность сервера 1С:Предприятие и сервера СУБД, а также потребуется указание переменных среды:
- V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
- V8_DB_SRV_ADDR - адрес сервера СУБД
- V8_DB_SRV_USR - пользователь сервера СУБД
- V8_DB_SRV_PWD - пароль пользователя сервера СУБД
- V8_SRV_ADDR - адрес сервера 1С:Предприятие
- V8_SRV_AGENT_PORT - порт агента сервера 1С:Предприятие (например: 1540)
- V8_SRV_REG_PORT - порт главного менеджера кластера 1С:Предприятие (например: 1541)
- V8_SRV_PORT_RANGE - диапазон сетевых портов рабочих процессов 1С:Предприятие (например: 1560-1591)
- V8_RAS_PORT - порт службы RAS (например: 1545) (поднимается автоматически на машине запуска тестов)
- V8_IB_NAME - имя временной информационной базы 1С для выполнения тестов
Значения переменных могут быть указаны в файле ./tests/.env
, пример приведен в файле tests/example.env
Запуск тестов выполняется скриптом tests/test.cmd
Структура скрипта теста модуля
@ECHO OFF
rem Заголовок теста
set TEST_NAME="Conf CF -> XML (ibcmd)"
rem Путь к каталогу выходных данных
set TEST_OUT_PATH=%OUT_PATH%\%~n0
set TEST_OUT_PATH=%TEST_OUT_PATH: =_%
rem Список файлов, наличие которых проверяется после выполнения теста
set TEST_CHECK_PATH=%TEST_OUT_PATH%\Configuration.xml
rem Инструмент конвертации файлов 1С
set V8_CONVERT_TOOL=ibcmd
echo ===
echo Test %TEST_COUNT%. ^(%~n0^) %TEST_NAME%
echo ===
rem Команда запуска теста (выполнения конвертации)
call %SCRIPTS_PATH%\conf2xml.cmd "%TEST_BINARY%\1cv8.cf" "%TEST_OUT_PATH%"
rem Переменной TEST_ERROR_MESSAGE можно присвоить произвольный текст ошибки
IF ERRORLEVEL 1 set TEST_ERROR_MESSAGE=Error running test "%TEST_NAME%"