# epf-init v1.1 — Init 1C external data processor scaffold # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] [string]$Name, [string]$Synonym = $Name, [string]$SrcDir = "src" ) $ErrorActionPreference = "Stop" [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 [Console]::InputEncoding = [System.Text.Encoding]::UTF8 $uuid1 = [guid]::NewGuid().ToString() $uuid2 = [guid]::NewGuid().ToString() $uuid3 = [guid]::NewGuid().ToString() $uuid4 = [guid]::NewGuid().ToString() $xml = @" c3831ec8-d8d5-4f93-8a22-f9bfae07327f $uuid2 $uuid3 $uuid4 $Name ru $Synonym "@ $rootFile = Join-Path $SrcDir "$Name.xml" $processorDir = Join-Path $SrcDir $Name if (Test-Path $rootFile) { Write-Error "Файл уже существует: $rootFile" exit 1 } if (-not (Test-Path $SrcDir)) { New-Item -ItemType Directory -Path $SrcDir -Force | Out-Null } $extDir = Join-Path $processorDir "Ext" New-Item -ItemType Directory -Path $extDir -Force | Out-Null $enc = New-Object System.Text.UTF8Encoding($true) [System.IO.File]::WriteAllText((Resolve-Path $SrcDir | Join-Path -ChildPath "$Name.xml"), $xml, $enc) # --- Модуль объекта --- $moduleBsl = @" #Область ОписаниеПеременных #КонецОбласти #Область ПрограммныйИнтерфейс #КонецОбласти #Область СлужебныеПроцедурыИФункции #КонецОбласти "@ $modulePath = Join-Path $extDir "ObjectModule.bsl" [System.IO.File]::WriteAllText($modulePath, $moduleBsl, $enc) Write-Host "[OK] Создана обработка: $rootFile" Write-Host " Каталог: $processorDir" Write-Host " Модуль: $modulePath"