Skip to content

Cкрипты для конвертации файлов 1С между различными форматами (Binary, XML, EDT)

License

Notifications You must be signed in to change notification settings

pruidzeko/1CFilesConverter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Набор скриптов для конвертации файлов 1С между различными форматами (бинарные файлы, XML, EDT)

Цель - упростить использование инструментов конвертации до вызова одного скрипта с парой параметров.

Скрипты расположены в каталоге scripts

Необходимые инструменты

Переменные среды

  • 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

Автоматический разбор конфигураций, расширений, внешних отчетов и обработок (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%)

Параметры:

  • Имя триггера, который будет отслеживать изменения файлов (переменная среды %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%"

About

Cкрипты для конвертации файлов 1С между различными форматами (Binary, XML, EDT)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Batchfile 100.0%