Набор скриптов для автоматической работы с конфигурацией 1С:Предприятие:
- Частичная загрузка - загрузка измененных файлов из git в информационную базу
- Выгрузка конфигурации - выгрузка конфигурации из информационной базы в файлы (полная, инкрементальная, частичная)
- ✅ Получение всех измененных файлов от указанного коммита до текущего состояния (включая незафиксированные)
- ✅ Автоматическая фильтрация файлов конфигурации (XML)
- ✅ Поддержка BSL файлов - автоматическое добавление XML объектов при изменении модулей
- ✅ Создание файла списка для частичной загрузки
- ✅ Выполнение команды
/LoadConfigFromFilesс параметром-partial - ✅ Автоматическое обновление конфигурации БД - опциональное обновление после загрузки
- ✅ Запуск в режиме 1С:Предприятие - автоматический запуск после загрузки
- ✅ Поддержка навигационных ссылок - открытие конкретного объекта после старта
- ✅ Запуск внешних обработок - возможность запуска обработки после старта
- ✅ Поддержка обоих форматов выгрузки (Hierarchical/Plain)
- ✅ Подробное логирование процесса
- ✅ Режим отладки
- ✅ Полная выгрузка - выгрузка всей конфигурации в файлы
- ✅ Инкрементальная выгрузка - выгрузка только измененных объектов
- ✅ Частичная выгрузка - выгрузка конкретных объектов из списка
- ✅ Поддержка обоих форматов (Hierarchical/Plain)
- ✅ Сохранение списка изменений
- ✅ Сравнение с другой выгрузкой
- ✅ Поддержка расширений конфигурации
- ✅ Режим отладки
partial-load-config/
├── loadcfg.cmd # Команда быстрой загрузки конфигурации
├── dumpcfg.cmd # Команда быстрой выгрузки конфигурации
├── scripts/ # PowerShell скрипты
│ ├── partial-load-config.ps1
│ ├── dump-config.ps1
│ ├── dump-full-config.ps1
│ ├── dump-changes-config.ps1
│ ├── dump-partial-config.ps1
│ ├── update-dump-info.ps1
│ └── process-config-files.ps1
├── .env # Настройки проекта (не в git)
├── .env.example # Пример настроек
└── README.md
После настройки .env файла используйте короткие команды:
REM Загрузка конфигурации
loadcfg :: загрузка незафиксированных изменений
loadcfg HEAD :: загрузка всех изменений с последнего коммита
loadcfg HEAD~3 :: загрузка изменений за последние 3 коммита
loadcfg -UpdateDB :: загрузка с обновлением БД
loadcfg HEAD -DebugMode :: загрузка с отладкой
REM Выгрузка конфигурации
dumpcfg :: выгрузка по умолчанию (Changes из .env)
dumpcfg Full :: полная выгрузка
dumpcfg Changes :: инкрементальная выгрузка
dumpcfg Partial :: частичная выгрузка (список из .env)
dumpcfg -mode Partial -objects "Справочник.Номенклатура,Документ.Заказ"
dumpcfg -DebugMode :: выгрузка с отладкойДля полного контроля используйте скрипты напрямую:
# Загрузка
.\scripts\partial-load-config.ps1 -CommitId "HEAD" -UpdateDB -RunEnterprise
# Выгрузка
.\scripts\dump-config.ps1 -Mode Full -ConfigDir "src" -InfoBasePath "C:\Bases\MyBase"- Git установлен и доступен в PATH
- Платформа 1С:Предприятие 8.3
- Git репозиторий с историей изменений конфигурации
Для удобства работы с параметрами можно создать файл .env в корне проекта. Скопируйте .env.example и настройте под свою среду:
cp .env.example .envПараметры применяются в следующем порядке приоритета:
- Параметры командной строки (самый высокий приоритет)
- Переменные из .env файла
- Значения по умолчанию (самый низкий приоритет)
Это позволяет настроить базовые параметры в .env, но при необходимости переопределить их через командную строку.
# =============================================================================
# ОСНОВНЫЕ ПАРАМЕТРЫ
# =============================================================================
# Путь к платформе 1С:Предприятие (1cv8.exe)
# Если не указан, будет искаться в PATH
V8_PATH=C:\\Program Files\\1cv8\\8.3.24.1467\\bin\\1cv8.exe
# Каталог с выгруженной конфигурацией (относительно корня проекта)
CONFIG_DIR=src
# Формат выгрузки конфигурации
# Возможные значения: Hierarchical, Plain
CONFIG_FORMAT=Hierarchical
# =============================================================================
# ПАРАМЕТРЫ ПОДКЛЮЧЕНИЯ К ИНФОРМАЦИОННОЙ БАЗЕ
# =============================================================================
# Путь к файловой информационной базе
# Используйте либо INFOBASE_PATH, либо INFOBASE_NAME
INFOBASE_PATH=C:\\edt\\IB\\MyBase
# Имя информационной базы из списка (альтернатива INFOBASE_PATH)
# INFOBASE_NAME=MyBase
# =============================================================================
# УЧЕТНЫЕ ДАННЫЕ 1С
# =============================================================================
# Имя пользователя 1С
# Рекомендуется использовать учетную запись для разработки
USERNAME_1C=Администратор
# Пароль пользователя 1С
# ВНИМАНИЕ: Не рекомендуется хранить пароль в файле!
# Лучше передавать через параметр командной строки
# PASSWORD_1C=
# =============================================================================
# ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ
# =============================================================================
# Файл для вывода служебных сообщений (если не указан, создается временный)
# OUT_FILE=C:\\Logs\\1c_load.txt
# Режим отладки (true/false)
# При включении выводится дополнительная информация и сохраняются временные файлы
DEBUG_MODE=false
# Автоматическое обновление конфигурации БД после загрузки (true/false)
UPDATE_DB=false
# Запуск 1С:Предприятие после загрузки (true/false)
RUN_ENTERPRISE=false
# Навигационная ссылка для открытия объекта (требует RUN_ENTERPRISE=true)
# Примеры:
# - e1cib/list/Справочник.Номенклатура
# - e1cib/list/Документ.ЗаказПоставщику
# NAVIGATION_LINK=
# Путь к внешней обработке для запуска (требует RUN_ENTERPRISE=true)
# EXTERNAL_DATA_PROCESSOR=C:\\Tools\\MyProcessor.epf
# =============================================================================
# ПАРАМЕТРЫ ВЫГРУЗКИ КОНФИГУРАЦИИ
# =============================================================================
# Режим выгрузки по умолчанию: Full, Changes, Partial
# Full - полная выгрузка всей конфигурации
# Changes - только измененные объекты (требует предыдущую выгрузку)
# Partial - конкретные объекты из списка
DUMP_MODE=Changes
# Файл со списком объектов для частичной выгрузки (режим Partial)
# Формат: по одному объекту на строку
# Примеры:
# Справочник.Справочник1
# Документ.Документ1
# Configuration.Help
DUMP_OBJECTS_LIST=dump_objects.txt
# Файл для сохранения списка изменений (режим Changes)
# В этот файл будет записан список измененных объектов
DUMP_CHANGES_FILE=config_changes.txt
# Файл ConfigDumpInfo.xml для сравнения (опционально, режим Changes)
# Позволяет сравнить текущую конфигурацию с другой выгрузкой
# DUMP_COMPARE_WITH=old_dump/ConfigDumpInfo.xml.env добавлен в .gitignore, но для дополнительной безопасности рекомендуется передавать пароль через параметр командной строки:
REM Короткая команда
loadcfg HEAD -Password "your_password"# PowerShell скрипт напрямую
.\scripts\partial-load-config.ps1 -CommitId "HEAD" -Password "your_password"После настройки .env можно запускать команды без указания базовых параметров:
REM Короткие команды (рекомендуется)
loadcfg HEAD
dumpcfg Changes# PowerShell скрипты напрямую
.\scripts\partial-load-config.ps1 -CommitId "HEAD"
.\scripts\dump-changes-config.ps1После настройки .env используйте простые команды:
Загрузка конфигурации:
REM Базовые примеры
loadcfg :: незафиксированные изменения
loadcfg HEAD :: изменения с последнего коммита
loadcfg HEAD~3 :: изменения за последние 3 коммита
REM С дополнительными параметрами
loadcfg -UpdateDB :: с обновлением БД
loadcfg HEAD -UpdateDB -RunEnterprise :: загрузка, обновление и запуск
loadcfg -DebugMode :: с отладкойВыгрузка конфигурации:
REM Базовые примеры
dumpcfg :: режим из .env (обычно Changes)
dumpcfg Full :: полная выгрузка
dumpcfg Changes :: инкрементальная выгрузка
dumpcfg Partial :: частичная выгрузка (список из .env)
REM С параметрами
dumpcfg -mode Full :: явное указание режима
dumpcfg -mode Partial -objects "Справочник.Номенклатура,Документ.Заказ"
dumpcfg -DebugMode :: с отладкойДля сложных сценариев используйте скрипты напрямую:
Загрузка:
# Базовые примеры
.\scripts\partial-load-config.ps1
# С параметрами
.\scripts\partial-load-config.ps1 -CommitId "HEAD" `
-InfoBasePath "C:\Bases\MyBase" `
-UpdateDB `
-RunEnterprise `
-NavigationLink "e1cib/data/Catalog.Items"Выгрузка:
# Полная выгрузка
.\scripts\dump-config.ps1 -Mode Full -ConfigDir "src" -InfoBasePath "C:\Bases\MyBase"
# Или используйте специализированные обертки
.\scripts\dump-full-config.ps1 -ConfigDir "src" -InfoBasePath "C:\Bases\MyBase"
.\scripts\dump-changes-config.ps1 -ChangesFile "changes.txt"
.\scripts\dump-partial-config.ps1 -ObjectNames "Справочник.Номенклатура"| Параметр | Обязательный | Описание |
|---|---|---|
CommitId |
Нет | Идентификатор коммита git - точка отсчета для получения изменений (хеш, ветка, HEAD~N и т.д.). Если не указан, загружаются только незафиксированные изменения (staged + unstaged + untracked) |
| Параметр | Описание |
|---|---|
InfoBasePath / /ib |
Путь к каталогу файловой базы данных. Указывается каталог, содержащий файл 1Cv8.1CD. Пример: C:\Bases\MyFileBase |
InfoBaseName / /ibname |
Имя клиент-серверной базы из списка баз 1С. Пример: MyServerBase |
| Параметр | Значение по умолчанию | Описание |
|---|---|---|
UserName / /n |
- | Имя пользователя 1С |
Password / /p |
- | Пароль пользователя |
ConfigDir / /configdir |
config |
Каталог с выгруженной конфигурацией |
Format / /format |
Hierarchical |
Формат: Hierarchical или Plain |
V8Path / /v8 |
1cv8.exe |
Путь к исполняемому файлу платформы (если не указан, ищется в PATH) |
OutFile / /out |
temp файл | Файл для вывода служебных сообщений |
DebugMode / /debug |
- | Включить режим отладки |
UpdateDB |
- | Автоматически обновить конфигурацию БД после загрузки |
RunEnterprise |
- | Запустить 1С:Предприятие после загрузки |
NavigationLink |
- | Навигационная ссылка для открытия объекта (требует -RunEnterprise) |
ExternalDataProcessor |
- | Путь к внешней обработке для запуска (требует -RunEnterprise) |
-
Получение списка файлов
Скрипт получает все измененные файлы от указанного коммита до текущего состояния:
# Изменения от коммита до HEAD git diff --name-only <commit-id>..HEAD # Staged изменения (git add) git diff --cached --name-only # Unstaged изменения (измененные файлы) git diff --name-only # Untracked файлы (новые файлы, не добавленные в git) git ls-files --others --exclude-standard
Все списки объединяются, дубликаты удаляются.
-
Фильтрация файлов
- Проверяется, что файл находится в каталоге конфигурации
- Для XML файлов - добавляются напрямую
- Для BSL файлов - автоматически добавляется соответствующий XML объекта и все связанные файлы (модули, формы и т.д.)
- Проверяется существование файла
-
Создание файла списка
- Файлы записываются построчно
- Пути указываются относительно каталога конфигурации
-
Выполнение загрузки
1cv8.exe DESIGNER /F "path\to\base" /LoadConfigFromFiles "config" -listFile "load_list.txt" -Format Hierarchical -partial -updateConfigDumpInfo /DisableStartupDialogs
Сценарий 1: Быстрая загрузка текущих изменений
REM Самый частый случай - загрузить то, что меняли прямо сейчас
loadcfgСценарий 2: Загрузка с последнего коммита и запуск
REM Загрузить изменения из последнего коммита, обновить БД и запустить
loadcfg HEAD -UpdateDB -RunEnterpriseСценарий 3: Выгрузка изменений после работы в конфигураторе
REM Выгрузить только то, что изменилось
dumpcfg Changes
REM Посмотреть что изменилось
type config_changes.txt
REM Зафиксировать в git
git add .
git commit -m "Добавлен новый отчет"Сценарий 4: Выгрузка конкретных объектов для анализа
REM Быстрая выгрузка одного-двух объектов
dumpcfg -mode Partial -objects "Справочник.Номенклатура,Отчет.ОстаткиТоваров"Сценарий 5: Полный цикл разработки
REM 1. Выгружаем изменения из продуктивной базы
dumpcfg Changes
git add . && git commit -m "Обновление конфигурации"
REM 2. В тестовой базе загружаем изменения
loadcfg HEAD -UpdateDB -RunEnterpriseЗагрузка изменений за период:
# Загрузить все изменения за последние 5 коммитов
.\scripts\partial-load-config.ps1 -CommitId "HEAD~5" -DebugModeКомплексный сценарий с запуском:
# Загрузка, обновление БД и открытие конкретной формы
.\scripts\partial-load-config.ps1 -CommitId "HEAD~3" `
-UpdateDB `
-RunEnterprise `
-NavigationLink "e1cib/data/Document.SalesOrder"Выгрузка с сохранением списка изменений:
.\scripts\dump-changes-config.ps1 -ChangesFile "changes.txt" -DebugMode| Код | Описание |
|---|---|
| 0 | Успешное выполнение |
| 1 | Ошибка (неверные параметры, git ошибка, ошибка загрузки) |
При возникновении проблем используйте параметр -DebugMode:
REM Короткая команда
loadcfg HEAD -DebugMode
dumpcfg -DebugMode# PowerShell скрипт напрямую
.\scripts\partial-load-config.ps1 -CommitId "HEAD" -InfoBasePath "C:\Bases\Test" -DebugModeЭто выведет:
- Параметры запуска
- Список найденных файлов
- Содержимое файла списка загрузки
- Полную командную строку 1cv8.exe
- Путь к временным файлам (не удаляются)
Когда скрипт обнаруживает изменение в BSL файле (например, src/Catalogs/Справочник1/Ext/ObjectModule.bsl), он автоматически:
- Определяет тип объекта (
Catalogs) и его имя (Справочник1) - Добавляет в список загрузки XML объекта (
Catalogs/Справочник1.xml) - Добавляет сам BSL файл
- Рекурсивно добавляет все файлы из подкаталога
Ext(включая формы, предопределенные данные и т.д.)
Это гарантирует корректную загрузку изменений в модулях объектов.
Указанный параметр CommitId является точкой отсчета для получения изменений:
CommitId ────────> HEAD ────────> Current State
▲ ▲ ▲
│ │ │
└─────────────────┴──────────────────┘
Все эти изменения загружаются
Примеры:
HEAD~5- загрузит все изменения за последние 5 коммитов + незафиксированныеabc123- загрузит все изменения от коммита abc123 до текущего состоянияfeature/branch- загрузит все изменения от указанной ветки до текущего HEAD
- Зафиксированные изменения: все коммиты от указанного до HEAD
- Staged изменения: файлы после
git add - Unstaged изменения: измененные файлы в рабочем каталоге
- Работает только с файлами формата XML/BSL (не с
.cf,.cfu) - Требует предварительную выгрузку конфигурации в файлы
- Не поддерживает расширения конфигурации
- Загружает измененные файлы из текущего состояния (не переключается на указанный коммит)
Можно модифицировать скрипт для загрузки всех изменений между двумя коммитами:
git diff --name-only <commit1>..<commit2>Добавить параметр -Extension:
$arguments += "-Extension", "`"MyExtension`""Реализовано! Используйте параметр -UpdateDB:
REM Короткая команда
loadcfg HEAD -UpdateDB# PowerShell скрипт напрямую (с явными параметрами)
.\scripts\partial-load-config.ps1 -CommitId "HEAD" `
-InfoBasePath "C:\Bases\MyBase" `
-UpdateDBРеализовано! Используйте параметр -RunEnterprise:
REM Простой запуск
loadcfg HEAD -RunEnterprise
REM С открытием конкретного объекта
loadcfg HEAD -RunEnterprise -NavigationLink "e1cib/data/Catalog.Items"
REM С запуском внешней обработки
loadcfg HEAD -RunEnterprise -ExternalDataProcessor "C:\Tools\MyProcessor.epf"# PowerShell скрипт напрямую (с явными параметрами)
.\scripts\partial-load-config.ps1 -CommitId "HEAD" `
-InfoBasePath "C:\Bases\MyBase" `
-RunEnterprise `
-NavigationLink "e1cib/data/Catalog.Items"Загрузка, обновление БД и запуск с открытием объекта:
REM Короткая команда (параметры из .env)
loadcfg HEAD -UpdateDB -RunEnterprise -NavigationLink "e1cib/data/Document.SalesOrder"# PowerShell скрипт напрямую (с явными параметрами)
.\scripts\partial-load-config.ps1 -CommitId "HEAD" `
-InfoBasePath "C:\edt\IB\ERP_2.5.12.73" `
-ConfigDir "src" `
-UserName "Администратор" `
-UpdateDB `
-RunEnterprise `
-NavigationLink "e1cib/data/Document.SalesOrder"Если при запуске .ps1 файла он открывается в текстовом редакторе, это означает, что в вашей системе для этого типа файлов не настроено действие "Выполнить".
Для принудительного выполнения используйте powershell.exe:
# Пример для полной выгрузки
powershell.exe -ExecutionPolicy Bypass -File .\dump-full-config.ps1
# Пример для частичной загрузки
powershell.exe -ExecutionPolicy Bypass -File .\partial-load-config.ps1 -CommitId "HEAD"Установите git и добавьте его в PATH
Проверьте параметр -ConfigDir и наличие каталога
- Проверьте идентификатор коммита
- Убедитесь, что в коммите есть изменения XML или BSL файлов
- Проверьте путь к каталогу конфигурации (параметр
-ConfigDir)
- Укажите полный путь к платформе через параметр
-V8Path - Пример:
-V8Path "C:\Program Files\1cv8\8.3.27.1859\bin\1cv8.exe"
Проверьте файл лога (-OutFile или временный файл)
- Документация 1С: Командная строка
- Git документация
- Параметр
/LoadConfigFromFiles(строка 1070 в документации)
Скрипты для выгрузки конфигурации 1С:Предприятие из информационной базы в файлы в трех режимах.
Выгружает всю конфигурацию целиком.
REM Короткая команда
dumpcfg Full# PowerShell скрипты напрямую (с явными параметрами)
.\scripts\dump-full-config.ps1 -ConfigDir "src" -InfoBasePath "C:\Bases\MyBase"
.\scripts\dump-config.ps1 -Mode Full -ConfigDir "src" -InfoBasePath "C:\Bases\MyBase"Использование:
- Первичная выгрузка конфигурации
- Создание базовой копии для версионирования
- Экспорт для анализа
Выгружает только измененные объекты относительно предыдущей выгрузки.
REM Короткая команда
dumpcfg Changes
REM С сохранением списка изменений (если не настроено в .env)
dumpcfg Changes -ChangesFile "changes.txt"# PowerShell скрипты напрямую (с явными параметрами)
.\scripts\dump-changes-config.ps1 -ConfigDir "src" -InfoBasePath "C:\Bases\MyBase"
# С сохранением списка изменений
.\scripts\dump-changes-config.ps1 -ConfigDir "src" `
-InfoBasePath "C:\Bases\MyBase" `
-ChangesFile "changes.txt"
# Сравнение с другой выгрузкой
.\scripts\dump-changes-config.ps1 -ConfigDir "src" `
-InfoBasePath "C:\Bases\MyBase" `
-CompareWith "old_dump\ConfigDumpInfo.xml" `
-ForceИспользование:
- Регулярная выгрузка изменений для версионирования
- Отслеживание модификаций конфигурации
- Экспорт для анализа изменений с AI-ассистентами
Важно: Требует файл ConfigDumpInfo.xml от предыдущей выгрузки.
Выгружает только конкретные объекты, указанные либо в файле, либо напрямую в командной строке.
Способ 1: Указание объектов в файле
REM Короткая команда (файл из .env: DUMP_OBJECTS_LIST)
dumpcfg Partial# PowerShell скрипт напрямую (с явными параметрами)
.\scripts\dump-partial-config.ps1 -ObjectsListFile "dump_objects.txt" `
-ConfigDir "src" `
-InfoBasePath "C:\Bases\MyBase"Способ 2: Указание объектов в параметре
REM Короткая команда - выгрузка одного объекта
dumpcfg -mode Partial -objects "Справочник.Номенклатура"
REM Выгрузка нескольких объектов (важно: в двойных кавычках, без пробелов у запятой)
dumpcfg -mode Partial -objects "Справочник.Номенклатура,Документ.РеализацияТоваровУслуг"# PowerShell скрипт напрямую
.\scripts\dump-partial-config.ps1 -ObjectNames "Справочник.Номенклатура" -InfoBaseName "MyBase"
# Выгрузка нескольких объектов
.\scripts\dump-partial-config.ps1 -ObjectNames "Справочник.Номенклатура,Документ.РеализацияТоваровУслуг" `
-InfoBasePath "C:\Bases\MyBase" `
-DebugModeФормат файла списка объектов (dump_objects.txt):
# Каждая строка - имя объекта метаданных
Справочник.Номенклатура
Документ.РеализацияТоваровУслуг
Отчет.АнализПродаж
Использование:
- Через параметр
-ObjectNames: идеально для быстрой выгрузки 1-2 объектов. - Через файл
-ObjectsListFile: удобно для выгрузки большого или часто используемого списка объектов. - Экспорт отдельных модулей для анализа или передачи коллегам.
| Параметр | Обязательный | Описание |
|---|---|---|
Mode |
Нет | Режим выгрузки: Full, Changes, Partial (default: Changes) |
ConfigDir |
Нет | Каталог для выгрузки. Переопределяет CONFIG_DIR из .env. (default: config) |
InfoBasePath |
Да* | Путь к файловой базе данных |
InfoBaseName |
Да* | Имя базы из списка (альтернатива InfoBasePath) |
*Один из двух параметров обязателен
| Параметр | Описание |
|---|---|
ChangesFile |
Файл для сохранения списка изменений |
CompareWith |
Путь к ConfigDumpInfo.xml для сравнения |
Force |
Принудительная полная выгрузка при несоответствии версий |
| Параметр | Описание |
|---|---|
ObjectsListFile |
(Обязательный, если не указан ObjectNames)Файл со списком имен объектов для выгрузки. |
ObjectNames |
(Обязательный, если не указан ObjectsListFile)Массив строк с именами объектов для выгрузки. |
| Параметр | Значение по умолчанию | Описание |
|---|---|---|
UserName |
- | Имя пользователя 1С |
Password |
- | Пароль пользователя |
Format |
Hierarchical |
Формат: Hierarchical или Plain |
V8Path |
1cv8.exe |
Путь к исполняемому файлу платформы |
OutFile |
temp файл | Файл для вывода служебных сообщений |
DebugMode |
- | Режим отладки |
Extension |
- | Имя расширения для выгрузки |
AllExtensions |
- | Выгрузить все расширения |
Параметры выгрузки можно настроить в файле .env:
# Выгрузка конфигурации
DUMP_MODE=Changes
DUMP_OBJECTS_LIST=objects.txt
DUMP_CHANGES_FILE=config_changes.txtПосле настройки .env запуск упрощается:
REM Короткие команды (рекомендуется)
dumpcfg :: использует DUMP_MODE из .env
dumpcfg Full :: переопределяет режим# PowerShell скрипты напрямую
.\scripts\dump-changes-config.ps1
.\scripts\dump-full-config.ps1 -ConfigDir "config_backup"Это основной сценарий работы с системой контроля версий.
REM Короткие команды (рекомендуется, параметры из .env)
dumpcfg Full
REM ... работа в конфигураторе, внесение изменений ...
REM Выгрузка только изменений
dumpcfg Changes
REM Фиксация в git
git add .
git commit -m "Добавлен новый справочник"# PowerShell скрипты напрямую (с явными параметрами)
.\scripts\dump-full-config.ps1 -ConfigDir "src" -InfoBasePath "C:\Bases\Dev"
# ... работа в конфигураторе ...
# Выгрузка только изменений
.\scripts\dump-changes-config.ps1 -ConfigDir "src" `
-InfoBasePath "C:\Bases\Dev" `
-ChangesFile "changes.txt"
git add .
git commit -m "Добавлен новый справочник"
# Обновление файла состояния (опционально)
.\scripts\update-dump-info.ps1 -ConfigDir "src" -InfoBasePath "C:\Bases\Dev"REM Короткая команда - передаем объекты напрямую
dumpcfg -mode Partial -objects "Справочник.Номенклатура,Отчет.АнализПродаж"# PowerShell - создаем список в файле
@"
Справочник.Номенклатура
Документ.РеализацияТоваровУслуг
Отчет.АнализПродаж
"@ | Out-File dump_objects.txt -Encoding UTF8
# Выгружаем из файла
.\scripts\dump-partial-config.ps1 -ObjectsListFile "dump_objects.txt" `
-ConfigDir "selected_objects" `
-InfoBasePath "C:\Bases\MyBase"
# Или передаем объекты напрямую
.\scripts\dump-partial-config.ps1 -ObjectNames "Справочник.Номенклатура", "Отчет.АнализПродаж" `
-ConfigDir "selected_objects" `
-InfoBasePath "C:\Bases\MyBase"REM Короткая команда
dumpcfg Full -Extension "MyExtension"
dumpcfg Full -AllExtensions# PowerShell скрипты напрямую
.\scripts\dump-full-config.ps1 -ConfigDir "extensions\MyExtension" `
-InfoBasePath "C:\Bases\MyBase" `
-Extension "MyExtension"
.\scripts\dump-full-config.ps1 -ConfigDir "all_extensions" `
-InfoBasePath "C:\Bases\MyBase" `
-AllExtensionsСкрипты выгрузки и загрузки дополняют друг друга:
REM Короткие команды (параметры из .env)
dumpcfg Changes
git add src
git commit -m "Обновление конфигурации"
loadcfg HEAD -UpdateDB# PowerShell скрипты напрямую (с явными параметрами)
.\scripts\dump-changes-config.ps1 -ConfigDir "src" -InfoBasePath "C:\Bases\Prod"
git add src
git commit -m "Обновление конфигурации"
# Загружаем в конфигурацию информацонной базы
.\scripts\partial-load-config.ps1 -CommitId "HEAD" `
-ConfigDir "src" `
-InfoBasePath "C:\Bases\Dev" `
-UpdateDBПри возникновении проблем используйте параметр -DebugMode:
REM Короткая команда
dumpcfg -DebugMode# PowerShell скрипт напрямую
.\scripts\dump-changes-config.ps1 -ConfigDir "src" `
-InfoBasePath "C:\Bases\MyBase" `
-DebugModeЭто выведет:
- Параметры запуска
- Режим выгрузки
- Полную командную строку 1cv8.exe
- Список изменений (для режима Changes)
- Путь к временным файлам (не удаляются)
- ✅ Короткие команды -
loadcfgиdumpcfgдля быстрого доступа - ✅ Реорганизация проекта - все скрипты в каталоге
scripts/ - ✅ Упрощенный синтаксис - позиционные параметры для режимов выгрузки
- ✅ Обновлена документация с примерами коротких команд
- ✅ Добавлена выгрузка конфигурации - три режима (Full, Changes, Partial)
- ✅ Универсальный скрипт dump-config.ps1 с поддержкой .env
- ✅ Три обертки для удобного запуска каждого режима
- ✅ Поддержка расширений конфигурации
- ✅ Интеграция с существующей системой загрузки
- ✅ Изменена логика получения файлов: указанный коммит теперь точка отсчета
- ✅ Загрузка всех изменений: от коммита до HEAD + незафиксированные
- ✅ Улучшенная отладка: детальная статистика по источникам изменений
- ✅ Обновлена документация с подробным описанием логики
- ✅ Автоматическое обновление конфигурации БД (
-UpdateDB) - ✅ Запуск в режиме 1С:Предприятие (
-RunEnterprise) - ✅ Поддержка навигационных ссылок (
-NavigationLink) - ✅ Запуск внешних обработок (
-ExternalDataProcessor) - ✅ Комплексные сценарии: загрузка + обновление + запуск
- ✅ Добавлена поддержка BSL файлов
- ✅ Автоматическое добавление XML объектов при изменении модулей
- ✅ Улучшенная обработка связанных файлов объектов
- ✅ Исправлен конфликт параметра
-Debugс встроенным PowerShell параметром (переименован в-DebugMode) - ✅ Интернационализация сообщений (English)
- ✅ Базовая функциональность частичной загрузки
- ✅ Поддержка XML файлов конфигурации
- ✅ Режим отладки
Скрипт создан для автоматизации процесса разработки конфигураций 1С с использованием git.
Свободное использование