From 086dd927873b16e9c88de1ef64e69b8fd2dcf4bc Mon Sep 17 00:00:00 2001 From: MiMoCode Date: Sun, 12 Jul 2026 19:26:11 +0000 Subject: [PATCH] Initial: mimocode-1c-skills adapted from cc-1c-skills --- .../skills/1c-specs/1c-config-objects-spec.md | 1832 +++++ .../skills/1c-specs/1c-configuration-spec.md | 1026 +++ .claude/skills/1c-specs/1c-extension-spec.md | 1240 +++ .claude/skills/1c-specs/1c-form-spec.md | 1220 +++ .claude/skills/1c-specs/build-spec.md | 362 + .claude/skills/cf-edit/SKILL.md | 60 + .claude/skills/cf-edit/reference.md | 150 + .claude/skills/cf-edit/scripts/cf-edit.ps1 | 990 +++ .claude/skills/cf-edit/scripts/cf-edit.py | 986 +++ .claude/skills/cf-info/SKILL.md | 54 + .claude/skills/cf-info/scripts/cf-info.ps1 | 655 ++ .claude/skills/cf-info/scripts/cf-info.py | 634 ++ .claude/skills/cf-init/SKILL.md | 49 + .claude/skills/cf-init/scripts/cf-init.ps1 | 249 + .claude/skills/cf-init/scripts/cf-init.py | 233 + .claude/skills/cf-validate/SKILL.md | 29 + .../cf-validate/scripts/cf-validate.ps1 | 612 ++ .../skills/cf-validate/scripts/cf-validate.py | 601 ++ .claude/skills/cfe-borrow/SKILL.md | 101 + .../skills/cfe-borrow/scripts/cfe-borrow.ps1 | 1866 +++++ .../skills/cfe-borrow/scripts/cfe-borrow.py | 1648 ++++ .claude/skills/cfe-diff/SKILL.md | 57 + .claude/skills/cfe-diff/scripts/cfe-diff.ps1 | 471 ++ .claude/skills/cfe-diff/scripts/cfe-diff.py | 540 ++ .claude/skills/cfe-init/SKILL.md | 71 + .claude/skills/cfe-init/scripts/cfe-init.ps1 | 279 + .claude/skills/cfe-init/scripts/cfe-init.py | 256 + .claude/skills/cfe-patch-method/SKILL.md | 78 + .../scripts/cfe-patch-method.ps1 | 209 + .../scripts/cfe-patch-method.py | 247 + .claude/skills/cfe-validate/SKILL.md | 29 + .../cfe-validate/scripts/cfe-validate.ps1 | 939 +++ .../cfe-validate/scripts/cfe-validate.py | 894 +++ .claude/skills/db-create/SKILL.md | 70 + .../skills/db-create/scripts/db-create.ps1 | 249 + .claude/skills/db-create/scripts/db-create.py | 226 + .claude/skills/db-dump-cf/SKILL.md | 68 + .../skills/db-dump-cf/scripts/db-dump-cf.ps1 | 253 + .../skills/db-dump-cf/scripts/db-dump-cf.py | 230 + .claude/skills/db-dump-dt/SKILL.md | 72 + .../skills/db-dump-dt/scripts/db-dump-dt.ps1 | 226 + .../skills/db-dump-dt/scripts/db-dump-dt.py | 217 + .claude/skills/db-dump-xml/SKILL.md | 90 + .../db-dump-xml/scripts/db-dump-xml.ps1 | 323 + .../skills/db-dump-xml/scripts/db-dump-xml.py | 285 + .claude/skills/db-list/SKILL.md | 158 + .claude/skills/db-load-cf/SKILL.md | 73 + .../skills/db-load-cf/scripts/db-load-cf.ps1 | 253 + .../skills/db-load-cf/scripts/db-load-cf.py | 230 + .claude/skills/db-load-dt/SKILL.md | 92 + .../skills/db-load-dt/scripts/db-load-dt.ps1 | 242 + .../skills/db-load-dt/scripts/db-load-dt.py | 225 + .claude/skills/db-load-git/SKILL.md | 77 + .../db-load-git/scripts/db-load-git.ps1 | 477 ++ .../skills/db-load-git/scripts/db-load-git.py | 420 ++ .claude/skills/db-load-xml/SKILL.md | 101 + .../db-load-xml/scripts/db-load-xml.ps1 | 418 ++ .../skills/db-load-xml/scripts/db-load-xml.py | 382 + .claude/skills/db-run/SKILL.md | 76 + .claude/skills/db-run/scripts/db-run.ps1 | 171 + .claude/skills/db-run/scripts/db-run.py | 141 + .claude/skills/db-update/SKILL.md | 86 + .../skills/db-update/scripts/db-update.ps1 | 272 + .claude/skills/db-update/scripts/db-update.py | 239 + .claude/skills/epf-bsp-add-command/SKILL.md | 196 + .claude/skills/epf-bsp-init/SKILL.md | 208 + .claude/skills/epf-build/SKILL.md | 69 + .../skills/epf-build/scripts/epf-build.ps1 | 254 + .claude/skills/epf-build/scripts/epf-build.py | 237 + .../epf-build/scripts/stub-db-create.ps1 | 1346 ++++ .../epf-build/scripts/stub-db-create.py | 1132 +++ .claude/skills/epf-dump/SKILL.md | 69 + .claude/skills/epf-dump/scripts/epf-dump.ps1 | 253 + .claude/skills/epf-dump/scripts/epf-dump.py | 233 + .claude/skills/epf-init/SKILL.md | 41 + .claude/skills/epf-init/scripts/init.ps1 | 90 + .claude/skills/epf-init/scripts/init.py | 99 + .claude/skills/epf-validate/SKILL.md | 30 + .../epf-validate/scripts/epf-validate.ps1 | 842 +++ .../epf-validate/scripts/epf-validate.py | 708 ++ .claude/skills/erf-build/SKILL.md | 71 + .claude/skills/erf-dump/SKILL.md | 71 + .claude/skills/erf-init/SKILL.md | 42 + .claude/skills/erf-init/scripts/init.ps1 | 180 + .claude/skills/erf-init/scripts/init.py | 167 + .claude/skills/erf-validate/SKILL.md | 32 + .claude/skills/form-add/SKILL.md | 71 + .claude/skills/form-add/scripts/form-add.ps1 | 597 ++ .claude/skills/form-add/scripts/form-add.py | 634 ++ .claude/skills/form-compile/SKILL.md | 567 ++ .claude/skills/form-compile/presets/README.md | 126 + .../form-compile/presets/erp-standard.json | 68 + .../form-compile/references/appearance.md | 123 + .../skills/form-compile/references/charts.md | 143 + .../form-compile/references/choice-params.md | 73 + .../references/command-interface.md | 86 + .../references/companion-panels.md | 131 + .../form-compile/references/dynamic-list.md | 144 + .../references/layout-advanced.md | 111 + .../form-compile/references/report-form.md | 79 + .../form-compile/references/roles-access.md | 73 + .../form-compile/references/special-fields.md | 109 + .../form-compile/references/table-advanced.md | 132 + .../references/type-system-advanced.md | 77 + .../form-compile/scripts/form-compile.ps1 | 6683 +++++++++++++++++ .../form-compile/scripts/form-compile.py | 6613 ++++++++++++++++ .claude/skills/form-decompile/SKILL.md | 48 + .../form-decompile/scripts/form-decompile.ps1 | 2958 ++++++++ .../form-decompile/scripts/form-decompile.py | 3623 +++++++++ .claude/skills/form-edit/SKILL.md | 142 + .../skills/form-edit/scripts/form-edit.ps1 | 1430 ++++ .claude/skills/form-edit/scripts/form-edit.py | 1530 ++++ .claude/skills/form-info/SKILL.md | 30 + .../skills/form-info/scripts/form-info.ps1 | 728 ++ .claude/skills/form-info/scripts/form-info.py | 757 ++ .claude/skills/form-patterns/SKILL.md | 253 + .claude/skills/form-remove/SKILL.md | 47 + .../form-remove/scripts/remove-form.ps1 | 93 + .../skills/form-remove/scripts/remove-form.py | 105 + .claude/skills/form-validate/SKILL.md | 29 + .../form-validate/scripts/form-validate.ps1 | 870 +++ .../form-validate/scripts/form-validate.py | 768 ++ .claude/skills/help-add/SKILL.md | 44 + .claude/skills/help-add/scripts/add-help.ps1 | 259 + .claude/skills/help-add/scripts/add-help.py | 328 + .claude/skills/img-grid/SKILL.md | 77 + .../skills/img-grid/scripts/overlay-grid.py | 123 + .claude/skills/interface-edit/SKILL.md | 75 + .../interface-edit/scripts/interface-edit.ps1 | 683 ++ .../interface-edit/scripts/interface-edit.py | 681 ++ .claude/skills/interface-validate/SKILL.md | 29 + .../scripts/interface-validate.ps1 | 403 + .../scripts/interface-validate.py | 400 + .claude/skills/meta-compile/SKILL.md | 135 + .../meta-compile/reference/attributes.md | 139 + .../skills/meta-compile/reference/blocks.md | 109 + .../skills/meta-compile/reference/catalog.md | 71 + .../skills/meta-compile/reference/charts.md | 105 + .claude/skills/meta-compile/reference/code.md | 56 + .../skills/meta-compile/reference/document.md | 79 + .../meta-compile/reference/exchangeplan.md | 41 + .../meta-compile/reference/other-types.md | 90 + .../skills/meta-compile/reference/process.md | 49 + .../meta-compile/reference/registers.md | 76 + .../reference/report-dataprocessor.md | 45 + .../skills/meta-compile/reference/simple.md | 40 + .claude/skills/meta-compile/reference/web.md | 57 + .../meta-compile/scripts/meta-compile.ps1 | 4885 ++++++++++++ .../meta-compile/scripts/meta-compile.py | 4781 ++++++++++++ .claude/skills/meta-decompile/SKILL.md | 52 + .../meta-decompile/scripts/meta-decompile.ps1 | 1495 ++++ .../meta-decompile/scripts/meta-decompile.py | 1966 +++++ .claude/skills/meta-edit/SKILL.md | 108 + .claude/skills/meta-edit/child-operations.md | 116 + .claude/skills/meta-edit/json-dsl.md | 148 + .../skills/meta-edit/properties-reference.md | 54 + .../skills/meta-edit/scripts/meta-edit.ps1 | 2551 +++++++ .claude/skills/meta-edit/scripts/meta-edit.py | 2474 ++++++ .claude/skills/meta-info/SKILL.md | 87 + .../skills/meta-info/scripts/meta-info.ps1 | 1199 +++ .claude/skills/meta-info/scripts/meta-info.py | 1186 +++ .claude/skills/meta-remove/SKILL.md | 60 + .../meta-remove/scripts/meta-remove.ps1 | 616 ++ .../skills/meta-remove/scripts/meta-remove.py | 649 ++ .claude/skills/meta-validate/SKILL.md | 29 + .../meta-validate/scripts/meta-validate.ps1 | 1356 ++++ .../meta-validate/scripts/meta-validate.py | 1261 ++++ .claude/skills/mxl-compile/SKILL.md | 65 + .../mxl-compile/scripts/mxl-compile.ps1 | 852 +++ .../skills/mxl-compile/scripts/mxl-compile.py | 799 ++ .claude/skills/mxl-decompile/SKILL.md | 57 + .../mxl-decompile/scripts/mxl-decompile.ps1 | 646 ++ .../mxl-decompile/scripts/mxl-decompile.py | 705 ++ .claude/skills/mxl-info/SKILL.md | 132 + .claude/skills/mxl-info/scripts/mxl-info.ps1 | 544 ++ .claude/skills/mxl-info/scripts/mxl-info.py | 514 ++ .claude/skills/mxl-validate/SKILL.md | 29 + .../mxl-validate/scripts/mxl-validate.ps1 | 423 ++ .../mxl-validate/scripts/mxl-validate.py | 389 + .claude/skills/role-compile/SKILL.md | 109 + .claude/skills/role-compile/dsl-reference.md | 313 + .../role-compile/scripts/role-compile.ps1 | 867 +++ .../role-compile/scripts/role-compile.py | 818 ++ .claude/skills/role-info/SKILL.md | 44 + .../skills/role-info/scripts/role-info.ps1 | 305 + .claude/skills/role-info/scripts/role-info.py | 302 + .claude/skills/role-validate/SKILL.md | 27 + .../role-validate/scripts/role-validate.ps1 | 510 ++ .../role-validate/scripts/role-validate.py | 512 ++ .claude/skills/skd-compile/SKILL.md | 436 ++ .../skd-compile/examples/skd-styles.json | 30 + .../skd-compile/scripts/skd-compile.ps1 | 3686 +++++++++ .../skills/skd-compile/scripts/skd-compile.py | 3069 ++++++++ .claude/skills/skd-decompile/SKILL.md | 52 + .../skd-decompile/scripts/skd-decompile.ps1 | 3036 ++++++++ .../skd-decompile/scripts/skd-decompile.py | 3149 ++++++++ .claude/skills/skd-edit/SKILL.md | 373 + .claude/skills/skd-edit/scripts/skd-edit.ps1 | 4050 ++++++++++ .claude/skills/skd-edit/scripts/skd-edit.py | 3434 +++++++++ .claude/skills/skd-info/SKILL.md | 80 + .claude/skills/skd-info/scripts/skd-info.ps1 | 1972 +++++ .claude/skills/skd-info/scripts/skd-info.py | 1811 +++++ .claude/skills/skd-validate/SKILL.md | 29 + .../skd-validate/scripts/skd-validate.ps1 | 935 +++ .../skd-validate/scripts/skd-validate.py | 872 +++ .claude/skills/subsystem-compile/SKILL.md | 59 + .../scripts/subsystem-compile.ps1 | 673 ++ .../scripts/subsystem-compile.py | 613 ++ .claude/skills/subsystem-edit/SKILL.md | 57 + .../subsystem-edit/scripts/subsystem-edit.ps1 | 666 ++ .../subsystem-edit/scripts/subsystem-edit.py | 780 ++ .claude/skills/subsystem-info/SKILL.md | 62 + .../subsystem-info/scripts/subsystem-info.ps1 | 574 ++ .../subsystem-info/scripts/subsystem-info.py | 594 ++ .claude/skills/subsystem-validate/SKILL.md | 29 + .../scripts/subsystem-validate.ps1 | 352 + .../scripts/subsystem-validate.py | 371 + .claude/skills/support-edit/SKILL.md | 41 + .../support-edit/scripts/support-edit.ps1 | 130 + .../support-edit/scripts/support-edit.py | 134 + .claude/skills/template-add/SKILL.md | 89 + .../template-add/scripts/add-template.ps1 | 386 + .../template-add/scripts/add-template.py | 457 ++ .claude/skills/template-remove/SKILL.md | 47 + .../scripts/remove-template.ps1 | 90 + .../scripts/remove-template.py | 102 + .claude/skills/web-info/SKILL.md | 62 + .claude/skills/web-info/scripts/web-info.ps1 | 148 + .claude/skills/web-info/scripts/web-info.py | 160 + .claude/skills/web-publish/SKILL.md | 101 + .../web-publish/scripts/web-publish.ps1 | 422 ++ .../skills/web-publish/scripts/web-publish.py | 463 ++ .claude/skills/web-stop/SKILL.md | 52 + .claude/skills/web-stop/scripts/web-stop.ps1 | 92 + .claude/skills/web-stop/scripts/web-stop.py | 119 + .claude/skills/web-test/.gitignore | 4 + .claude/skills/web-test/SKILL.md | 588 ++ .claude/skills/web-test/recording.md | 348 + .claude/skills/web-test/regress.md | 424 ++ .claude/skills/web-test/scripts/browser.mjs | 56 + .../web-test/scripts/cli/commands/exec.mjs | 36 + .../web-test/scripts/cli/commands/run.mjs | 22 + .../web-test/scripts/cli/commands/shot.mjs | 18 + .../web-test/scripts/cli/commands/start.mjs | 33 + .../web-test/scripts/cli/commands/status.mjs | 14 + .../web-test/scripts/cli/commands/stop.mjs | 17 + .../web-test/scripts/cli/commands/test.mjs | 458 ++ .../web-test/scripts/cli/exec-context.mjs | 148 + .../skills/web-test/scripts/cli/server.mjs | 37 + .../skills/web-test/scripts/cli/session.mjs | 20 + .../scripts/cli/test-runner/assertions.mjs | 64 + .../scripts/cli/test-runner/discover.mjs | 43 + .../scripts/cli/test-runner/reporters.mjs | 113 + .../scripts/cli/test-runner/severity.mjs | 66 + .claude/skills/web-test/scripts/cli/util.mjs | 113 + .claude/skills/web-test/scripts/dom.mjs | 95 + .../skills/web-test/scripts/dom/_shared.mjs | 486 ++ .claude/skills/web-test/scripts/dom/edd.mjs | 108 + .../web-test/scripts/dom/edit-state.mjs | 63 + .../web-test/scripts/dom/errors-stack.mjs | 65 + .../skills/web-test/scripts/dom/errors.mjs | 127 + .../skills/web-test/scripts/dom/filter.mjs | 187 + .../web-test/scripts/dom/form-state.mjs | 34 + .claude/skills/web-test/scripts/dom/forms.mjs | 653 ++ .../skills/web-test/scripts/dom/grid-edit.mjs | 334 + .claude/skills/web-test/scripts/dom/grid.mjs | 966 +++ .claude/skills/web-test/scripts/dom/nav.mjs | 93 + .../skills/web-test/scripts/dom/submenu.mjs | 178 + .../web-test/scripts/engine/core/click.mjs | 129 + .../scripts/engine/core/clipboard.mjs | 97 + .../web-test/scripts/engine/core/errors.mjs | 310 + .../web-test/scripts/engine/core/helpers.mjs | 178 + .../scripts/engine/core/scroll-horiz.mjs | 47 + .../web-test/scripts/engine/core/session.mjs | 404 + .../web-test/scripts/engine/core/state.mjs | 113 + .../web-test/scripts/engine/core/wait.mjs | 123 + .../scripts/engine/forms/click-form.mjs | 122 + .../scripts/engine/forms/click-popup.mjs | 90 + .../web-test/scripts/engine/forms/close.mjs | 56 + .../web-test/scripts/engine/forms/fill.mjs | 161 + .../scripts/engine/forms/select-value.mjs | 1177 +++ .../web-test/scripts/engine/forms/state.mjs | 32 + .../scripts/engine/nav/navigation.mjs | 253 + .../scripts/engine/recording/captions.mjs | 292 + .../scripts/engine/recording/capture.mjs | 243 + .../scripts/engine/recording/highlight.mjs | 340 + .../scripts/engine/recording/narration.mjs | 196 + .../web-test/scripts/engine/recording/tts.mjs | 175 + .../engine/spreadsheet/spreadsheet.mjs | 561 ++ .../scripts/engine/table/click-cell.mjs | 235 + .../scripts/engine/table/click-row.mjs | 95 + .../web-test/scripts/engine/table/filter.mjs | 248 + .../scripts/engine/table/grid-toggle.mjs | 64 + .../web-test/scripts/engine/table/grid.mjs | 95 + .../scripts/engine/table/row-fill.mjs | 968 +++ .../skills/web-test/scripts/package-lock.json | 59 + .claude/skills/web-test/scripts/package.json | 10 + .claude/skills/web-test/scripts/run.mjs | 65 + .claude/skills/web-unpublish/SKILL.md | 62 + .../web-unpublish/scripts/web-unpublish.ps1 | 159 + .../web-unpublish/scripts/web-unpublish.py | 162 + .mimocode/skills/cfe-build/SKILL.md | 24 + .mimocode/skills/cfe-validate/SKILL.md | 27 + LICENSE | 6 + README.md | 98 + 305 files changed, 148185 insertions(+) create mode 100644 .claude/skills/1c-specs/1c-config-objects-spec.md create mode 100644 .claude/skills/1c-specs/1c-configuration-spec.md create mode 100644 .claude/skills/1c-specs/1c-extension-spec.md create mode 100644 .claude/skills/1c-specs/1c-form-spec.md create mode 100644 .claude/skills/1c-specs/build-spec.md create mode 100644 .claude/skills/cf-edit/SKILL.md create mode 100644 .claude/skills/cf-edit/reference.md create mode 100644 .claude/skills/cf-edit/scripts/cf-edit.ps1 create mode 100644 .claude/skills/cf-edit/scripts/cf-edit.py create mode 100644 .claude/skills/cf-info/SKILL.md create mode 100644 .claude/skills/cf-info/scripts/cf-info.ps1 create mode 100644 .claude/skills/cf-info/scripts/cf-info.py create mode 100644 .claude/skills/cf-init/SKILL.md create mode 100644 .claude/skills/cf-init/scripts/cf-init.ps1 create mode 100644 .claude/skills/cf-init/scripts/cf-init.py create mode 100644 .claude/skills/cf-validate/SKILL.md create mode 100644 .claude/skills/cf-validate/scripts/cf-validate.ps1 create mode 100644 .claude/skills/cf-validate/scripts/cf-validate.py create mode 100644 .claude/skills/cfe-borrow/SKILL.md create mode 100644 .claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 create mode 100644 .claude/skills/cfe-borrow/scripts/cfe-borrow.py create mode 100644 .claude/skills/cfe-diff/SKILL.md create mode 100644 .claude/skills/cfe-diff/scripts/cfe-diff.ps1 create mode 100644 .claude/skills/cfe-diff/scripts/cfe-diff.py create mode 100644 .claude/skills/cfe-init/SKILL.md create mode 100644 .claude/skills/cfe-init/scripts/cfe-init.ps1 create mode 100644 .claude/skills/cfe-init/scripts/cfe-init.py create mode 100644 .claude/skills/cfe-patch-method/SKILL.md create mode 100644 .claude/skills/cfe-patch-method/scripts/cfe-patch-method.ps1 create mode 100644 .claude/skills/cfe-patch-method/scripts/cfe-patch-method.py create mode 100644 .claude/skills/cfe-validate/SKILL.md create mode 100644 .claude/skills/cfe-validate/scripts/cfe-validate.ps1 create mode 100644 .claude/skills/cfe-validate/scripts/cfe-validate.py create mode 100644 .claude/skills/db-create/SKILL.md create mode 100644 .claude/skills/db-create/scripts/db-create.ps1 create mode 100644 .claude/skills/db-create/scripts/db-create.py create mode 100644 .claude/skills/db-dump-cf/SKILL.md create mode 100644 .claude/skills/db-dump-cf/scripts/db-dump-cf.ps1 create mode 100644 .claude/skills/db-dump-cf/scripts/db-dump-cf.py create mode 100644 .claude/skills/db-dump-dt/SKILL.md create mode 100644 .claude/skills/db-dump-dt/scripts/db-dump-dt.ps1 create mode 100644 .claude/skills/db-dump-dt/scripts/db-dump-dt.py create mode 100644 .claude/skills/db-dump-xml/SKILL.md create mode 100644 .claude/skills/db-dump-xml/scripts/db-dump-xml.ps1 create mode 100644 .claude/skills/db-dump-xml/scripts/db-dump-xml.py create mode 100644 .claude/skills/db-list/SKILL.md create mode 100644 .claude/skills/db-load-cf/SKILL.md create mode 100644 .claude/skills/db-load-cf/scripts/db-load-cf.ps1 create mode 100644 .claude/skills/db-load-cf/scripts/db-load-cf.py create mode 100644 .claude/skills/db-load-dt/SKILL.md create mode 100644 .claude/skills/db-load-dt/scripts/db-load-dt.ps1 create mode 100644 .claude/skills/db-load-dt/scripts/db-load-dt.py create mode 100644 .claude/skills/db-load-git/SKILL.md create mode 100644 .claude/skills/db-load-git/scripts/db-load-git.ps1 create mode 100644 .claude/skills/db-load-git/scripts/db-load-git.py create mode 100644 .claude/skills/db-load-xml/SKILL.md create mode 100644 .claude/skills/db-load-xml/scripts/db-load-xml.ps1 create mode 100644 .claude/skills/db-load-xml/scripts/db-load-xml.py create mode 100644 .claude/skills/db-run/SKILL.md create mode 100644 .claude/skills/db-run/scripts/db-run.ps1 create mode 100644 .claude/skills/db-run/scripts/db-run.py create mode 100644 .claude/skills/db-update/SKILL.md create mode 100644 .claude/skills/db-update/scripts/db-update.ps1 create mode 100644 .claude/skills/db-update/scripts/db-update.py create mode 100644 .claude/skills/epf-bsp-add-command/SKILL.md create mode 100644 .claude/skills/epf-bsp-init/SKILL.md create mode 100644 .claude/skills/epf-build/SKILL.md create mode 100644 .claude/skills/epf-build/scripts/epf-build.ps1 create mode 100644 .claude/skills/epf-build/scripts/epf-build.py create mode 100644 .claude/skills/epf-build/scripts/stub-db-create.ps1 create mode 100644 .claude/skills/epf-build/scripts/stub-db-create.py create mode 100644 .claude/skills/epf-dump/SKILL.md create mode 100644 .claude/skills/epf-dump/scripts/epf-dump.ps1 create mode 100644 .claude/skills/epf-dump/scripts/epf-dump.py create mode 100644 .claude/skills/epf-init/SKILL.md create mode 100644 .claude/skills/epf-init/scripts/init.ps1 create mode 100644 .claude/skills/epf-init/scripts/init.py create mode 100644 .claude/skills/epf-validate/SKILL.md create mode 100644 .claude/skills/epf-validate/scripts/epf-validate.ps1 create mode 100644 .claude/skills/epf-validate/scripts/epf-validate.py create mode 100644 .claude/skills/erf-build/SKILL.md create mode 100644 .claude/skills/erf-dump/SKILL.md create mode 100644 .claude/skills/erf-init/SKILL.md create mode 100644 .claude/skills/erf-init/scripts/init.ps1 create mode 100644 .claude/skills/erf-init/scripts/init.py create mode 100644 .claude/skills/erf-validate/SKILL.md create mode 100644 .claude/skills/form-add/SKILL.md create mode 100644 .claude/skills/form-add/scripts/form-add.ps1 create mode 100644 .claude/skills/form-add/scripts/form-add.py create mode 100644 .claude/skills/form-compile/SKILL.md create mode 100644 .claude/skills/form-compile/presets/README.md create mode 100644 .claude/skills/form-compile/presets/erp-standard.json create mode 100644 .claude/skills/form-compile/references/appearance.md create mode 100644 .claude/skills/form-compile/references/charts.md create mode 100644 .claude/skills/form-compile/references/choice-params.md create mode 100644 .claude/skills/form-compile/references/command-interface.md create mode 100644 .claude/skills/form-compile/references/companion-panels.md create mode 100644 .claude/skills/form-compile/references/dynamic-list.md create mode 100644 .claude/skills/form-compile/references/layout-advanced.md create mode 100644 .claude/skills/form-compile/references/report-form.md create mode 100644 .claude/skills/form-compile/references/roles-access.md create mode 100644 .claude/skills/form-compile/references/special-fields.md create mode 100644 .claude/skills/form-compile/references/table-advanced.md create mode 100644 .claude/skills/form-compile/references/type-system-advanced.md create mode 100644 .claude/skills/form-compile/scripts/form-compile.ps1 create mode 100644 .claude/skills/form-compile/scripts/form-compile.py create mode 100644 .claude/skills/form-decompile/SKILL.md create mode 100644 .claude/skills/form-decompile/scripts/form-decompile.ps1 create mode 100644 .claude/skills/form-decompile/scripts/form-decompile.py create mode 100644 .claude/skills/form-edit/SKILL.md create mode 100644 .claude/skills/form-edit/scripts/form-edit.ps1 create mode 100644 .claude/skills/form-edit/scripts/form-edit.py create mode 100644 .claude/skills/form-info/SKILL.md create mode 100644 .claude/skills/form-info/scripts/form-info.ps1 create mode 100644 .claude/skills/form-info/scripts/form-info.py create mode 100644 .claude/skills/form-patterns/SKILL.md create mode 100644 .claude/skills/form-remove/SKILL.md create mode 100644 .claude/skills/form-remove/scripts/remove-form.ps1 create mode 100644 .claude/skills/form-remove/scripts/remove-form.py create mode 100644 .claude/skills/form-validate/SKILL.md create mode 100644 .claude/skills/form-validate/scripts/form-validate.ps1 create mode 100644 .claude/skills/form-validate/scripts/form-validate.py create mode 100644 .claude/skills/help-add/SKILL.md create mode 100644 .claude/skills/help-add/scripts/add-help.ps1 create mode 100644 .claude/skills/help-add/scripts/add-help.py create mode 100644 .claude/skills/img-grid/SKILL.md create mode 100644 .claude/skills/img-grid/scripts/overlay-grid.py create mode 100644 .claude/skills/interface-edit/SKILL.md create mode 100644 .claude/skills/interface-edit/scripts/interface-edit.ps1 create mode 100644 .claude/skills/interface-edit/scripts/interface-edit.py create mode 100644 .claude/skills/interface-validate/SKILL.md create mode 100644 .claude/skills/interface-validate/scripts/interface-validate.ps1 create mode 100644 .claude/skills/interface-validate/scripts/interface-validate.py create mode 100644 .claude/skills/meta-compile/SKILL.md create mode 100644 .claude/skills/meta-compile/reference/attributes.md create mode 100644 .claude/skills/meta-compile/reference/blocks.md create mode 100644 .claude/skills/meta-compile/reference/catalog.md create mode 100644 .claude/skills/meta-compile/reference/charts.md create mode 100644 .claude/skills/meta-compile/reference/code.md create mode 100644 .claude/skills/meta-compile/reference/document.md create mode 100644 .claude/skills/meta-compile/reference/exchangeplan.md create mode 100644 .claude/skills/meta-compile/reference/other-types.md create mode 100644 .claude/skills/meta-compile/reference/process.md create mode 100644 .claude/skills/meta-compile/reference/registers.md create mode 100644 .claude/skills/meta-compile/reference/report-dataprocessor.md create mode 100644 .claude/skills/meta-compile/reference/simple.md create mode 100644 .claude/skills/meta-compile/reference/web.md create mode 100644 .claude/skills/meta-compile/scripts/meta-compile.ps1 create mode 100644 .claude/skills/meta-compile/scripts/meta-compile.py create mode 100644 .claude/skills/meta-decompile/SKILL.md create mode 100644 .claude/skills/meta-decompile/scripts/meta-decompile.ps1 create mode 100644 .claude/skills/meta-decompile/scripts/meta-decompile.py create mode 100644 .claude/skills/meta-edit/SKILL.md create mode 100644 .claude/skills/meta-edit/child-operations.md create mode 100644 .claude/skills/meta-edit/json-dsl.md create mode 100644 .claude/skills/meta-edit/properties-reference.md create mode 100644 .claude/skills/meta-edit/scripts/meta-edit.ps1 create mode 100644 .claude/skills/meta-edit/scripts/meta-edit.py create mode 100644 .claude/skills/meta-info/SKILL.md create mode 100644 .claude/skills/meta-info/scripts/meta-info.ps1 create mode 100644 .claude/skills/meta-info/scripts/meta-info.py create mode 100644 .claude/skills/meta-remove/SKILL.md create mode 100644 .claude/skills/meta-remove/scripts/meta-remove.ps1 create mode 100644 .claude/skills/meta-remove/scripts/meta-remove.py create mode 100644 .claude/skills/meta-validate/SKILL.md create mode 100644 .claude/skills/meta-validate/scripts/meta-validate.ps1 create mode 100644 .claude/skills/meta-validate/scripts/meta-validate.py create mode 100644 .claude/skills/mxl-compile/SKILL.md create mode 100644 .claude/skills/mxl-compile/scripts/mxl-compile.ps1 create mode 100644 .claude/skills/mxl-compile/scripts/mxl-compile.py create mode 100644 .claude/skills/mxl-decompile/SKILL.md create mode 100644 .claude/skills/mxl-decompile/scripts/mxl-decompile.ps1 create mode 100644 .claude/skills/mxl-decompile/scripts/mxl-decompile.py create mode 100644 .claude/skills/mxl-info/SKILL.md create mode 100644 .claude/skills/mxl-info/scripts/mxl-info.ps1 create mode 100644 .claude/skills/mxl-info/scripts/mxl-info.py create mode 100644 .claude/skills/mxl-validate/SKILL.md create mode 100644 .claude/skills/mxl-validate/scripts/mxl-validate.ps1 create mode 100644 .claude/skills/mxl-validate/scripts/mxl-validate.py create mode 100644 .claude/skills/role-compile/SKILL.md create mode 100644 .claude/skills/role-compile/dsl-reference.md create mode 100644 .claude/skills/role-compile/scripts/role-compile.ps1 create mode 100644 .claude/skills/role-compile/scripts/role-compile.py create mode 100644 .claude/skills/role-info/SKILL.md create mode 100644 .claude/skills/role-info/scripts/role-info.ps1 create mode 100644 .claude/skills/role-info/scripts/role-info.py create mode 100644 .claude/skills/role-validate/SKILL.md create mode 100644 .claude/skills/role-validate/scripts/role-validate.ps1 create mode 100644 .claude/skills/role-validate/scripts/role-validate.py create mode 100644 .claude/skills/skd-compile/SKILL.md create mode 100644 .claude/skills/skd-compile/examples/skd-styles.json create mode 100644 .claude/skills/skd-compile/scripts/skd-compile.ps1 create mode 100644 .claude/skills/skd-compile/scripts/skd-compile.py create mode 100644 .claude/skills/skd-decompile/SKILL.md create mode 100644 .claude/skills/skd-decompile/scripts/skd-decompile.ps1 create mode 100644 .claude/skills/skd-decompile/scripts/skd-decompile.py create mode 100644 .claude/skills/skd-edit/SKILL.md create mode 100644 .claude/skills/skd-edit/scripts/skd-edit.ps1 create mode 100644 .claude/skills/skd-edit/scripts/skd-edit.py create mode 100644 .claude/skills/skd-info/SKILL.md create mode 100644 .claude/skills/skd-info/scripts/skd-info.ps1 create mode 100644 .claude/skills/skd-info/scripts/skd-info.py create mode 100644 .claude/skills/skd-validate/SKILL.md create mode 100644 .claude/skills/skd-validate/scripts/skd-validate.ps1 create mode 100644 .claude/skills/skd-validate/scripts/skd-validate.py create mode 100644 .claude/skills/subsystem-compile/SKILL.md create mode 100644 .claude/skills/subsystem-compile/scripts/subsystem-compile.ps1 create mode 100644 .claude/skills/subsystem-compile/scripts/subsystem-compile.py create mode 100644 .claude/skills/subsystem-edit/SKILL.md create mode 100644 .claude/skills/subsystem-edit/scripts/subsystem-edit.ps1 create mode 100644 .claude/skills/subsystem-edit/scripts/subsystem-edit.py create mode 100644 .claude/skills/subsystem-info/SKILL.md create mode 100644 .claude/skills/subsystem-info/scripts/subsystem-info.ps1 create mode 100644 .claude/skills/subsystem-info/scripts/subsystem-info.py create mode 100644 .claude/skills/subsystem-validate/SKILL.md create mode 100644 .claude/skills/subsystem-validate/scripts/subsystem-validate.ps1 create mode 100644 .claude/skills/subsystem-validate/scripts/subsystem-validate.py create mode 100644 .claude/skills/support-edit/SKILL.md create mode 100644 .claude/skills/support-edit/scripts/support-edit.ps1 create mode 100644 .claude/skills/support-edit/scripts/support-edit.py create mode 100644 .claude/skills/template-add/SKILL.md create mode 100644 .claude/skills/template-add/scripts/add-template.ps1 create mode 100644 .claude/skills/template-add/scripts/add-template.py create mode 100644 .claude/skills/template-remove/SKILL.md create mode 100644 .claude/skills/template-remove/scripts/remove-template.ps1 create mode 100644 .claude/skills/template-remove/scripts/remove-template.py create mode 100644 .claude/skills/web-info/SKILL.md create mode 100644 .claude/skills/web-info/scripts/web-info.ps1 create mode 100644 .claude/skills/web-info/scripts/web-info.py create mode 100644 .claude/skills/web-publish/SKILL.md create mode 100644 .claude/skills/web-publish/scripts/web-publish.ps1 create mode 100644 .claude/skills/web-publish/scripts/web-publish.py create mode 100644 .claude/skills/web-stop/SKILL.md create mode 100644 .claude/skills/web-stop/scripts/web-stop.ps1 create mode 100644 .claude/skills/web-stop/scripts/web-stop.py create mode 100644 .claude/skills/web-test/.gitignore create mode 100644 .claude/skills/web-test/SKILL.md create mode 100644 .claude/skills/web-test/recording.md create mode 100644 .claude/skills/web-test/regress.md create mode 100644 .claude/skills/web-test/scripts/browser.mjs create mode 100644 .claude/skills/web-test/scripts/cli/commands/exec.mjs create mode 100644 .claude/skills/web-test/scripts/cli/commands/run.mjs create mode 100644 .claude/skills/web-test/scripts/cli/commands/shot.mjs create mode 100644 .claude/skills/web-test/scripts/cli/commands/start.mjs create mode 100644 .claude/skills/web-test/scripts/cli/commands/status.mjs create mode 100644 .claude/skills/web-test/scripts/cli/commands/stop.mjs create mode 100644 .claude/skills/web-test/scripts/cli/commands/test.mjs create mode 100644 .claude/skills/web-test/scripts/cli/exec-context.mjs create mode 100644 .claude/skills/web-test/scripts/cli/server.mjs create mode 100644 .claude/skills/web-test/scripts/cli/session.mjs create mode 100644 .claude/skills/web-test/scripts/cli/test-runner/assertions.mjs create mode 100644 .claude/skills/web-test/scripts/cli/test-runner/discover.mjs create mode 100644 .claude/skills/web-test/scripts/cli/test-runner/reporters.mjs create mode 100644 .claude/skills/web-test/scripts/cli/test-runner/severity.mjs create mode 100644 .claude/skills/web-test/scripts/cli/util.mjs create mode 100644 .claude/skills/web-test/scripts/dom.mjs create mode 100644 .claude/skills/web-test/scripts/dom/_shared.mjs create mode 100644 .claude/skills/web-test/scripts/dom/edd.mjs create mode 100644 .claude/skills/web-test/scripts/dom/edit-state.mjs create mode 100644 .claude/skills/web-test/scripts/dom/errors-stack.mjs create mode 100644 .claude/skills/web-test/scripts/dom/errors.mjs create mode 100644 .claude/skills/web-test/scripts/dom/filter.mjs create mode 100644 .claude/skills/web-test/scripts/dom/form-state.mjs create mode 100644 .claude/skills/web-test/scripts/dom/forms.mjs create mode 100644 .claude/skills/web-test/scripts/dom/grid-edit.mjs create mode 100644 .claude/skills/web-test/scripts/dom/grid.mjs create mode 100644 .claude/skills/web-test/scripts/dom/nav.mjs create mode 100644 .claude/skills/web-test/scripts/dom/submenu.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/click.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/clipboard.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/errors.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/helpers.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/scroll-horiz.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/session.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/state.mjs create mode 100644 .claude/skills/web-test/scripts/engine/core/wait.mjs create mode 100644 .claude/skills/web-test/scripts/engine/forms/click-form.mjs create mode 100644 .claude/skills/web-test/scripts/engine/forms/click-popup.mjs create mode 100644 .claude/skills/web-test/scripts/engine/forms/close.mjs create mode 100644 .claude/skills/web-test/scripts/engine/forms/fill.mjs create mode 100644 .claude/skills/web-test/scripts/engine/forms/select-value.mjs create mode 100644 .claude/skills/web-test/scripts/engine/forms/state.mjs create mode 100644 .claude/skills/web-test/scripts/engine/nav/navigation.mjs create mode 100644 .claude/skills/web-test/scripts/engine/recording/captions.mjs create mode 100644 .claude/skills/web-test/scripts/engine/recording/capture.mjs create mode 100644 .claude/skills/web-test/scripts/engine/recording/highlight.mjs create mode 100644 .claude/skills/web-test/scripts/engine/recording/narration.mjs create mode 100644 .claude/skills/web-test/scripts/engine/recording/tts.mjs create mode 100644 .claude/skills/web-test/scripts/engine/spreadsheet/spreadsheet.mjs create mode 100644 .claude/skills/web-test/scripts/engine/table/click-cell.mjs create mode 100644 .claude/skills/web-test/scripts/engine/table/click-row.mjs create mode 100644 .claude/skills/web-test/scripts/engine/table/filter.mjs create mode 100644 .claude/skills/web-test/scripts/engine/table/grid-toggle.mjs create mode 100644 .claude/skills/web-test/scripts/engine/table/grid.mjs create mode 100644 .claude/skills/web-test/scripts/engine/table/row-fill.mjs create mode 100644 .claude/skills/web-test/scripts/package-lock.json create mode 100644 .claude/skills/web-test/scripts/package.json create mode 100644 .claude/skills/web-test/scripts/run.mjs create mode 100644 .claude/skills/web-unpublish/SKILL.md create mode 100644 .claude/skills/web-unpublish/scripts/web-unpublish.ps1 create mode 100644 .claude/skills/web-unpublish/scripts/web-unpublish.py create mode 100644 .mimocode/skills/cfe-build/SKILL.md create mode 100644 .mimocode/skills/cfe-validate/SKILL.md create mode 100644 LICENSE create mode 100644 README.md diff --git a/.claude/skills/1c-specs/1c-config-objects-spec.md b/.claude/skills/1c-specs/1c-config-objects-spec.md new file mode 100644 index 0000000..64cbe50 --- /dev/null +++ b/.claude/skills/1c-specs/1c-config-objects-spec.md @@ -0,0 +1,1832 @@ +# Спецификация формата XML объектов метаданных конфигурации 1С + +Формат: XML-выгрузка конфигурации 1С:Предприятие 8.3 (Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы). +Версии формата: `2.17` (платформа 8.3.20–8.3.24), `2.20` (платформа 8.3.27+). + +Источники: выгрузки ERP 2, Бухгалтерия предприятия (платформы 8.3.20, 8.3.24, 8.3.27). + +> **Связанные спецификации:** +> - Корневая структура конфигурации — [1c-configuration-spec.md](1c-configuration-spec.md) +> - Подсистемы и командный интерфейс — [1c-subsystem-spec.md](1c-subsystem-spec.md) +> - Сводный индекс — [1c-specs-index.md](1c-specs-index.md) + +--- + +## 1. Общая структура выгрузки + +### 1.1. Верхний уровень каталогов + +``` +Configuration.xml # Корневой файл конфигурации +ConfigDumpInfo.xml # Служебный файл выгрузки +Catalogs/ # Справочники +Documents/ # Документы +InformationRegisters/ # Регистры сведений +AccumulationRegisters/ # Регистры накопления +AccountingRegisters/ # Регистры бухгалтерии +CalculationRegisters/ # Регистры расчёта +ChartsOfAccounts/ # Планы счетов +ChartsOfCharacteristicTypes/ # Планы видов характеристик +ChartsOfCalculationTypes/ # Планы видов расчёта +BusinessProcesses/ # Бизнес-процессы +Tasks/ # Задачи +ExchangePlans/ # Планы обмена +DocumentJournals/ # Журналы документов +Enums/ # Перечисления +Reports/ # Отчёты +DataProcessors/ # Обработки +Constants/ # Константы +CommonModules/ # Общие модули +CommonAttributes/ # Общие реквизиты +CommonCommands/ # Общие команды +CommonForms/ # Общие формы +CommonPictures/ # Общие картинки +CommonTemplates/ # Общие макеты +CommandGroups/ # Группы команд +DefinedTypes/ # Определяемые типы +DocumentNumerators/ # Нумераторы документов +EventSubscriptions/ # Подписки на события +FilterCriteria/ # Критерии отбора +FunctionalOptions/ # Функциональные опции +FunctionalOptionsParameters/ # Параметры функциональных опций +HTTPServices/ # HTTP-сервисы +Languages/ # Языки +Roles/ # Роли +ScheduledJobs/ # Регламентные задания +SessionParameters/ # Параметры сеанса +SettingsStorages/ # Хранилища настроек +StyleItems/ # Элементы стиля +Styles/ # Стили +Subsystems/ # Подсистемы +WebServices/ # Web-сервисы +WSReferences/ # WS-ссылки +XDTOPackages/ # XDTO-пакеты +Ext/ # Расширение конфигурации +``` + +### 1.2. Структура каталога объекта метаданных + +Каждый объект метаданных (справочник, документ и т.д.) хранится в каталоге с именем объекта: + +``` +<ИмяОбъекта>/ +├── <ИмяОбъекта>.xml # Корневой XML — определение объекта +├── Ext/ +│ ├── ObjectModule.bsl # Модуль объекта (опционально) +│ ├── ManagerModule.bsl # Модуль менеджера (опционально) +│ ├── RecordSetModule.bsl # Модуль набора записей — для регистров (опционально) +│ ├── Predefined.xml # Предопределённые элементы (опционально) +│ ├── Help.xml # Метаданные справки (опционально) +│ ├── Help/ +│ │ └── ru.html # HTML-страница справки +│ ├── Flowchart.xml # Карта маршрута — только для бизнес-процессов +│ └── Content.xml # Состав плана обмена — только для планов обмена +├── Forms/ +│ ├── <ИмяФормы>/ +│ │ ├── <ИмяФормы>.xml # Метаданные формы +│ │ └── Ext/ +│ │ ├── Form.xml # Описание формы +│ │ ├── Form/ +│ │ │ └── Module.bsl # Модуль формы +│ │ └── Help.xml # Справка формы (опционально) +│ └── ... +├── Templates/ +│ ├── <ИмяМакета>/ +│ │ ├── <ИмяМакета>.xml # Метаданные макета +│ │ └── Ext/ +│ │ └── Template.xml # Тело макета (MXL, СКД и др.) +│ └── ... +└── Commands/ # Команды (если определены отдельными файлами) +``` + +**Модули по типам объектов:** + +| Тип объекта | ObjectModule | ManagerModule | RecordSetModule | CommandModule | +|---|---|---|---|---| +| Справочник | + | + | - | + | +| Документ | + | + | - | + | +| Регистры сведений | - | + | + | - | +| Регистры накопления | - | + | + | - | +| Регистры бухгалтерии | - | + | + | - | +| Регистры расчёта | - | + | + | - | +| ПланСчетов | + | + | - | + | +| ПВХ | + | + | - | + | +| ПВР | + | + | - | + | +| БизнесПроцесс | + | + | - | + | +| Задача | + | + | - | + | +| ПланОбмена | + | + | - | + | +| Перечисление | - | + | - | - | +| Отчёт | + | + | - | + | +| Обработка | + | + | - | + | +| Константа | - | + | - | - | + +--- + +## 2. Общий формат XML + +### 2.1. Корневой элемент + +Все файлы метаданных объектов используют корневой элемент ``: + +```xml + + + + + ... + ... + ... + + + +``` + +### 2.2. Пространства имён + +| Префикс | URI | Назначение | +|---|---|---| +| *(default)* | `http://v8.1c.ru/8.3/MDClasses` | Основное пространство классов метаданных | +| `v8` | `http://v8.1c.ru/8.1/data/core` | Базовые типы данных (Type, item, lang, content) | +| `cfg` | `http://v8.1c.ru/8.1/data/enterprise/current-config` | Ссылки на объекты текущей конфигурации | +| `xr` | `http://v8.3/xcf/readable` | Человекочитаемый формат (GeneratedType, StandardAttribute) | +| `xsi` | `http://www.w3.org/2001/XMLSchema-instance` | Типы атрибутов (`xsi:type`, `xsi:nil`) | +| `xs` | `http://www.w3.org/2001/XMLSchema` | Типы XML Schema (`xs:string`, `xs:boolean`, ...) | +| `app` | `http://v8.1c.ru/8.2/managed-application/core` | Ядро управляемого приложения (ChoiceParameters) | +| `xen` | `http://v8.3/xcf/enums` | Перечисления формата | +| `xpr` | `http://v8.3/xcf/predef` | Предопределённые типы | + +### 2.3. Элемент типа объекта + +Внутри `` содержится единственный дочерний элемент, имя которого соответствует типу объекта: + +| Тип метаданных | XML-элемент | +|---|---| +| Справочник | `` | +| Документ | `` | +| Перечисление | `` | +| Константа | `` | +| Регистр сведений | `` | +| Регистр накопления | `` | +| Регистр бухгалтерии | `` | +| Регистр расчёта | `` | +| План счетов | `` | +| План видов характеристик | `` | +| План видов расчёта | `` | +| Бизнес-процесс | `` | +| Задача | `` | +| План обмена | `` | +| Журнал документов | `` | +| Отчёт | `` | +| Обработка | `` | +| Определяемый тип | `` | +| Общий модуль | `` | +| Регламентное задание | `` | +| Подписка на событие | `` | +| HTTP-сервис | `` | +| Веб-сервис | `` | + +Атрибут `uuid` — уникальный идентификатор объекта. + +### 2.4. Три секции объекта + +Каждый объект метаданных содержит три секции: + +```xml +<[ТипОбъекта] uuid="..."> + + + + +``` + +--- + +## 3. InternalInfo — внутренняя информация + +Секция содержит определения типов, генерируемых платформой для работы с объектом. + +### 3.1. GeneratedType + +```xml + + + xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + + ... + ... + + + +``` + +**Категории генерируемых типов по видам объектов:** + +| Вид объекта | Категории (category) | +|---|---| +| Catalog | Object, Ref, Selection, List, Manager | +| Document | Object, Ref, Selection, List, Manager | +| Enum | Ref, Manager, List | +| Constant | Manager, ValueManager, ValueKey | +| InformationRegister | Record, Manager, Selection, List, RecordSet, RecordKey, RecordManager | +| AccumulationRegister | Record, Manager, Selection, List, RecordSet, RecordKey | +| AccountingRegister | Record, Manager, Selection, List, RecordSet, RecordKey | +| CalculationRegister | Record, Manager, Selection, List, RecordSet, RecordKey + Recalcs | +| ChartOfAccounts | Object, Ref, Selection, List, Manager | +| ChartOfCharacteristicTypes | Object, Ref, Selection, List, Manager | +| ChartOfCalculationTypes | Object, Ref, Selection, List, Manager + Displacing, Base, Leading | +| BusinessProcess | Object, Ref, Selection, List, Manager | +| Task | Object, Ref, Selection, List, Manager | +| ExchangePlan | Object, Ref, Selection, List, Manager | +| DocumentJournal | Selection, List, Manager | +| Report | Object, Manager | +| DataProcessor | Object, Manager | + +Формат имени: `{ТипОбъектаEng}.{ИмяОбъекта}` (напр. `CatalogObject.Номенклатура`, `DocumentRef.АвансовыйОтчет`). + +### 3.2. ThisNode (только ExchangePlan) + +```xml + + xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + ... + +``` + +--- + +## 4. Общие элементы Properties + +### 4.1. Базовые свойства (есть у всех объектов) + +```xml + + ИмяОбъекта + + + ru + Отображаемое имя + + + en + Display name + + + Комментарий разработчика + +``` + +- **Name** — системное имя (идентификатор, без пробелов и спецсимволов) +- **Synonym** — локализованное отображаемое имя (структура `v8:item`) +- **Comment** — комментарий (может быть пустым элементом ``) + +### 4.2. Многоязычный текст (v8:item) + +Используется для Synonym, ToolTip, ObjectPresentation, ListPresentation и других текстовых свойств: + +```xml + + + ru + Текст на русском + + + en + English text + + +``` + +### 4.3. Определение типа (Type) + +Тип реквизита задаётся элементом ``, содержащим один или несколько ``: + +**Примитивные типы:** +```xml + + + xs:string + + 100 + Variable + + + + + + xs:decimal + + 15 + 2 + Any + + + + + + xs:boolean + + + + + xs:dateTime + + DateTime + + +``` + +**Ссылочные типы:** +```xml + +cfg:CatalogRef.Номенклатура + + +cfg:DocumentRef.РеализацияТоваровУслуг + + +cfg:EnumRef.ВидыОпераций + + +cfg:ChartOfAccountsRef.Хозрасчетный + + +cfg:ChartOfCharacteristicTypesRef.ВидыСубконто + + +cfg:ChartOfCalculationTypesRef.Начисления + + +cfg:ExchangePlanRef.ОбменССайтом + + +cfg:BusinessProcessRef.Задание + + +cfg:TaskRef.ЗадачаИсполнителя +``` + +**Специальные типы:** +```xml + +v8:ValueStorage + + +v8:UUID +``` + +**Составной тип (несколько типов):** +```xml + + cfg:CatalogRef.Контрагенты + cfg:CatalogRef.ФизическиеЛица + xs:string + + 100 + Variable + + +``` + +**Определяемый тип (DefinedType):** +```xml + + cfg:DefinedType.Цена + +``` + +### 4.4. Свойства представления + +```xml + + ru... + +... +... +... +... +``` + +### 4.5. Свойства поведения + +```xml +true +true +Use +Managed +Use +true +true +``` + +### 4.6. Свойства форм + +```xml +Catalog.Номенклатура.Form.ФормаЭлемента +Catalog.Номенклатура.Form.ФормаГруппы +Catalog.Номенклатура.Form.ФормаСписка +Catalog.Номенклатура.Form.ФормаВыбора +... +... +... +... +... +... +``` + +### 4.7. Свойства поиска при вводе + +```xml + + Catalog.Номенклатура.StandardAttribute.Description + Catalog.Номенклатура.StandardAttribute.Code + +Begin +Use +Directly +DontUse +Auto +``` + +### 4.8. Свойства блокировки данных + +```xml + + Document.АвансовыйОтчет.Attribute.Организация + +Managed +``` + +### 4.9. Ввод на основании (BasedOn) + +```xml + + Document.РасходныйКассовыйОрдер + Document.СписаниеБезналичныхДС + +``` + +### 4.10. Характеристики (Characteristics) + +Механизм динамических свойств — позволяет расширять состав реквизитов объекта в режиме 1С:Предприятие: + +```xml + + + + InformationRegister.ДополнительныеСведения.Dimension.Свойство + Catalog.НаборыДополнительныхРеквизитовИСведений.TabularSection.ДополнительныеРеквизиты.Attribute.ДополнительныйРеквизит + Документ_АвансовыйОтчет + -1 + -1 + + + InformationRegister.ДополнительныеСведения.Dimension.Объект + InformationRegister.ДополнительныеСведения.Dimension.Свойство + InformationRegister.ДополнительныеСведения.Resource.Значение + -1 + -1 + + + +``` + +--- + +## 5. Стандартные реквизиты (StandardAttributes) + +Каждый объект имеет набор предопределённых стандартных реквизитов, задаваемых в секции `` внутри ``. + +### 5.1. Формат стандартного реквизита + +```xml + + + + ShowError + false + true + Auto + + + ruПодсказка + + false + + + Auto + Auto + + false + Use + false + + + ruНаименование + + + Use + + + + + + +``` + +### 5.2. Свойства стандартного реквизита + +| Свойство | Тип | Описание | +|---|---|---| +| `name` | атрибут | Имя стандартного реквизита | +| `LinkByType` | элемент | Связь по типу (обычно пустой) | +| `FillChecking` | enum | `DontCheck` \| `ShowWarning` \| `ShowError` | +| `MultiLine` | boolean | Многострочное поле | +| `FillFromFillingValue` | boolean | Заполнять из значения заполнения | +| `CreateOnInput` | enum | `Auto` \| `Use` \| `DontUse` | +| `MaxValue` | any | Макс. значение (`xsi:nil="true"` если не задано) | +| `MinValue` | any | Мин. значение | +| `ToolTip` | v8:item | Подсказка | +| `ExtendedEdit` | boolean | Расширенное редактирование | +| `Format` | v8:item | Формат отображения | +| `EditFormat` | v8:item | Формат редактирования | +| `ChoiceForm` | string | Форма выбора | +| `QuickChoice` | enum | `Auto` \| `Use` \| `DontUse` | +| `ChoiceHistoryOnInput` | enum | `Auto` \| `Use` \| `DontUse` | +| `PasswordMode` | boolean | Режим пароля | +| `DataHistory` | enum | `Use` \| `DontUse` | +| `MarkNegatives` | boolean | Выделять отрицательные | +| `Synonym` | v8:item | Переопределённый синоним | +| `Comment` | string | Комментарий | +| `FullTextSearch` | enum | `Use` \| `DontUse` | +| `ChoiceParameterLinks` | сложный | Связи параметров выбора | +| `FillValue` | typed | Значение заполнения | +| `Mask` | string | Маска ввода | +| `ChoiceParameters` | сложный | Параметры выбора | + +### 5.3. Стандартные реквизиты по видам объектов + +| Стандартный реквизит | Catalog | Document | Enum | ChartOfAccounts | ChartOfCharacteristicTypes | ExchangePlan | BusinessProcess | Task | +|---|---|---|---|---|---|---|---|---| +| Ref | + | + | + | + | + | + | + | + | +| DeletionMark | + | + | - | + | + | + | + | + | +| PredefinedDataName | + | - | - | + | + | - | - | - | +| Predefined | + | - | - | + | + | - | - | - | +| Code | + | - | - | + | + | + | - | - | +| Description | + | - | - | + | + | + | - | + | +| IsFolder | +* | - | - | - | - | - | - | - | +| Owner | +** | - | - | - | - | - | - | - | +| Parent | +* | - | - | + | +* | - | - | - | +| Date | - | + | - | - | - | - | + | + | +| Number | - | + | - | - | - | - | + | + | +| Posted | - | + | - | - | - | - | - | - | +| Order | - | - | + | + | - | - | - | - | +| ValueType | - | - | - | - | + | - | - | - | +| Type (тип счёта) | - | - | - | + | - | - | - | - | +| OffBalance | - | - | - | + | - | - | - | - | +| ThisNode | - | - | - | - | - | + | - | - | +| SentNo | - | - | - | - | - | + | - | - | +| ReceivedNo | - | - | - | - | - | + | - | - | +| Started | - | - | - | - | - | - | + | - | +| Completed | - | - | - | - | - | - | + | - | +| HeadTask | - | - | - | - | - | - | + | - | +| Executed | - | - | - | - | - | - | - | + | +| RoutePoint | - | - | - | - | - | - | - | + | +| BusinessProcess | - | - | - | - | - | - | - | + | + +`*` — если Hierarchical=true. `**` — если задан Owners. + +**Стандартные реквизиты регистров:** + +| Стандартный реквизит | InformationRegister | AccumulationRegister | AccountingRegister | CalculationRegister | +|---|---|---|---|---| +| Active | + | + | + | + | +| Period | + | + | + | - | +| Recorder | +* | + | + | + | +| LineNumber | +* | + | + | + | +| Account | - | - | + | - | +| ExtDimension1..3 | - | - | + | - | +| ExtDimensionType1..3 | - | - | + | - | +| RegistrationPeriod | - | - | - | + | +| CalculationType | - | - | - | + | +| ActionPeriod | - | - | - | +** | +| BegOfActionPeriod | - | - | - | +** | +| EndOfActionPeriod | - | - | - | +** | +| BegOfBasePeriod | - | - | - | +*** | +| EndOfBasePeriod | - | - | - | +*** | +| ReversingEntry | - | - | - | + | + +`*` — если WriteMode = RecorderSubordinate. `**` — если ActionPeriod = true. `***` — если BasePeriod = true. + +### 5.4. LinkByType (связь по типу) + +Используется в регистрах бухгалтерии для привязки субконто к счёту: + +```xml + + AccountingRegister.Хозрасчетный.StandardAttribute.Account + 1 + +``` + +### 5.5. FillValue — значение заполнения + +```xml + + + + +Текст +false +0 +0001-01-01T00:00:00 + + +Catalog.Номенклатура.EmptyRef +Enum.ВидыОпераций.EnumValue.Продажа +``` + +--- + +## 6. Дочерние объекты (ChildObjects) + +### 6.1. Реквизит (Attribute) + +```xml + + + Организация + + ruОрганизация + + + + cfg:CatalogRef.Организации + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + ForItem + + +``` + +**Специфичные свойства реквизита:** + +| Свойство | Тип | Описание | +|---|---|---| +| `Indexing` | enum | `DontIndex` \| `Index` \| `IndexWithAdditionalOrder` | +| `ChoiceFoldersAndItems` | enum | `Items` \| `Folders` \| `FoldersAndItems` | +| `Use` | enum | `ForItem` \| `ForFolder` \| `ForFolderAndItem` (только для справочников) | +| `FillFromFillingValue` | boolean | Заполнять из значения по умолчанию | + +> **Различие хранимых и нехранимых объектов**: Свойства `Indexing`, `FullTextSearch`, `DataHistory`, `FillFromFillingValue`, `FillValue` присутствуют только у **хранимых** объектов (Catalog, Document, ExchangePlan, ChartOf*, BusinessProcess, Task). У объектов DataProcessor и Report (как в конфигурации, так и внешних EPF/ERF) эти свойства **отсутствуют**. Свойство `Use` есть только у справочников (Catalog). + +### 6.2. Табличная часть (TabularSection) + +```xml + + + + ... + ... + + + ... + ... + + + + Штрихкоды + ... + + + DontCheck + + + + + + ForItem + + + + + + + +``` + +Имя генерируемого типа: `{Тип}TabularSection.{Объект}.{ИмяТЧ}` и `{Тип}TabularSectionRow.{Объект}.{ИмяТЧ}`. + +### 6.3. Форма (Form) + +```xml +
+ + ФормаЭлемента + ... + + Ordinary + +
+``` + +Содержимое формы хранится в отдельных файлах: `Forms/<Имя>/<Имя>.xml` и `Forms/<Имя>/Ext/Form.xml`. + +### 6.4. Макет (Template) + +```xml + +``` + +Тело макета: `Templates/<Имя>/Ext/Template.xml` (или другое расширение в зависимости от типа). + +### 6.5. Команда (Command) + +```xml + + + ВвестиНаОсновании + ... + + FormCommandBarImportant + + + cfg:DocumentRef.АвансовыйОтчет + + + Multiple + true + Auto + ... + + CommonPicture.Создать + false + + + Auto + + +``` + +--- + +## 7. Справочники (Catalogs) + +XML-элемент: ``. Категория InternalInfo: CatalogObject, CatalogRef, CatalogSelection, CatalogList, CatalogManager. + +### 7.1. Специфичные свойства + +**Иерархия:** + +```xml +true +HierarchyFoldersAndItems +true +3 +true +``` + +**Код и наименование:** + +```xml +11 +String +Variable +WholeCatalog +150 +true +true +AsDescription +``` + +**Владелец:** + +```xml + + Catalog.Контрагенты + +ToItems +``` + +**Прочее:** + +```xml +InDialog +true +BothWays +Auto +``` + +### 7.2. Предопределённые элементы (Predefined.xml) + +Файл `Ext/Predefined.xml` содержит предопределённые элементы справочника (если есть): + +```xml + + + + ОсновнаяВалюта + Рубль + 643 + false + + + +``` + +--- + +## 8. Документы (Documents) + +XML-элемент: ``. Категория InternalInfo: DocumentObject, DocumentRef, DocumentSelection, DocumentList, DocumentManager. + +### 8.1. Специфичные свойства + +**Нумерация:** + +```xml + +String +11 +Variable +Year +true +true +``` + +**Проведение:** + +```xml +Allow +Allow +true +true +``` + +**Движения по регистрам:** + +```xml + + AccumulationRegister.ТоварыНаСкладах + InformationRegister.ЦеныНоменклатуры + AccountingRegister.Хозрасчетный + +AutoDeleteOnUnpost +WriteSelected +AutoFill +``` + +### 8.2. Стандартные реквизиты документа + +- **Ref** — ссылка +- **DeletionMark** — пометка удаления +- **Date** — дата документа +- **Number** — номер документа +- **Posted** — проведён + +--- + +## 9. Регистры + +### 9.1. Регистры сведений (InformationRegisters) + +XML-элемент: ``. + +**Специфичные свойства:** + +```xml +Month + +Independent +true +false +false +``` + +- `WriteMode=Independent` — записи создаются напрямую, без документа-регистратора +- `WriteMode=RecorderSubordinate` — записи привязаны к документу-регистратору +- `RecorderPosition` — непериодический, но подчинённый регистратору (период = момент записи регистратора) + +**Дочерние объекты (ChildObjects):** + +- `` — измерения (ключевые поля) +- `` — ресурсы (хранимые значения) +- `` — реквизиты (дополнительная информация) +- `
`, `