diff --git a/.claude/skills/cfe-borrow/SKILL.md b/.claude/skills/cfe-borrow/SKILL.md index 032b8406..f7586e17 100644 --- a/.claude/skills/cfe-borrow/SKILL.md +++ b/.claude/skills/cfe-borrow/SKILL.md @@ -41,7 +41,7 @@ allowed-tools: - `Enum.ВидыОплат` — перечисление - `Catalog.Контрагенты.Form.ФормаЭлемента` — форма объекта (заимствование формы) - `Catalog.X ;; CommonModule.Y ;; Enum.Z` — несколько объектов -Поддерживаются все 44 типа объектов конфигурации. +Поддерживаются все 45 типов объектов конфигурации из таблицы `ChildObjects` (включая `Bot` и `Language`). ### Заимствование форм diff --git a/.claude/skills/interface-edit/scripts/interface-edit.ps1 b/.claude/skills/interface-edit/scripts/interface-edit.ps1 index f7f89f99..1a02d931 100644 --- a/.claude/skills/interface-edit/scripts/interface-edit.ps1 +++ b/.claude/skills/interface-edit/scripts/interface-edit.ps1 @@ -1,4 +1,4 @@ -# interface-edit v1.14 — Edit 1C CommandInterface.xml (+detect_format_version: ветка автономной EPF/ERF) +# interface-edit v1.15 — Edit 1C CommandInterface.xml (+русские алиасы типов: формы с ё и без) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)][Alias('Path')][string]$CIPath, @@ -396,6 +396,10 @@ $script:typeNormMap = @{ "ПланОбмена"="ExchangePlan"; "ЖурналДокументов"="DocumentJournal" "ОбщийМодуль"="CommonModule"; "ОбщаяКоманда"="CommonCommand" "ОбщаяФорма"="CommonForm"; "Подсистема"="Subsystem" + "РегистрРасчёта"="CalculationRegister"; "РегистрРасчета"="CalculationRegister" + "ПланВидовРасчёта"="ChartOfCalculationTypes"; "ПланВидовРасчета"="ChartOfCalculationTypes" + "Роль"="Role"; "ОбщийМакет"="CommonTemplate"; "ЭлементСтиля"="StyleItem" + "ОбщийРеквизит"="CommonAttribute"; "ГруппаКоманд"="CommandGroup" # Russian plural "Справочники"="Catalog"; "Документы"="Document"; "Перечисления"="Enum" "Константы"="Constant"; "Отчёты"="Report"; "Отчеты"="Report"; "Обработки"="DataProcessor" @@ -405,6 +409,10 @@ $script:typeNormMap = @{ "БизнесПроцессы"="BusinessProcess"; "Задачи"="Task" "ПланыОбмена"="ExchangePlan"; "ЖурналыДокументов"="DocumentJournal" "Подсистемы"="Subsystem" + "РегистрыРасчёта"="CalculationRegister"; "РегистрыРасчета"="CalculationRegister" + "ПланыВидовРасчёта"="ChartOfCalculationTypes"; "ПланыВидовРасчета"="ChartOfCalculationTypes" + "Роли"="Role"; "ОбщиеМакеты"="CommonTemplate"; "ЭлементыСтиля"="StyleItem" + "ОбщиеРеквизиты"="CommonAttribute"; "ГруппыКоманд"="CommandGroup" } function Normalize-CmdName([string]$name) { diff --git a/.claude/skills/interface-edit/scripts/interface-edit.py b/.claude/skills/interface-edit/scripts/interface-edit.py index 2cafeaae..b149104c 100644 --- a/.claude/skills/interface-edit/scripts/interface-edit.py +++ b/.claude/skills/interface-edit/scripts/interface-edit.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# interface-edit v1.14 — Edit 1C CommandInterface.xml (+detect_format_version: ветка автономной EPF/ERF) +# interface-edit v1.15 — Edit 1C CommandInterface.xml (+русские алиасы типов: формы с ё и без) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -368,6 +368,10 @@ TYPE_NORM_MAP = { 'ПланОбмена': 'ExchangePlan', 'ЖурналДокументов': 'DocumentJournal', 'ОбщийМодуль': 'CommonModule', 'ОбщаяКоманда': 'CommonCommand', 'ОбщаяФорма': 'CommonForm', 'Подсистема': 'Subsystem', + 'РегистрРасчёта': 'CalculationRegister', 'РегистрРасчета': 'CalculationRegister', + 'ПланВидовРасчёта': 'ChartOfCalculationTypes', 'ПланВидовРасчета': 'ChartOfCalculationTypes', + 'Роль': 'Role', 'ОбщийМакет': 'CommonTemplate', 'ЭлементСтиля': 'StyleItem', + 'ОбщийРеквизит': 'CommonAttribute', 'ГруппаКоманд': 'CommandGroup', # Russian plural 'Справочники': 'Catalog', 'Документы': 'Document', 'Перечисления': 'Enum', 'Константы': 'Constant', 'Отчёты': 'Report', 'Отчеты': 'Report', 'Обработки': 'DataProcessor', @@ -377,6 +381,10 @@ TYPE_NORM_MAP = { 'БизнесПроцессы': 'BusinessProcess', 'Задачи': 'Task', 'ПланыОбмена': 'ExchangePlan', 'ЖурналыДокументов': 'DocumentJournal', 'Подсистемы': 'Subsystem', + 'РегистрыРасчёта': 'CalculationRegister', 'РегистрыРасчета': 'CalculationRegister', + 'ПланыВидовРасчёта': 'ChartOfCalculationTypes', 'ПланыВидовРасчета': 'ChartOfCalculationTypes', + 'Роли': 'Role', 'ОбщиеМакеты': 'CommonTemplate', 'ЭлементыСтиля': 'StyleItem', + 'ОбщиеРеквизиты': 'CommonAttribute', 'ГруппыКоманд': 'CommandGroup', } diff --git a/.claude/skills/role-compile/scripts/role-compile.ps1 b/.claude/skills/role-compile/scripts/role-compile.ps1 index 44816434..5dfe6264 100644 --- a/.claude/skills/role-compile/scripts/role-compile.ps1 +++ b/.claude/skills/role-compile/scripts/role-compile.ps1 @@ -1,4 +1,4 @@ -# role-compile v1.21 — Compile 1C role from JSON (+write_xml_file/write_utf8_bom: общий эталон записи) +# role-compile v1.22 — Compile 1C role from JSON (+русские алиасы типов: формы с ё и без) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -193,15 +193,18 @@ $script:typeAliases = @{ "РегистрНакопления" = "AccumulationRegister" "РегистрБухгалтерии" = "AccountingRegister" "РегистрРасчета" = "CalculationRegister" + "РегистрРасчёта" = "CalculationRegister" "Константа" = "Constant" "ПланСчетов" = "ChartOfAccounts" "ПланВидовХарактеристик" = "ChartOfCharacteristicTypes" "ПланВидовРасчета" = "ChartOfCalculationTypes" + "ПланВидовРасчёта" = "ChartOfCalculationTypes" "ПланОбмена" = "ExchangePlan" "БизнесПроцесс" = "BusinessProcess" "Задача" = "Task" "Обработка" = "DataProcessor" "Отчет" = "Report" + "Отчёт" = "Report" "ОбщаяФорма" = "CommonForm" "ОбщаяКоманда" = "CommonCommand" "Подсистема" = "Subsystem" diff --git a/.claude/skills/role-compile/scripts/role-compile.py b/.claude/skills/role-compile/scripts/role-compile.py index 3649b26d..a912cbe7 100644 --- a/.claude/skills/role-compile/scripts/role-compile.py +++ b/.claude/skills/role-compile/scripts/role-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# role-compile v1.21 — Compile 1C role from JSON (+write_xml_file/write_utf8_bom: общий эталон записи) +# role-compile v1.22 — Compile 1C role from JSON (+русские алиасы типов: формы с ё и без) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -271,15 +271,18 @@ TYPE_ALIASES = { "РегистрНакопления": "AccumulationRegister", "РегистрБухгалтерии": "AccountingRegister", "РегистрРасчета": "CalculationRegister", + "РегистрРасчёта": "CalculationRegister", "Константа": "Constant", "ПланСчетов": "ChartOfAccounts", "ПланВидовХарактеристик": "ChartOfCharacteristicTypes", "ПланВидовРасчета": "ChartOfCalculationTypes", + "ПланВидовРасчёта": "ChartOfCalculationTypes", "ПланОбмена": "ExchangePlan", "БизнесПроцесс": "BusinessProcess", "Задача": "Task", "Обработка": "DataProcessor", "Отчет": "Report", + "Отчёт": "Report", "ОбщаяФорма": "CommonForm", "ОбщаяКоманда": "CommonCommand", "Подсистема": "Subsystem", diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/CalculationRegisters/Начисления.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/CalculationRegisters/Начисления.xml new file mode 100644 index 00000000..04a4607c --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/CalculationRegisters/Начисления.xml @@ -0,0 +1,220 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + Начисления + + + ru + Начисления + + + + true + + + Month + false + false + + + + ChartOfCalculationTypes.ВидыРасчета + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + Managed + Use + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/CalculationRegisters/Начисления/Ext/RecordSetModule.bsl b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/CalculationRegisters/Начисления/Ext/RecordSetModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/ChartsOfCalculationTypes/ВидыРасчета.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/ChartsOfCalculationTypes/ВидыРасчета.xml new file mode 100644 index 00000000..6b27b1f3 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/ChartsOfCalculationTypes/ВидыРасчета.xml @@ -0,0 +1,379 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + UUID-016 + UUID-017 + + + UUID-018 + UUID-019 + + + UUID-020 + UUID-021 + + + UUID-022 + UUID-023 + + + + ВидыРасчета + + + ru + Виды расчета + + + + true + 5 + 100 + String + Variable + AsDescription + InDialog + false + BothWays + + ChartOfCalculationTypes.ВидыРасчета.StandardAttribute.Description + ChartOfCalculationTypes.ВидыРасчета.StandardAttribute.Code + + Begin + DontUse + Directly + DontUse + Auto + + + + + + + + DontUse + + false + + + + + + + Ведущие виды расчета + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + + Вытесняющие виды расчета + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + + Базовые виды расчета + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + Auto + false + + Managed + Use + + + + + + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/ChartsOfCalculationTypes/ВидыРасчета/Ext/ObjectModule.bsl b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/ChartsOfCalculationTypes/ВидыРасчета/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Configuration.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Configuration.xml new file mode 100644 index 00000000..738fbc38 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Configuration.xml @@ -0,0 +1,255 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + ВидыРасчета + Начисления + Сводный + РольАлиасы + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Languages/Русский.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Reports/Сводный.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Reports/Сводный.xml new file mode 100644 index 00000000..00a4c5e1 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Reports/Сводный.xml @@ -0,0 +1,38 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + + Сводный + + + ru + Сводный + + + + true + + + + + + + + + false + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Reports/Сводный/Ext/ManagerModule.bsl b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Reports/Сводный/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Reports/Сводный/Ext/ObjectModule.bsl b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Reports/Сводный/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Roles/РольАлиасы.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Roles/РольАлиасы.xml new file mode 100644 index 00000000..c7385d5a --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Roles/РольАлиасы.xml @@ -0,0 +1,15 @@ + + + + + РольАлиасы + + + ru + РольАлиасы + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Roles/РольАлиасы/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Roles/РольАлиасы/Ext/Rights.xml new file mode 100644 index 00000000..58208265 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/type-aliases-yo/Roles/РольАлиасы/Ext/Rights.xml @@ -0,0 +1,27 @@ + + + false + true + false + + CalculationRegister.Начисления + + Read + true + + + + ChartOfCalculationTypes.ВидыРасчета + + Read + true + + + + Report.Сводный + + View + true + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/type-aliases-yo.json b/tests/skills/cases/role-compile/type-aliases-yo.json new file mode 100644 index 00000000..5af62da3 --- /dev/null +++ b/tests/skills/cases/role-compile/type-aliases-yo.json @@ -0,0 +1,37 @@ +{ + "name": "Русские имена типов принимаются в обеих формах — с ё и без", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": [ + { "type": "ChartOfCalculationTypes", "name": "ВидыРасчета" }, + { "type": "CalculationRegister", "name": "Начисления", "chartOfCalculationTypes": "ChartOfCalculationTypes.ВидыРасчета" }, + { "type": "Report", "name": "Сводный" } + ], + "args": { + "-JsonPath": "{inputFile}", + "-OutputDir": "{workDir}" + } + } + ], + "input": { + "name": "РольАлиасы", + "objects": [ + "РегистрРасчёта.Начисления: Read", + "ПланВидовРасчёта.ВидыРасчета: Read", + "Отчёт.Сводный: View" + ] + }, + "validatePath": "Roles/РольАлиасы", + "expect": { + "files": ["Roles/РольАлиасы/Ext/Rights.xml"], + "fileContains": { + "file": "Roles/РольАлиасы/Ext/Rights.xml", + "text": [ + "CalculationRegister.Начисления", + "ChartOfCalculationTypes.ВидыРасчета", + "Report.Сводный" + ] + } + } +}