Цель - упростить использование инструментов конвертации до вызова одного скрипта с парой параметров.
Скрипты расположены в каталоге scripts
- Необходимые инструменты
- Переменные среды
- Скрипты конвертации
- Автоматический разбор конфигураций, расширений, внешних отчетов и обработок (watchman)
- Тесты
- Платформа 1С:Предприятие 8.3
- Java runtime environment 11
- 1C:Enterprise Development Tools (EDT)
- Утилита ring (входит в состав EDT)
- watchman - для автоматической конвертации файлов при изменении (рекомендуется прописать в переменную окружения
%PATH%
)
- V8_VERSION - версия используемой платформы 1С:Предприятие (по умолчанию:
8.3.20.2290
) - V8_TEMP - путь к каталогу для создания временных файлов в процессе конвертации (по умолчанию:
%TEMP%\1c
) - V8_CONVERT_TOOL - инструмент для конвертации файлов конфигурации (по умолчанию:
designer
):- designer - для конвертации используется пакетный режим конфигуратора
- ibcmd - для конвертации используется утилита администрирования автономного сервера
- V8_RING_TOOL - путь к утилите ring из состава EDT (по умолчанию берется из переменной окружения
%PATH%
)
Выполняет загрузку конфигурации из указанного источника в файловую информационную базу.
Источником может выступать:
- Файл выгрузки конфигурации (cf)
- Каталог выгрузки конфигурации в файлы (xml)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к файловой информационной базе (переменная среды
%V8_DST_PATH%
)
Результат:
- Файловая информационная база с загруженной исходной конфигурацией
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
ВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.
Проверялось на версии 8.3.20.2290
Выполняет конвертацию конфигурации из указанного источника в бинарный CF-файл.
Источником может выступать:
- Файловая информационная база
- Каталог выгрузки конфигурации в файлы (xml)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к файлу конфигурации (cf) (переменная среды
%V8_DST_PATH%
)
Результат:
- Файл выгрузки исходной конфигурации (cf)
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
ВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.
Проверялось на версии 8.3.20.2290
Выполняет выгрузку конфигурации из указанного источника в формат выгрузки конфигуратора (XML).
Источником может выступать:
- Путь к файлу конфигурации (cf)
- Файловая информационная база
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу выгрузки файлов конфигурации (переменная среды
%V8_DST_PATH%
)
Результат:
- Каталог, содержащий XML-файлы выгрузки исходной конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Выполняет выгрузку конфигурации из указанного источника в проект 1C:Enterprise Development Tools (EDT).
Источником может выступать:
- Путь к файлу конфигурации (cf)
- Файловая информационная база
- Каталог выгрузки конфигурации в файлы (xml)
Параметры:
- Путь к источнику конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу проекта EDT (переменная среды
%V8_DST_PATH%
)
Результат:
- Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходной конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Выполняет конвертацию внешних отчетов и обработок в бинарный формат (epf/erf).
Источником может выступать:
- Путь к основному файлу внешнего отчета или обработки в формате выгрузки конфигуратора (XML)
- Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику внешних отчетов и обработок (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу для сохранения бинарных файлов внешних отчетов и обработок (переменная среды
%V8_DST_PATH%
) - Путь к информационной базе или конфигурации в любом из форматов (CF, XML, EDT) (переменная среды
%V8_BASE_CONFIG%
)
Результат:
- Каталог, содержащий бинарные файлы исходных внешних отчетов (epf) и обработок (erf)
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
Выполняет конвертацию файлов внешних отчетов и обработок в формат выгрузки конфигуратора (XML).
Источником может выступать:
- Файл внешнего отчета или обработки (epf, erf)
- Каталог, содержащий бинарные файлы внешних отчетов и обработок (epf, erf)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику внешних отчетов и обработок (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу для сохранения в формате выгрузки конфигуратора (XML) (переменная среды
%V8_DST_PATH%
) - Путь к информационной базе или конфигурации в любом из форматов (CF, XML, EDT) (переменная среды
%V8_BASE_CONFIG%
)
Результат:
- Каталог, содержащий XML-файлы выгрузки исходных внешних отчетов (epf) и обработок (erf)
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
Выполняет конвертацию файлов внешних отчетов и обработок в проект 1C:Enterprise Development Tools (EDT).
Источником может выступать:
- Файл внешнего отчета или обработки (epf, erf)
- Каталог, содержащий бинарные файлы внешних отчетов и обработок (epf, erf)
- Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)
Параметры:
- Путь к источнику внешних отчетов и обработок (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу проекта 1C:Enterprise Development Tools (EDT) (переменная среды
%V8_DST_PATH%
) - Путь к информационной базе или конфигурации в любом из форматов (CF, XML, EDT) (переменная среды
%V8_BASE_CONFIG%
)
Результат:
- Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходных внешних отчетов и обработок
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
Выполняет конвертацию расширения конфигурации из указанного источника в бинарный CFE-файл.
Источником может выступать:
- Каталог выгрузки расширения конфигурации в файлы (xml)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику расширения конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к бинарному файлу расширения конфигурации (cfe) (переменная среды
%V8_DST_PATH%
) - Имя расширения (переменная среды
%V8_EXT_NAME%
) - Путь к информационной базе или конфигурации в любом из форматов (CF, XML, EDT) (переменная среды
%V8_BASE_CONFIG%
)
Результат:
- Файл выгрузки исходного расширения конфигурации (cfe)
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
Выполняет конвертацию расширения конфигурации в формат выгрузки конфигуратора (XML).
Источником может выступать:
- Файл выгрузки расширения конфигурации (cfe)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Путь к источнику расширения конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу для сохранения в формате выгрузки конфигуратора (XML) (переменная среды
%V8_DST_PATH%
) - Имя расширения (переменная среды
%V8_EXT_NAME%
) - Путь к информационной базе или конфигурации в любом из форматов (CF, XML, EDT) (переменная среды
%V8_BASE_CONFIG%
)
Результат:
- Каталог, содержащий XML-файлы выгрузки исходного расширения конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
Выполняет конвертацию расширения конфигурации в проект 1C:Enterprise Development Tools (EDT).
Источником может выступать:
- Файл выгрузки расширения конфигурации (cfe)
- Каталог выгрузки расширения конфигурации в файлы (xml)
Параметры:
- Путь к источнику расширения конфигурации (переменная среды
%V8_SRC_PATH%
) - Путь к каталогу проекта 1C:Enterprise Development Tools (EDT) (переменная среды
%V8_DST_PATH%
) - Имя расширения (переменная среды
%V8_EXT_NAME%
) - Путь к информационной базе или конфигурации в любом из форматов (CF, XML, EDT) (переменная среды
%V8_BASE_CONFIG%
)
Результат:
- Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходного расширения конфигурации
Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
По умолчанию используется пакетный режим конфигуратора.
Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd
Выполняет проверку проекта 1C:Enterprise Development Tools (EDT) (ring edt validate
).
Может использоваться для проектов конфигураций, расширений, внешних отчетов и отбработок.
Проверяем проектом может выступать:
- Путь к файловой информационной базе 1С
- Файл конфигурации (cf)
- Файл расширения конфигурации (cfe)
- Каталог выгрузки конфигурации или расширения в файлы (xml)
- Каталог файлов внешних отчетов и обработок (epf, erf)
- Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)
- Каталог проекта 1C:Enterprise Development Tools (EDT)
Параметры:
- Проверяемый проект (переменная среды
%V8_SRC_PATH%
) - Путь к файлу отчета о проверке
- Путь к информационной базе или конфигурации в любом из форматов (CF, XML, EDT) (переменная среды
%V8_BASE_CONFIG%
)
Результат:
- Отчет о проверке конфигурации средствами 1C:Enterprise Development Tools (EDT)
Для работы с конфигурациями в различных форматах может потребовать наличия скрипта conf2edt.cmd
Помогает решать задачу автоматического разбора на исходные файлы бинарных файлов конфигураций, расширений, внешних отчетов и обработок сразу после внесения изменений. Позволяет увидеть внесенные изменения до помещения в 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%
)
Параметры:
- Имя триггера, который будет отслеживать изменения файлов (переменная среды
%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С с использованием указанного скрипта конвертации в указанный каталог.
Не предполагался для ручного запуска
Переменные среды:
- WATCH_TOOL - путь к утилите watchman (по умолчанию берется из переменной окружения
%PATH%
) - WATCH_LOG - путь к файлу протокола выполнения обработки изменения файлов
Параметры:
- Имя или путь к исполняемому скрипту (переменная среды
%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/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%"