Git Product home page Git Product logo

1cfilesconverter's Introduction

Набор скриптов для конвертации файлов 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%"

1cfilesconverter's People

Contributors

arkuznetsov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.