README.md

    GitHub release GitHub license GitHub Releases GitHub All Releases

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

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

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

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

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

    • V8_VERSION - используемая версия платформы 1С:Предприятие (по умолчанию: 8.3.20.2290)
    • V8_EDT_VERSION - используемая версия 1C:EDT (если не указано, то ожидается использование единственной установленной версии)
    • V8_ENCODING - кодировка вывода лога (по умолчанию: 65001)
    • V8_TEMP - путь к каталогу для создания временных файлов в процессе конвертации (по умолчанию: %TEMP%\1c)
    • V8_CONVERT_TOOL - инструмент для конвертации файлов конфигурации/расширения (по умолчанию: designer):
      • designer - для конвертации используется пакетный режим конфигуратора
      • ibcmd - для конвертации используется утилита администрирования автономного сервера
    • V8_RING_TOOL - путь к утилите ring из состава EDT (по умолчанию берется из переменной окружения %PATH%)
    • IBCMD_DATA - путь к каталогу данных автономного сервера при использовании утилиты ibcmd (по умолчанию %V8_TEMP%\ibcmd_data)
    • V8_SKIP_ENV - если установлена в 1, то отключает чтение переменных среды из файла .env

    Значения переменных среды могут быть указаны в файле .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 - имя сервера СУБД
    • Флаг создания новой информационной базы - если указано значение create, то будет создана новая информационная база, в противном случае будет выполнена загрузка конфигурации в существующую базу

    Результат:

    • Информационная база с загруженной исходной конфигурацией
    
    Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
    По умолчанию используется пакетный режим конфигуратора.
    
    
    
    ВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.
    
    Проверялось на версии 8.3.20.2290
    
    

    conf2cf.cmd

    Выполняет конвертацию конфигурации из указанного источника в бинарный CF-файл.

    Источником может выступать:

    • Файловая информационная база
    • Серверная информационная база
    • Каталог выгрузки конфигурации в файлы (xml)
    • Каталог проекта 1C:Enterprise Development Tools (EDT)

    Параметры:

    • Путь к источнику конфигурации (переменная среды %V8_SRC_PATH%)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • Путь к файлу конфигурации (cf) (переменная среды %V8_DST_PATH%)

    В случае выгрузки из серверной информационной базы и использовании утилиты ibcmd дополнительно требуется указать переменные среды:

    • V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
    • V8_DB_SRV_USR - пользователь сервера СУБД
    • V8_DB_SRV_PSW - пароль пользователя сервера СУБД

    Результат:

    • Файл выгрузки исходной конфигурации (cf)
    
    Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
    По умолчанию используется пакетный режим конфигуратора.
    
    
    
    ВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.
    
    Проверялось на версии 8.3.20.2290
    
    

    conf2xml.cmd

    Выполняет выгрузку конфигурации из указанного источника в формат выгрузки конфигуратора (XML).

    Источником может выступать:

    • Путь к файлу конфигурации (cf)
    • Файловая информационная база
    • Серверная информационная база
    • Каталог проекта 1C:Enterprise Development Tools (EDT)

    Параметры:

    • Путь к источнику конфигурации (переменная среды %V8_SRC_PATH%)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • Путь к каталогу выгрузки файлов конфигурации (переменная среды %V8_DST_PATH%)

    Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_CONF_XML_CLEAN_DST=1.

    В случае выгрузки из серверной информационной базы и использовании утилиты ibcmd дополнительно требуется указать переменные среды:

    • V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
    • V8_DB_SRV_USR - пользователь сервера СУБД
    • V8_DB_SRV_PSW - пароль пользователя сервера СУБД

    Результат:

    • Каталог, содержащий XML-файлы выгрузки исходной конфигурации
    
    Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
    По умолчанию используется пакетный режим конфигуратора.
    
    

    conf2edt.cmd

    Выполняет выгрузку конфигурации из указанного источника в проект 1C:Enterprise Development Tools (EDT).

    Источником может выступать:

    • Путь к файлу конфигурации (cf)
    • Файловая информационная база
    • Серверная информационная база
    • Каталог выгрузки конфигурации в файлы (xml)

    Параметры:

    • Путь к источнику конфигурации (переменная среды %V8_SRC_PATH%)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • Путь к каталогу проекта EDT (переменная среды %V8_DST_PATH%)

    Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды

    Если перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды V8_CONF_EDT_CLEAN_DST=1.

    В случае выгрузки из серверной информационной базы и использовании утилиты ibcmd дополнительно требуется указать переменные среды:

    • V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
    • V8_DB_SRV_USR - пользователь сервера СУБД
    • V8_DB_SRV_PSW - пароль пользователя сервера СУБД

    Результат:

    • Каталог, содержащий проект 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_BIN_CLEAN_DST=1.

    Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:

    • V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • 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_XML_CLEAN_DST=1.

    Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:

    • V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • 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_EDT_CLEAN_DST=1.

    Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:

    • V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • 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 - имя сервера СУБД
    • Имя расширения (переменная среды %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 - имя сервера СУБД
    • 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_PSW - пароль пользователя сервера СУБД

    Результат:

    • Файл выгрузки исходного расширения конфигурации (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_XML_CLEAN_DST=1.

    Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:

    • V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • 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_PSW - пароль пользователя сервера СУБД

    Результат:

    • Каталог, содержащий 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_EDT_CLEAN_DST=1.

    Для указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:

    • V8_BASE_IB - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • 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_PSW - пароль пользователя сервера СУБД

    Результат:

    • Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходного расширения конфигурации
    
    Для указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.
    По умолчанию используется пакетный режим конфигуратора.
    
    

    Для использования базовой конфигурации в различных форматах может потребовать наличия скрипта conf2ib.cmd

    edt-validate.cmd

    Выполняет проверку проекта 1C:Enterprise Development Tools (EDT) (ring edt validate). Может использоваться для проектов конфигураций, расширений, внешних отчетов и отбработок.

    Проверяем проектом может выступать:

    • Путь к файловой информационной базе 1С
    • Сервер\имя серверной информационной базе 1С
    • Файл конфигурации (cf)
    • Файл расширения конфигурации (cfe)
    • Каталог выгрузки конфигурации или расширения в файлы (xml)
    • Каталог файлов внешних отчетов и обработок (epf, erf)
    • Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)
    • Каталог проекта 1C:Enterprise Development Tools (EDT)

    Параметры:

    • Проверяемый проект (переменная среды %V8_SRC_PATH%)
      • Для файловой информационной базы может указываться в одном из 2-х вариантов "<путь к базе>" или "/F<путь к базе>"
      • Для серверной информационной базы может указываться в виде "/S<имя сервера>\<путь к базе>", где <имя сервера>:
        • при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие
        • при выгрузке с использованием утилиты ibcmd - имя сервера СУБД
    • Путь к файлу отчета о проверке

    В случае использования серверной информационной базы и использовании утилиты ibcmd дополнительно требуется указать переменные среды:

    • V8_DB_SRV_DBMS - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)
    • V8_DB_SRV_USR - пользователь сервера СУБД
    • V8_DB_SRV_PSW - пароль пользователя сервера СУБД

    Результат:

    • Отчет о проверке конфигурации средствами 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_PSW - пароль пользователя сервера СУБД
    • 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%"
    
    
    Описание

    Зеркало проекта https://github.com/arkuznetsov/1CFilesConverter

    Конвейеры
    0 успешных
    0 с ошибкой