fix(skills): пишущие навыки — запрет позиционного связывания параметров

Значение с пробелом без кавычек разрывалось на токены, и лишние молча растекались по свободным
позиционным параметрам. На документированной форме вызова (powershell -NoProfile -File):

  form-compile.ps1 -JsonPath a.json -OutputPath b.xml -Purpose Форма списка
  → Purpose=[Форма] ObjectPath=[списка], ошибки НЕТ

Навык отрабатывал успешно с усечённым значением; реальный триггер — путь с пробелом в -EmitDsl
или -ObjectPath, результат уезжал не туда молча. У навыков с парой -DefinitionFile/-Operation
осколок уезжал в -DefinitionFile, и навык жаловался на параметр, которого в команде не было.

Расхождение портов: py на том же вызове отвечает «unrecognized arguments: списка» — там все
аргументы объявлены опциями. Правка выравнивает PS по py, python не менялся.

41 навык получает [CmdletBinding(PositionalBinding=$false)] и ни одного позиционного параметра.
Без Position=0 (в отличие от read-only навыков): «главный» параметр механически не выводится —
у meta-edit первым объявлен -DefinitionFile, а путь к объекту вторым, — а ошибка выбора тестами
не ловится, раннер передаёт только именованные флаги. Позиционной формы вызова нет ни в одной из
140 строк SKILL.md, внутренние вызовы навыков друг из друга тоже именованные.

check-positional-binding.mjs расширен на пишущие навыки статической проверкой. Поведенческая
(канареечный файл) остаётся только у read-only: у web-stop и db-run все параметры
Mandatory=$false, связывание прошло бы и тело выполнилось — гард остановил бы Apache и запустил 1С.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-21 18:24:58 +03:00
co-authored by Claude Opus 5
parent 77ee8f1047
commit 0a0322faab
83 changed files with 159 additions and 106 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
# cf-edit v1.22 — Edit 1C configuration root (Configuration.xml)
# cf-edit v1.23 — Edit 1C configuration root (Configuration.xml)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)][Alias('Path')][string]$ConfigPath,
[string]$DefinitionFile,
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# cf-edit v1.22 — Edit 1C configuration root (Configuration.xml)
# cf-edit v1.23 — Edit 1C configuration root (Configuration.xml)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
+2 -1
View File
@@ -1,5 +1,6 @@
# cf-init v1.14 — Create empty 1C configuration scaffold (+write_xml_file/write_utf8_bom: общий эталон записи)
# cf-init v1.15 — Create empty 1C configuration scaffold (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$Name,
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# cf-init v1.14 — Create empty 1C configuration scaffold (+write_xml_file/write_utf8_bom: общий эталон записи)
# cf-init v1.15 — Create empty 1C configuration scaffold (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
"""Generates minimal XML source files for a 1C configuration."""
import sys, os, argparse, re, uuid
@@ -1,5 +1,6 @@
# cfe-borrow v1.32 — Borrow objects from configuration into extension (CFE)
# cfe-borrow v1.33 — Borrow objects from configuration into extension (CFE)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)][string]$ExtensionPath,
[Parameter(Mandatory)][string]$ConfigPath,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# cfe-borrow v1.32 — Borrow objects from configuration into extension (CFE)
# cfe-borrow v1.33 — Borrow objects from configuration into extension (CFE)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
+2 -1
View File
@@ -1,5 +1,6 @@
# cfe-init v1.10 — Create 1C configuration extension scaffold (CFE) (+write_xml_file/write_utf8_bom: общий эталон записи)
# cfe-init v1.11 — Create 1C configuration extension scaffold (CFE) (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$Name,
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# cfe-init v1.10 — Create 1C configuration extension scaffold (CFE) (+write_xml_file/write_utf8_bom: общий эталон записи)
# cfe-init v1.11 — Create 1C configuration extension scaffold (CFE) (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
"""Generates minimal XML source files for a 1C configuration extension."""
import sys, os, re, argparse, uuid
@@ -1,5 +1,6 @@
# cfe-patch-method v2.8 — Source-aware method interceptor for 1C extension (CFE)
# cfe-patch-method v2.9 — Source-aware method interceptor for 1C extension (CFE)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$ExtensionPath,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# cfe-patch-method v2.8 — Source-aware method interceptor for 1C extension (CFE)
# cfe-patch-method v2.9 — Source-aware method interceptor for 1C extension (CFE)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-create v1.11 — Create 1C information base
# db-create v1.12 — Create 1C information base
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -46,7 +46,7 @@
.\db-create.ps1 -InfoBasePath "C:\Bases\NewDB" -UseTemplate "C:\Templates\config.cf" -AddToList -ListName "Новая база"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-create v1.11 — Create 1C information base
# db-create v1.12 — Create 1C information base
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-dump-cf v1.13 — Dump 1C configuration to CF file
# db-dump-cf v1.14 — Dump 1C configuration to CF file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -49,7 +49,7 @@
.\db-dump-cf.ps1 -InfoBasePath "C:\Bases\MyDB" -OutputFile "ext.cfe" -Extension "МоёРасширение"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-dump-cf v1.13 — Dump 1C configuration to CF file
# db-dump-cf v1.14 — Dump 1C configuration to CF file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-dump-dt v1.12 — Dump 1C information base to DT file
# db-dump-dt v1.13 — Dump 1C information base to DT file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -39,7 +39,7 @@
.\db-dump-dt.ps1 -InfoBasePath "C:\Bases\MyDB" -OutputFile "backup.dt"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-dump-dt v1.12 — Dump 1C information base to DT file
# db-dump-dt v1.13 — Dump 1C information base to DT file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-dump-xml v1.15 — Dump 1C configuration to XML files
# db-dump-xml v1.16 — Dump 1C configuration to XML files
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -61,7 +61,7 @@
.\db-dump-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\src" -Mode Partial -Objects "Справочник.Номенклатура,Документ.Заказ"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-dump-xml v1.15 — Dump 1C configuration to XML files
# db-dump-xml v1.16 — Dump 1C configuration to XML files
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-load-cf v1.14 — Load 1C configuration from CF file
# db-load-cf v1.15 — Load 1C configuration from CF file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -49,7 +49,7 @@
.\db-load-cf.ps1 -InfoBasePath "C:\Bases\MyDB" -InputFile "ext.cfe" -Extension "МоёРасширение"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-cf v1.14 — Load 1C configuration from CF file
# db-load-cf v1.15 — Load 1C configuration from CF file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-load-dt v1.13 — Load 1C information base from DT file
# db-load-dt v1.14 — Load 1C information base from DT file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -46,7 +46,7 @@
.\db-load-dt.ps1 -InfoBasePath "C:\Bases\MyDB" -InputFile "backup.dt"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-dt v1.13 — Load 1C information base from DT file
# db-load-dt v1.14 — Load 1C information base from DT file
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-load-git v1.20 — Load Git changes into 1C database
# db-load-git v1.21 — Load Git changes into 1C database
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -64,7 +64,7 @@
.\db-load-git.ps1 -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\src" -DryRun
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-git v1.20 — Load Git changes into 1C database
# db-load-git v1.21 — Load Git changes into 1C database
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-load-xml v1.21 — Load 1C configuration from XML files
# db-load-xml v1.22 — Load 1C configuration from XML files
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -61,7 +61,7 @@
.\db-load-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\src" -Mode Partial -Files "Catalogs/Номенклатура.xml,Catalogs/Номенклатура/Ext/ObjectModule.bsl"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-xml v1.21 — Load 1C configuration from XML files
# db-load-xml v1.22 — Load 1C configuration from XML files
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
+2 -2
View File
@@ -1,4 +1,4 @@
# db-run v1.8 — Launch 1C:Enterprise
# db-run v1.9 — Launch 1C:Enterprise
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -52,7 +52,7 @@
.\db-run.ps1 -InfoBasePath "C:\Bases\MyDB" -CParam "ЗапуститьОбновление"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-run v1.8 — Launch 1C:Enterprise
# db-run v1.9 — Launch 1C:Enterprise
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# db-update v1.15 — Update 1C database configuration
# db-update v1.16 — Update 1C database configuration
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -55,7 +55,7 @@
.\db-update.ps1 -InfoBasePath "C:\Bases\MyDB" -Dynamic "+" -Extension "МоёРасширение"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-update v1.15 — Update 1C database configuration
# db-update v1.16 — Update 1C database configuration
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# epf-build v1.13 — Build external data processor or report (EPF/ERF) from XML sources
# epf-build v1.14 — Build external data processor or report (EPF/ERF) from XML sources
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -46,7 +46,7 @@
.\epf-build.ps1 -InfoBasePath "C:\Bases\MyDB" -SourceFile "src\МойОтчёт.xml" -OutputFile "build\МойОтчёт.erf"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# epf-build v1.13 — Build external data processor or report (EPF/ERF) from XML sources
# epf-build v1.14 — Build external data processor or report (EPF/ERF) from XML sources
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
+2 -2
View File
@@ -1,4 +1,4 @@
# epf-dump v1.12 — Dump external data processor or report (EPF/ERF) to XML sources
# epf-dump v1.13 — Dump external data processor or report (EPF/ERF) to XML sources
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: *nix-раскладку платформы (/opt/1cv8/<ver>/1cv8, без .exe) знает только .py-порт — PS на *nix не исполняется.
<#
@@ -49,7 +49,7 @@
.\epf-dump.ps1 -InfoBasePath "C:\Bases\MyDB" -InputFile "build\МойОтчёт.erf" -OutputDir "src"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# epf-dump v1.12 — Dump external data processor or report (EPF/ERF) to XML sources
# epf-dump v1.13 — Dump external data processor or report (EPF/ERF) to XML sources
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
+2 -1
View File
@@ -1,5 +1,6 @@
# form-add v1.26 — Add managed form to 1C config object (+write_xml_file/write_utf8_bom: общий эталон записи)
# form-add v1.27 — Add managed form to 1C config object (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$ObjectPath,
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# form-add v1.26 — Add managed form to 1C config object (+write_xml_file/write_utf8_bom: общий эталон записи)
# form-add v1.27 — Add managed form to 1C config object (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,5 +1,6 @@
# form-compile v1.195 — Compile 1C managed form from JSON or object metadata (гвард на группу additionalColumns без ключа columns)
# form-compile v1.196 — Compile 1C managed form from JSON or object metadata (гвард на группу additionalColumns без ключа columns)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[string]$JsonPath,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# form-compile v1.195 — Compile 1C managed form from JSON or object metadata (гвард на группу additionalColumns без ключа columns)
# form-compile v1.196 — Compile 1C managed form from JSON or object metadata (гвард на группу additionalColumns без ключа columns)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import copy
@@ -1,6 +1,7 @@
# form-decompile v0.149 — Decompile 1C managed Form.xml to JSON DSL (draft)
# form-decompile v0.150 — Decompile 1C managed Form.xml to JSON DSL (draft)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[Alias('Path')]
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# form-decompile v0.149 — Decompile 1C managed Form.xml to JSON DSL (draft)
# form-decompile v0.150 — Decompile 1C managed Form.xml to JSON DSL (draft)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
#
@@ -1,5 +1,6 @@
# form-edit v1.17 — Edit 1C managed form elements (+esc_xml/esc_xml_text: разное экранирование атрибута и текста)
# form-edit v1.18 — Edit 1C managed form elements (+esc_xml/esc_xml_text: разное экранирование атрибута и текста)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[Alias('Path')]
@@ -1,4 +1,4 @@
# form-edit v1.17 — Edit 1C managed form elements (Python port) (+esc_xml/esc_xml_text: разное экранирование атрибута и текста)
# form-edit v1.18 — Edit 1C managed form elements (Python port) (+esc_xml/esc_xml_text: разное экранирование атрибута и текста)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1,5 +1,6 @@
# interface-edit v1.21 — Edit 1C CommandInterface.xml (+русские алиасы типов: формы с ё и без)
# interface-edit v1.22 — Edit 1C CommandInterface.xml (+русские алиасы типов: формы с ё и без)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)][Alias('Path')][string]$CIPath,
[string]$DefinitionFile,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# interface-edit v1.21 — Edit 1C CommandInterface.xml (+русские алиасы типов: формы с ё и без)
# interface-edit v1.22 — Edit 1C CommandInterface.xml (+русские алиасы типов: формы с ё и без)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,5 +1,6 @@
# meta-compile v1.98 — Compile 1C metadata object from JSON
# meta-compile v1.99 — Compile 1C metadata object from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$JsonPath,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# meta-compile v1.98 — Compile 1C metadata object from JSON
# meta-compile v1.99 — Compile 1C metadata object from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,10 +1,11 @@
# meta-decompile v0.64 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
# meta-decompile v0.65 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
#
# Поддержаны: Catalog, ExchangePlan, ChartOfCharacteristicTypes, ChartOfAccounts, ChartOfCalculationTypes, Document,
# InformationRegister, AccumulationRegister, AccountingRegister, CalculationRegister, BusinessProcess, Task, Enum. Инверс meta-compile (omit-on-default: ключ эмитим только
# когда значение в XML отличается от умолчания компилятора). Неподдерживаемый тип / не-MetaDataObject
# root → exit 3 (ring3, как form-decompile).
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[Alias('Path')]
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# meta-decompile v0.64 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
# meta-decompile v0.65 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
#
# Зеркало meta-decompile.ps1 (КАНОН). Структура 1:1 — те же имена функций, порядок, комментарии.
@@ -1,5 +1,6 @@
# meta-edit v1.41 — Edit existing 1C metadata object XML
# meta-edit v1.42 — Edit existing 1C metadata object XML
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[string]$DefinitionFile,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# meta-edit v1.41 — Edit existing 1C metadata object XML
# meta-edit v1.42 — Edit existing 1C metadata object XML
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,5 +1,6 @@
# meta-remove v1.10 — Remove metadata object from 1C configuration dump
# meta-remove v1.11 — Remove metadata object from 1C configuration dump
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$ConfigDir,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# meta-remove v1.10 — Remove metadata object from 1C configuration dump
# meta-remove v1.11 — Remove metadata object from 1C configuration dump
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,5 +1,6 @@
# mxl-compile v1.54 — Compile 1C spreadsheet from JSON
# mxl-compile v1.55 — Compile 1C spreadsheet from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$JsonPath,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# mxl-compile v1.54 — Compile 1C spreadsheet from JSON
# mxl-compile v1.55 — Compile 1C spreadsheet from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import hashlib
@@ -1,5 +1,6 @@
# mxl-decompile v1.30 — Decompile 1C spreadsheet to JSON
# mxl-decompile v1.31 — Decompile 1C spreadsheet to JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[Alias('Path')]
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# mxl-decompile v1.30 — Decompile 1C spreadsheet to JSON
# mxl-decompile v1.31 — Decompile 1C spreadsheet to JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,5 +1,6 @@
# role-compile v1.31 — Compile 1C role from JSON
# role-compile v1.32 — Compile 1C role from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[string]$JsonPath,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# role-compile v1.31 — Compile 1C role from JSON
# role-compile v1.32 — Compile 1C role from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1,5 +1,6 @@
# skd-compile v1.120 — Compile 1C DCS from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
# skd-compile v1.121 — Compile 1C DCS from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[string]$DefinitionFile,
[string]$Value,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# skd-compile v1.120 — Compile 1C DCS from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
# skd-compile v1.121 — Compile 1C DCS from JSON (+write_xml_file/write_utf8_bom: общий эталон записи)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1,5 +1,6 @@
# skd-decompile v0.95 — Decompile 1C DCS Template.xml to JSON DSL (draft)
# skd-decompile v0.96 — Decompile 1C DCS Template.xml to JSON DSL (draft)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[Alias('Path')]
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# skd-decompile v0.95 — Decompile 1C DCS Template.xml to JSON DSL (draft)
# skd-decompile v0.96 — Decompile 1C DCS Template.xml to JSON DSL (draft)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import os
+2 -1
View File
@@ -1,6 +1,7 @@
# skd-edit v1.38 — Atomic 1C DCS editor
# skd-edit v1.39 — Atomic 1C DCS editor
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: парный .py собирает выражения автодат вне f-string ради совместимости с python 3.9 (PEP 701).
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)]
[Alias('Path')]
+1 -1
View File
@@ -1,4 +1,4 @@
# skd-edit v1.38 — Atomic 1C DCS editor (Python port)
# skd-edit v1.39 — Atomic 1C DCS editor (Python port)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1,5 +1,6 @@
# subsystem-compile v1.29 — Create 1C subsystem from JSON definition
# subsystem-compile v1.30 — Create 1C subsystem from JSON definition
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[string]$DefinitionFile,
[string]$Value,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# subsystem-compile v1.29 — Create 1C subsystem from JSON definition
# subsystem-compile v1.30 — Create 1C subsystem from JSON definition
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1,5 +1,6 @@
# subsystem-edit v1.24 — Edit existing 1C subsystem XML (+тип Bot; cfe-diff/cfe-borrow: недостающие типы)
# subsystem-edit v1.25 — Edit existing 1C subsystem XML (+тип Bot; cfe-diff/cfe-borrow: недостающие типы)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory)][Alias('Path')][string]$SubsystemPath,
[string]$DefinitionFile,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# subsystem-edit v1.24 — Edit existing 1C subsystem XML (+тип Bot; cfe-diff/cfe-borrow: недостающие типы)
# subsystem-edit v1.25 — Edit existing 1C subsystem XML (+тип Bot; cfe-diff/cfe-borrow: недостающие типы)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,5 +1,6 @@
# support-edit v1.1 — Toggle 1C configuration support state (Ext/ParentConfigurations.bin)
# support-edit v1.2 — Toggle 1C configuration support state (Ext/ParentConfigurations.bin)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$true)][Alias('Path')][string]$TargetPath,
[ValidateSet("editable","off-support","locked")]
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# support-edit v1.1 — Toggle 1C configuration support state (Ext/ParentConfigurations.bin)
# support-edit v1.2 — Toggle 1C configuration support state (Ext/ParentConfigurations.bin)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -1,4 +1,4 @@
# web-publish v1.7 — Publish 1C infobase via Apache (+_version_dir/_version_key: общий эталон db-семейства)
# web-publish v1.8 — Publish 1C infobase via Apache (+_version_dir/_version_key: общий эталон db-семейства)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
<#
.SYNOPSIS
@@ -49,7 +49,7 @@
.\web-publish.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -Manual
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$V8Path,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# web-publish v1.7 — Publish 1C infobase via Apache (+_version_dir/_version_key: общий эталон db-семейства)
# web-publish v1.8 — Publish 1C infobase via Apache (+_version_dir/_version_key: общий эталон db-семейства)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
"""
+2 -2
View File
@@ -1,4 +1,4 @@
# web-stop v1.1 — Stop Apache HTTP Server
# web-stop v1.2 — Stop Apache HTTP Server
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
<#
.SYNOPSIS
@@ -18,7 +18,7 @@
.\web-stop.ps1 -ApachePath "C:\tools\apache24"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$ApachePath
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# web-stop v1.1 — Stop Apache HTTP Server
# web-stop v1.2 — Stop Apache HTTP Server
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
"""
@@ -1,4 +1,4 @@
# web-unpublish v1.1 — Remove 1C web publication
# web-unpublish v1.2 — Remove 1C web publication
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
<#
.SYNOPSIS
@@ -28,7 +28,7 @@
.\web-unpublish.ps1 -AppName "bpdemo" -ApachePath "C:\tools\apache24"
#>
[CmdletBinding()]
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$false)]
[string]$AppName,
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# web-unpublish v1.1 — Remove 1C web publication
# web-unpublish v1.2 — Remove 1C web publication
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
"""
@@ -1,5 +1,6 @@
# xdto-compile v1.11 — Build a 1C XDTO package from an XML Schema (XSD) (+support-guard: общая реализация вместо урезанной)
# xdto-compile v1.12 — Build a 1C XDTO package from an XML Schema (XSD) (+support-guard: общая реализация вместо урезанной)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$true, ParameterSetName='File')]
[Alias('Path')]
@@ -1,4 +1,4 @@
# xdto-compile v1.11 — Build a 1C XDTO package from an XML Schema (XSD) (Python port) (+support-guard: общая реализация вместо урезанной)
# xdto-compile v1.12 — Build a 1C XDTO package from an XML Schema (XSD) (Python port) (+support-guard: общая реализация вместо урезанной)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1,5 +1,6 @@
# xdto-decompile v1.1 — Convert 1C XDTO package to XML Schema (XSD)
# xdto-decompile v1.2 — Convert 1C XDTO package to XML Schema (XSD)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$true)]
[Alias('Path')]
@@ -1,4 +1,4 @@
# xdto-decompile v1.1 — Convert 1C XDTO package to XML Schema (XSD) (Python port)
# xdto-decompile v1.2 — Convert 1C XDTO package to XML Schema (XSD) (Python port)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import os
@@ -1,5 +1,6 @@
# xdto-edit v1.6 — Point edits of a 1C XDTO package (+support-guard: общая реализация вместо урезанной)
# xdto-edit v1.7 — Point edits of a 1C XDTO package (+support-guard: общая реализация вместо урезанной)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$true)]
[Alias('Path')]
@@ -1,4 +1,4 @@
# xdto-edit v1.6 — Point edits of a 1C XDTO package (Python port) (+support-guard: общая реализация вместо урезанной)
# xdto-edit v1.7 — Point edits of a 1C XDTO package (Python port) (+support-guard: общая реализация вместо урезанной)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json