{"id":20019727,"url":"https://github.com/arkuznetsov/1cfilesconverter","last_synced_at":"2025-09-12T08:41:54.250Z","repository":{"id":182878064,"uuid":"669253352","full_name":"arkuznetsov/1CFilesConverter","owner":"arkuznetsov","description":"Cкрипты для конвертации файлов 1С между различными форматами (Binary, XML, EDT)","archived":false,"fork":false,"pushed_at":"2024-11-20T18:24:08.000Z","size":656,"stargazers_count":101,"open_issues_count":2,"forks_count":20,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-01-12T16:09:35.704Z","etag":null,"topics":["1c","1c-edt","1c-enterprise","edt"],"latest_commit_sha":null,"homepage":"","language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arkuznetsov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-21T18:17:18.000Z","updated_at":"2025-01-10T08:09:18.000Z","dependencies_parsed_at":"2024-11-20T21:31:34.265Z","dependency_job_id":null,"html_url":"https://github.com/arkuznetsov/1CFilesConverter","commit_stats":null,"previous_names":["arkuznetsov/1cfilesconverter"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2F1CFilesConverter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2F1CFilesConverter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2F1CFilesConverter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2F1CFilesConverter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arkuznetsov","download_url":"https://codeload.github.com/arkuznetsov/1CFilesConverter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241453884,"owners_count":19965271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1c","1c-edt","1c-enterprise","edt"],"created_at":"2024-11-13T08:28:33.516Z","updated_at":"2025-03-02T03:29:05.545Z","avatar_url":"https://github.com/arkuznetsov.png","language":"Batchfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHub release](https://img.shields.io/github/release/ArKuznetsov/1CFilesConverter.svg?style=flat-square)](https://github.com/ArKuznetsov/1CFilesConverter/releases)\r\n[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/1CFilesConverter.svg?style=flat-square)](https://github.com/ArKuznetsov/1CFilesConverter/blob/develop/LICENSE)\r\n[![GitHub Releases](https://img.shields.io/github/downloads/ArKuznetsov/1CFilesConverter/latest/total?style=flat-square)](https://github.com/ArKuznetsov/1CFilesConverter/releases)\r\n[![GitHub All Releases](https://img.shields.io/github/downloads/ArKuznetsov/1CFilesConverter/total?style=flat-square)](https://github.com/ArKuznetsov/1CFilesConverter/releases)\r\n\r\n# Набор скриптов для конвертации файлов 1С между различными форматами (бинарные файлы, XML, EDT)\r\n\r\nЦель - упростить использование инструментов конвертации до вызова одного скрипта с парой параметров.\r\n\r\nСкрипты расположены в каталоге [scripts](./scripts)\r\n\r\nПримеры и шаблоны производных (вспомогательных) скриптов расположениы в каталоге [examples](./examples), описание [README.md](./examples/readme.md).\r\n\r\n* [Необходимые инструменты](#tools)\r\n* [Переменные среды](#environment)\r\n* [Скрипты конвертации](#scripts)\r\n* [Автоматический разбор конфигураций, расширений, внешних отчетов и обработок (watchman)](#watchman)\r\n* [Тесты](#tests)\r\n\r\n## \u003ca id=\"tools\"\u003e\u003c/a\u003eНеобходимые инструменты\r\n\r\n* [Платформа 1С:Предприятие 8.3](https://releases.1c.ru/project/Platform83)\r\n* [Java runtime environment 11](https://releases.1c.ru/project/Liberica11FullJDK)\r\n* [1C:Enterprise Development Tools (EDT)](https://releases.1c.ru/project/DevelopmentTools10)\r\n* Утилита ring (входит в состав EDT)\r\n* Утилита 1C:EDT CLI (входит в состав EDT)\r\n* [watchman](https://facebook.github.io/watchman/docs/install) - для [автоматической конвертации файлов при изменении](#watchman) (рекомендуется прописать в переменную окружения `%PATH%`)\r\n\r\n## \u003ca id=\"environment\"\u003e\u003c/a\u003eПеременные среды\r\n\r\n* **V8_VERSION** - используемая версия платформы 1С:Предприятие\r\n* **V8_EDT_VERSION** - используемая версия 1C:EDT (если не указано, то ожидается использование единственной установленной версии)\r\n* **V8_ENCODING** - кодировка вывода лога (по умолчанию: `65001`)\r\n* **V8_TEMP** - путь к каталогу для создания временных файлов в процессе конвертации (по умолчанию: `%TEMP%\\1c`)\r\n* **V8_CONVERT_TOOL** - инструмент для конвертации файлов конфигурации/расширения (по умолчанию: `designer`):\r\n  * **designer** - для конвертации используется пакетный режим конфигуратора\r\n  * **ibcmd** - для конвертации используется утилита администрирования автономного сервера\r\n* **V8_TOOL** - путь к исполняемому файлу 1С:Предприятие `1Cv8.exe` (по умолчанию: `%PROGRAMW6432%\\1cv8\\%V8_VERSION%\\bin\\1cv8.exe`)\r\n* **IBCMD_TOOL** - путь к утилите управления автономным сервером `ibcmd` (по умолчанию: `%PROGRAMW6432%\\1cv8\\%V8_VERSION%\\bin\\ibcmd.exe`)\r\n* **RING_TOOL** - путь к утилите ring из состава EDT (по умолчанию берется из переменной окружения `%PATH%`)\r\n* **EDTCLI_TOOL** - путь к утилите 1cedtcli из состава EDT (по умолчанию ищется в каталоге `%PROGRAMW6432%\\1C\\1CE\\components\\1c-edt-%V8_EDT_VERSION%*`)\r\n* **IBCMD_DATA** - путь к каталогу данных автономного сервера при использовании утилиты `ibcmd` (по умолчанию `%V8_TEMP%\\ibcmd_data`)\r\n* **V8_SKIP_ENV** - если установлена в `1`, то отключает чтение переменных среды из файла `.env`\r\n* **V8_CONF_CLEAN_DST** - если установлена в `1`, то перед конвертацией конфигурации каталог назначения будет очищен\r\n* **V8_EXT_CLEAN_DST** - если установлена в `1`, то перед конвертацией расширения каталог назначения будет очищен\r\n* **V8_DP_CLEAN_DST** - если установлена в `1`, то перед конвертацией обработок/отчетов каталог назначения будет очищен\r\n\r\nЗначения переменных среды могут быть указаны в файле `.env` в текущем рабочем каталоге, пример приведен в файле [tests/example.env](./tests/example.env)\r\n\r\nПеременная среды **V8_SKIP_ENV** позволяет отключить чтение переменных среды из файла `.env`: `V8_SKIP_ENV=1`\r\n\r\n## \u003ca id=\"scripts\"\u003e\u003c/a\u003eСкрипты конвертации\r\n\r\n### [conf2ib.cmd](./scripts/cf2ib.cmd)\r\n\r\nВыполняет загрузку конфигурации из указанного источника в информационную базу.\r\n\r\nИсточником может выступать:\r\n\r\n* Файл выгрузки конфигурации (cf)\r\n* Каталог выгрузки конфигурации в файлы (xml)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к информационной базе (переменная среды `%V8_DST_PATH%`)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* Флаг создания новой информационной базы - если указано значение `create`, то будет создана новая информационная база, в противном случае будет выполнена загрузка конфигурации в существующую базу\r\n\r\nРезультат:\r\n\r\n* Информационная база с загруженной исходной конфигурацией\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\n```txt\r\n\r\nВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.\r\n\r\nПроверялось на версии 8.3.20.2290, 8.3.23.1865, 8.3.23.2040\r\n\r\n```\r\n\r\n### [conf2cf.cmd](./scripts/conf2cf.cmd)\r\n\r\nВыполняет конвертацию конфигурации из указанного источника в бинарный CF-файл.\r\n\r\nИсточником может выступать:\r\n\r\n* Файловая информационная база\r\n* Серверная информационная база\r\n* Каталог выгрузки конфигурации в файлы (xml)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* Путь к файлу конфигурации (cf) (переменная среды `%V8_DST_PATH%`)\r\n\r\nВ случае выгрузки из серверной информационной базы и использовании утилиты `ibcmd` дополнительно требуется указать переменные среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n\r\nРезультат:\r\n\r\n* Файл выгрузки исходной конфигурации (cf)\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\n```txt\r\n\r\nВНИМАНИЕ! При использовании ibcmd могут возникать ошибки загрузки конфигурации из XML-файлов, если в пути к файлам присутствует `..`, т.е. рекомендуется указывать полные пути.\r\n\r\nПроверялось на версии 8.3.20.2290, 8.3.23.1865, 8.3.23.2040\r\n\r\n```\r\n\r\n### [conf2xml.cmd](./scripts/conf2xml.cmd)\r\n\r\nВыполняет выгрузку конфигурации из указанного источника в формат выгрузки конфигуратора (XML).\r\n\r\nИсточником может выступать:\r\n\r\n* Путь к файлу конфигурации (cf)\r\n* Файловая информационная база\r\n* Серверная информационная база\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* Путь к каталогу выгрузки файлов конфигурации (переменная среды `%V8_DST_PATH%`)\r\n\r\nЕсли перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды `V8_CONF_CLEAN_DST`=1.\r\n\r\nВ случае выгрузки из серверной информационной базы и использовании утилиты `ibcmd` дополнительно требуется указать переменные среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n* **V8_CONVERT_TOOL** - тип конвертации 'ibcmd'\r\n* **IBCMD_DATA** - путь к рабочему каталогу `ibcmd`. Если не указан, то создается во временных файлах. \r\n\r\nРезультат:\r\n\r\n* Каталог, содержащий XML-файлы выгрузки исходной конфигурации\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\n### [conf2edt.cmd](./scripts/conf2edt.cmd)\r\n\r\nВыполняет выгрузку конфигурации из указанного источника в проект 1C:Enterprise Development Tools (EDT).\r\n\r\nИсточником может выступать:\r\n\r\n* Путь к файлу конфигурации (cf)\r\n* Файловая информационная база\r\n* Серверная информационная база\r\n* Каталог выгрузки конфигурации в файлы (xml)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* Путь к каталогу проекта EDT (переменная среды `%V8_DST_PATH%`)\r\n\r\nДля указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды\r\n\r\nЕсли перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды `V8_CONF_CLEAN_DST`=1.\r\n\r\nВ случае выгрузки из серверной информационной базы и использовании утилиты `ibcmd` дополнительно требуется указать переменные среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n\r\nРезультат:\r\n\r\n* Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходной конфигурации\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\n### [dp2epf.cmd](./scripts/dp2epf.cmd)\r\n\r\nВыполняет конвертацию внешних отчетов и обработок в бинарный формат (epf/erf).\r\n\r\nИсточником может выступать:\r\n\r\n* Путь к основному файлу внешнего отчета или обработки в формате выгрузки конфигуратора (XML)\r\n* Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику внешних отчетов и обработок (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к каталогу для сохранения бинарных файлов внешних отчетов и обработок (переменная среды `%V8_DST_PATH%`)\r\n\r\nЕсли перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды `V8_DP_CLEAN_DST`=1.\r\n\r\nДля указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:\r\n\r\n* **V8_BASE_IB** - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* **V8_BASE_CONFIG** - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из `V8_BASE_IB`, либо пустая конфигурация)\r\n\r\nРезультат:\r\n\r\n* Каталог, содержащий бинарные файлы исходных внешних отчетов (epf) и обработок (erf)\r\n\r\nДля использования базовой конфигурации в различных форматах может потребовать наличия скрипта [conf2ib.cmd](./scripts/conf2ib.cmd)\r\n\r\n### [dp2xml.cmd](./scripts/dp2xml.cmd)\r\n\r\nВыполняет конвертацию файлов внешних отчетов и обработок в формат выгрузки конфигуратора (XML).\r\n\r\nИсточником может выступать:\r\n\r\n* Файл внешнего отчета или обработки (epf, erf)\r\n* Каталог, содержащий бинарные файлы внешних отчетов и обработок (epf, erf)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику внешних отчетов и обработок (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к каталогу для сохранения в формате выгрузки конфигуратора (XML) (переменная среды `%V8_DST_PATH%`)\r\n\r\nЕсли перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды `V8_DP_CLEAN_DST`=1.\r\n\r\nДля указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:\r\n\r\n* **V8_BASE_IB** - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* **V8_BASE_CONFIG** - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из `V8_BASE_IB`, либо пустая конфигурация)\r\n\r\nРезультат:\r\n\r\n* Каталог, содержащий XML-файлы выгрузки исходных внешних отчетов (epf) и обработок (erf)\r\n\r\nДля использования базовой конфигурации в различных форматах может потребовать наличия скрипта [conf2ib.cmd](./scripts/conf2ib.cmd)\r\n\r\n### [dp2edt.cmd](./scripts/dp2edt.cmd)\r\n\r\nВыполняет конвертацию файлов внешних отчетов и обработок в проект 1C:Enterprise Development Tools (EDT).\r\n\r\nИсточником может выступать:\r\n\r\n* Файл внешнего отчета или обработки (epf, erf)\r\n* Каталог, содержащий бинарные файлы внешних отчетов и обработок (epf, erf)\r\n* Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику внешних отчетов и обработок (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к каталогу проекта 1C:Enterprise Development Tools (EDT) (переменная среды `%V8_DST_PATH%`)\r\n\r\nЕсли перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды `V8_DP_CLEAN_DST`=1.\r\n\r\nДля указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:\r\n\r\n* **V8_BASE_IB** - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* **V8_BASE_CONFIG** - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из `V8_BASE_IB`, либо пустая конфигурация)\r\n\r\nРезультат:\r\n\r\n* Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходных внешних отчетов и обработок\r\n\r\nДля использования базовой конфигурации в различных форматах может потребовать наличия скрипта [conf2ib.cmd](./scripts/conf2ib.cmd)\r\n\r\n### [ext2ib.cmd](./scripts/cf2ib.cmd)\r\n\r\nВыполняет загрузку расширения конфигурации из указанного источника в информационную базу.\r\n\r\nИсточником может выступать:\r\n\r\n* Файл выгрузки расширения конфигурации (cfe)\r\n* Каталог выгрузки расширения конфигурации в файлы (xml)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику расширения конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к информационной базе для загрузки расширения (переменная среды `%V8_DST_PATH%`)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* Имя расширения (переменная среды `%V8_EXT_NAME%`)\r\n\r\nРезультат:\r\n\r\n* Информационная база с загруженным расширением конфигурации\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\n### [ext2cfe.cmd](./scripts/ext2cfe.cmd)\r\n\r\nВыполняет конвертацию расширения конфигурации из указанного источника в бинарный CFE-файл.\r\n\r\nИсточником может выступать:\r\n\r\n* Файловая информационная база\r\n* Серверная информационная база\r\n* Каталог выгрузки расширения конфигурации в файлы (xml)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику расширения конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к бинарному файлу расширения конфигурации (cfe) (переменная среды `%V8_DST_PATH%`)\r\n* Имя расширения (переменная среды `%V8_EXT_NAME%`)\r\n\r\nДля указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:\r\n\r\n* **V8_BASE_IB** - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* **V8_BASE_CONFIG** - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из `V8_BASE_IB`, либо пустая конфигурация)\r\n\r\nВ случае использования для выгрузки служебной серверной информационной базы и использовании утилиты `ibcmd` дополнительно требуется указать переменные среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n\r\nРезультат:\r\n\r\n* Файл выгрузки исходного расширения конфигурации (cfe)\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\nДля использования базовой конфигурации в различных форматах может потребовать наличия скрипта [conf2ib.cmd](./scripts/conf2ib.cmd)\r\n\r\n### [ext2xml.cmd](./scripts/ext2xml.cmd)\r\n\r\nВыполняет конвертацию расширения конфигурации в формат выгрузки конфигуратора (XML).\r\n\r\nИсточником может выступать:\r\n\r\n* Файловая информационная база\r\n* Серверная информационная база\r\n* Файл выгрузки расширения конфигурации (cfe)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику расширения конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к каталогу для сохранения в формате выгрузки конфигуратора (XML) (переменная среды `%V8_DST_PATH%`)\r\n* Имя расширения (переменная среды `%V8_EXT_NAME%`)\r\n\r\nЕсли перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды `V8_EXT_CLEAN_DST`=1.\r\n\r\nДля указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:\r\n\r\n* **V8_BASE_IB** - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* **V8_BASE_CONFIG** - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из `V8_BASE_IB`, либо пустая конфигурация)\r\n\r\nВ случае использования для выгрузки служебной серверной информационной базы и использовании утилиты `ibcmd` дополнительно требуется указать переменные среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n\r\nРезультат:\r\n\r\n* Каталог, содержащий XML-файлы выгрузки исходного расширения конфигурации\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\nДля использования базовой конфигурации в различных форматах может потребовать наличия скрипта [conf2ib.cmd](./scripts/conf2ib.cmd)\r\n\r\n### [ext2edt.cmd](./scripts/ext2edt.cmd)\r\n\r\nВыполняет конвертацию расширения конфигурации в проект 1C:Enterprise Development Tools (EDT).\r\n\r\nИсточником может выступать:\r\n\r\n* Файловая информационная база\r\n* Серверная информационная база\r\n* Файл выгрузки расширения конфигурации (cfe)\r\n* Каталог выгрузки расширения конфигурации в файлы (xml)\r\n\r\nПараметры:\r\n\r\n* Путь к источнику расширения конфигурации (переменная среды `%V8_SRC_PATH%`)\r\n* Путь к каталогу проекта 1C:Enterprise Development Tools (EDT) (переменная среды `%V8_DST_PATH%`)\r\n* Имя расширения (переменная среды `%V8_EXT_NAME%`)\r\n\r\nЕсли перед выгрузкой необходимо очистить каталог назначения, то требуется установить переменную среды `V8_EXT_CLEAN_DST`=1.\r\n\r\nДля указания базовой конфигурации и информационной базы для выгрузки можно указать переменные среды:\r\n\r\n* **V8_BASE_IB** - путь к служебной информационной для выполнеия выгрузки (если не указан, будет использована временная файловая информационная база)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* **V8_BASE_CONFIG** - путь к конфигурации в любом из форматов (CF, XML, EDT) (если не указан, будет использована либо конфигурация из `V8_BASE_IB`, либо пустая конфигурация)\r\n\r\nВ случае использования для выгрузки служебной серверной информационной базы и использовании утилиты `ibcmd` дополнительно требуется указать переменные среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n\r\nРезультат:\r\n\r\n* Каталог, содержащий проект 1C:Enterprise Development Tools (EDT) исходного расширения конфигурации\r\n\r\n```txt\r\n\r\nДля указания инструмента конвертации необходимо установить переменную среды `%V8_CONVERT_TOOL%.\r\nПо умолчанию используется пакетный режим конфигуратора.\r\n\r\n```\r\n\r\nДля использования базовой конфигурации в различных форматах может потребовать наличия скрипта [conf2ib.cmd](./scripts/conf2ib.cmd)\r\n\r\n### [edt-validate.cmd](./scripts/edt-validate.cmd)\r\n\r\nВыполняет проверку проекта 1C:Enterprise Development Tools (EDT) (`ring edt validate` или `1cedtcli -command validate`).\r\nМожет использоваться для проектов конфигураций, расширений, внешних отчетов и отбработок.\r\n\r\nПроверяем проектом может выступать:\r\n\r\n* Путь к файловой информационной базе 1С\r\n* Сервер\\имя серверной информационной базе 1С\r\n* Файл конфигурации (cf)\r\n* Файл расширения конфигурации (cfe)\r\n* Каталог выгрузки конфигурации или расширения в файлы (xml)\r\n* Каталог файлов внешних отчетов и обработок (epf, erf)\r\n* Каталог внешних отчетов и обработок формате выгрузки конфигуратора (XML)\r\n* Каталог проекта 1C:Enterprise Development Tools (EDT)\r\n\r\nПараметры:\r\n\r\n* Проверяемый проект (переменная среды `%V8_SRC_PATH%`)\r\n  * Для файловой информационной базы может указываться в одном из 2-х вариантов `\"\u003cпуть к базе\u003e\"` или `\"/F\u003cпуть к базе\u003e\"`\r\n  * Для серверной информационной базы может указываться в виде `\"/S\u003cимя сервера\u003e\\\u003cпуть к базе\u003e\"`, где \u003cимя сервера\u003e:\r\n    * при выгрузке с использованием пакетного режима конфигуратора (designer) - имя сервера 1С:Предприятие\r\n    * при выгрузке с использованием утилиты `ibcmd` - имя сервера СУБД\r\n* Путь к файлу отчета о проверке\r\n\r\nВ случае использования серверной информационной базы и использовании утилиты `ibcmd` дополнительно требуется указать переменные среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n\r\nРезультат:\r\n\r\n* Отчет о проверке конфигурации средствами 1C:Enterprise Development Tools (EDT)\r\n\r\nДля работы с конфигурациями, расширениями, внешними отчетами/обработками в различных форматах может потребовать наличия скриптов:\r\n\r\n* [conf2edt.cmd](./scripts/conf2edt.cmd)\r\n* [dp2edt.cmd](./scripts/dp2edt.cmd)\r\n* [ext2edt.cmd](./scripts/ext2edt.cmd)\r\n\r\n## \u003ca id=\"watchman\"\u003e\u003c/a\u003eАвтоматический разбор конфигураций, расширений, внешних отчетов и обработок (watchman)\r\n\r\nПомогает решать задачу автоматического разбора на исходные файлы бинарных файлов конфигураций, расширений, внешних отчетов и обработок сразу после внесения изменений. Позволяет увидеть внесенные изменения до помещения в git.\r\n\r\nДля автоматического разбора используется инструмент [watchman](https://facebook.github.io/watchman/docs/install).\r\n\r\nПримеры настройки и скрипты расположены в каталоге [./wmscripts](./wmscripts)\r\n\r\n### \u003ca id=\"wm_watch\"\u003e\u003c/a\u003eРегистрация каталога для отслеживания [watch](https://facebook.github.io/watchman/docs/cmd/watch)\r\n\r\nПримеры:\r\n\r\n```bat\r\n\r\nrem Через параметры командной строки\r\nwatchman watch \"\u003cpath to my repo\u003e\\ext\"\r\n\r\n```\r\n\r\n```bat\r\n\r\nrem Передача текста JSON на stdin\r\necho [\"watch\", \"\u003cpath to my repo\u003e\\ext\"] | watchman -j\r\n\r\n```\r\n\r\n```bat\r\n\r\nrem Передача файла JSON на stdin\r\nwatchman -j \u003c .\\wmscripts\\watch_example.json\r\n\r\n```\r\n\r\n### \u003ca id=\"wm_trigger\"\u003e\u003c/a\u003eПодключение триггера изменения файлов [trigger](https://facebook.github.io/watchman/docs/cmd/trigger)\r\n\r\nПримеры:\r\n\r\n```bat\r\n\r\nrem Передача текста JSON на stdin\r\necho [\"trigger\", \"\u003cpath to my repo\u003e\\ext\", ^{\"name\": \"myEPFTrigger\", \"expression\": [\"anyof\", [\"imatch\",\"*.epf\"]], \"command\": [\"convert.cmd\", \"dp2xml\", \"\u003cpath to my repo\u003e\\ext\", \"\u003cpath to my repo\u003e\\src\\ext\"], \"stdin\": \"NAME_PER_LINE\"^}] | watchman -j\r\n\r\n```\r\n\r\n```bat\r\n\r\nrem Передача файла JSON на stdin\r\nwatchman -j \u003c .\\wmscripts\\trigger_example.json\r\n\r\n```\r\n\r\n### \u003ca id=\"wm_trigger_list\"\u003e\u003c/a\u003eПросмотр списка подключенных триггеров [trigger-list](https://facebook.github.io/watchman/docs/cmd/trigger-list)\r\n\r\nПримеры:\r\n\r\n```bat\r\n\r\nwatchman trigger-list \"\u003cpath to my repo\u003e\\ext\"\r\n\r\n```\r\n\r\n### \u003ca id=\"wm_trigger_del\"\u003e\u003c/a\u003eОтключение триггера [trigger-del](https://facebook.github.io/watchman/docs/cmd/trigger-del)\r\n\r\nПримеры:\r\n\r\n```bat\r\n\r\nwatchman trigger-del \"\u003cpath to my repo\u003e\\ext\" \"myEPFTrigger\"\r\n\r\n```\r\n\r\n### \u003ca id=\"wm_watch_list\"\u003e\u003c/a\u003eПросмотр списка отслеживаемых каталогов [watch-list](https://facebook.github.io/watchman/docs/cmd/watch-list)\r\n\r\nПримеры:\r\n\r\n```bat\r\n\r\nwatchman watch-list\r\n\r\n```\r\n\r\n### \u003ca id=\"wm_trigger_del\"\u003e\u003c/a\u003eОстановка отслеживания каталога [watch-del](https://facebook.github.io/watchman/docs/cmd/watch-del)\r\n\r\nПримеры:\r\n\r\n```bat\r\n\r\nrem Через параметры командной строки\r\nwatchman watch-del \"\u003cpath to my repo\u003e\\ext\"\r\n\r\n```\r\n\r\n### Запуск отслеживания каталога [settrigger.cmd](./wmscripts/settrigger.cmd)\r\n\r\nСкрипт регистрации отслеживания каталога, содержащего файлы для конвертации. Использует [watchman](https://facebook.github.io/watchman/docs/install).\r\n\r\nВыполняет [регистрацию каталога для отслеживания](#wm_watch) и [подключает триггер на изменение файлов](#wm_trigger).\r\n\r\nПеременные среды:\r\n\r\n* **WATCH_TOOL** - путь к утилите watchman (по умолчанию берется из переменной окружения `%PATH%`)\r\n* **WATCH_LOG** - путь к файлу протокола выполнения обработки изменения файлов\r\n\r\nПараметры:\r\n\r\n* Имя триггера, который будет отслеживать изменения файлов (переменная среды `%TRIGGER_NAME%`)\r\n* Путь к отслеживаемому каталогу (переменная среды `%WATCH_PATH%`)\r\n* Список расширений отслеживаемых файлов разделенных `пробелом` (переменная среды `%WATCH_FILES%`), может быть указан псевдоним списка расширений:\r\n  * **1cdpr** - внешние отчеты и обработки\r\n  * **1cxml** - исходные файлы конфигурации в формате XML\r\n  * **1cedt** - исходные файлы конфигурации в формате проекта 1C:Enterprise Development Tools (EDT)\r\n* Имя или путь к скрипту, исполняемому при изменении файлов в отслеживаемом каталоге (переменная среды `%WATCH_SCRIPT%`). См. [описания скриптов](#scripts). Если взаимное расположение и имена каталогов скриптов не изменялись, то можно просто указать имя скрипта без расширения.\r\n* Путь к каталогу для сохранения результатов конвертации (переменная среды `%WATCH_OUT_PATH%`)\r\n\r\nПример:\r\n\r\n```bat\r\n\r\n.\\settrigger.cmd MyEPFTrigger \"\u003cpath to my repo\u003e\\ext\" 1cdpr dp2xml \"\u003cpath to my repo\u003e\\src\\ext\"\r\n```\r\n\r\n### Конвертация [convert.cmd](./wmscripts/convert.cmd)\r\n\r\nСкрипт - обертка для запуска скриптов конвертации при срабатывании зарегистрированного тригера. Выполняет конвертацию файлов 1С с использованием указанного скрипта конвертации в указанный каталог.\r\n\r\n`Не предполагался для ручного запуска`\r\n\r\nПараметры:\r\n\r\n* Имя или путь к исполняемому скрипту (переменная среды `%CONVERT_SCRIPT%`). См. [описания скриптов](#scripts). Если взаимное расположение и имена каталогов скриптов не изменялись, то можно просто указать имя скрипта без расширения.\r\n* Путь к отслеживаемому каталогу (переменная среды `%CONVERT_SRC_PATH%`)\r\n* Путь к каталогу для сохранения результатов конвертации (переменная среды `%CONVERT_DST_PATH%`)\r\n\r\nПример:\r\n\r\n```bat\r\n\r\n.\\convert.cmd dp2xml \"\u003cpath to my repo\u003e\\ext\" \"\u003cpath to my repo\u003e\\src\\ext\"\r\n```\r\n\r\n## \u003ca id=\"tests\"\u003e\u003c/a\u003eТесты\r\n\r\nТесты расположены в каталоге [tests](./tests).\r\n\r\n* В каталоге [tests/fixtures](./tests/fixtures) расположены тестовые данные (конфигурация, расширения, отчеты и обработки в бинарном формате).\r\n* В каталоге [tests/before](./tests/before) расположены скрипты подготовки тестовых данных\r\n* В каталоге [tests/tests](./tests/tests) расположены модульные тесты\r\n* В каталоге [tests/after](./tests/after) расположены скрипты, выполняемые после запуска тестов\r\n\r\nДля выполнения тестов с серверной информационной базой 1С необходимо наличие и доступность сервера 1С:Предприятие и сервера СУБД, а также потребуется указание переменных среды:\r\n\r\n* **V8_DB_SRV_DBMS** - тип сервера СУБД (MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase) (опционально, по умолчанию: MSSQLServer)\r\n* **V8_DB_SRV_ADDR** - адрес сервера СУБД\r\n* **V8_DB_SRV_USR** - пользователь сервера СУБД\r\n* **V8_DB_SRV_PWD** - пароль пользователя сервера СУБД\r\n* **V8_SRV_ADDR** - адрес сервера 1С:Предприятие\r\n* **V8_SRV_AGENT_PORT** - порт агента сервера 1С:Предприятие (например: 1540)\r\n* **V8_SRV_REG_PORT** - порт главного менеджера кластера 1С:Предприятие (например: 1541)\r\n* **V8_SRV_PORT_RANGE** - диапазон сетевых портов рабочих процессов 1С:Предприятие (например: 1560-1591)\r\n* **V8_RAS_PORT** - порт службы RAS  (например: 1545) (поднимается автоматически на машине запуска тестов)\r\n* **V8_IB_NAME** - имя временной информационной базы 1С для выполнения тестов\r\n\r\nЗначения переменных могут быть указаны в файле `./tests/.env`, пример приведен в файле [tests/example.env](./tests/example.env)\r\n\r\nЗапуск тестов выполняется скриптом [tests/test.cmd](./tests/test.cmd)\r\n\r\n### Структура скрипта теста модуля\r\n\r\n```bat\r\n\r\n@ECHO OFF\r\n\r\nrem Заголовок теста\r\nset TEST_NAME=\"Conf CF -\u003e XML (ibcmd)\" \r\n\r\nrem Путь к каталогу выходных данных\r\nset TEST_OUT_PATH=%OUT_PATH%\\%~n0\r\nset TEST_OUT_PATH=%TEST_OUT_PATH: =_%\r\n\r\nrem Список файлов, наличие которых проверяется после выполнения теста\r\nset TEST_CHECK_PATH=%TEST_OUT_PATH%\\Configuration.xml\r\n\r\nrem Инструмент конвертации файлов 1С\r\nset V8_CONVERT_TOOL=ibcmd\r\n\r\necho ===\r\necho Test %TEST_COUNT%. ^(%~n0^) %TEST_NAME%\r\necho ===\r\n\r\nrem Команда запуска теста (выполнения конвертации)\r\ncall %SCRIPTS_PATH%\\conf2xml.cmd \"%TEST_BINARY%\\1cv8.cf\" \"%TEST_OUT_PATH%\"\r\n\r\nrem Переменной TEST_ERROR_MESSAGE можно присвоить произвольный текст ошибки\r\nIF ERRORLEVEL 1 set TEST_ERROR_MESSAGE=Error running test \"%TEST_NAME%\"\r\n\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkuznetsov%2F1cfilesconverter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkuznetsov%2F1cfilesconverter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkuznetsov%2F1cfilesconverter/lists"}