mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-11 13:33:41 +03:00
feat(db-load-xml,db-load-git): исключать файлы состояния поддержки из частичной загрузки
Партиал-загрузка ParentConfigurations.bin платформой не принимается (мутный отказ «редактирование объекта метаданных запрещено», пустое имя = корень; смена поддержки требует полной загрузки). Чтобы не падать невнятно, оба навыка теперь исключают служебные файлы поддержки из partial-списка с явной подсказкой. - db-load-xml (Mode Partial): фильтрует -Files и -ListFile — убирает ParentConfigurations.bin и ConfigDumpInfo.xml, грузит остальное; если после фильтра пусто — подсказка использовать -Mode Full. - db-load-git: ParentConfigurations.bin из git-diff отбрасывается явно (раньше — неявно, через несуществующий производный xml) и о смене поддержки печатается предупреждение; ConfigDumpInfo.xml как и прежде пропускается. Не блокируем быструю частичную загрузку объектов (bin всё равно partial не применяется — ничего «быстрого» не теряем); смену поддержки честно направляем на полную загрузку. Оба порта, v1.3→v1.4. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# db-load-git v1.3 — Load Git changes into 1C database
|
||||
# db-load-git v1.4 — Load Git changes into 1C database
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
<#
|
||||
.SYNOPSIS
|
||||
@@ -216,13 +216,16 @@ Write-Host "Git changes detected: $($changedFiles.Count) files"
|
||||
|
||||
# --- Filter and map to config files ---
|
||||
$configFiles = @()
|
||||
$supportSkipped = @()
|
||||
|
||||
foreach ($file in $changedFiles) {
|
||||
$file = $file.Trim().Replace('\', '/')
|
||||
if ([string]::IsNullOrWhiteSpace($file)) { continue }
|
||||
|
||||
# Skip service files
|
||||
if ($file -eq "ConfigDumpInfo.xml") { continue }
|
||||
# Skip service files (not partially loadable). Support-state files are tracked
|
||||
# to warn the user: support changes apply only via a full load.
|
||||
if ($file -match 'ParentConfigurations\.bin$') { $supportSkipped += $file; continue }
|
||||
if ($file -eq "ConfigDumpInfo.xml" -or $file -match '(^|/)ConfigDumpInfo\.xml$') { continue }
|
||||
|
||||
$fullPath = Join-Path $ConfigDir $file
|
||||
|
||||
@@ -265,6 +268,12 @@ foreach ($file in $changedFiles) {
|
||||
}
|
||||
}
|
||||
|
||||
if ($supportSkipped.Count -gt 0) {
|
||||
Write-Host "[ВНИМАНИЕ] Состояние поддержки изменено в коммите, но частично не загружается (исключено):" -ForegroundColor Yellow
|
||||
foreach ($sf in $supportSkipped) { Write-Host " - $sf" -ForegroundColor Yellow }
|
||||
Write-Host " Смена состояния поддержки применяется только полной загрузкой (db-load-xml -Mode Full)." -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
if ($configFiles.Count -eq 0) {
|
||||
Write-Host "No configuration files found in changes"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user