#!/usr/bin/env python3
"""Populate the test 1C extension dump with managed form learning fixtures."""
from __future__ import annotations
import hashlib
import json
import shutil
import uuid
from pathlib import Path
ROOT = Path(r"Z:\codex\1C\XML\UPO\Структура базы 1с\Расширения\test")
DONOR = Path(
r"\\nas\MST\codex\1C\XML\UPO\Структура базы 1с\Расширения\фс_ДоработкиОбщее"
r"\DataProcessors\фс_НастройкаУсловногоОформления"
)
OBJECT_NAME = "t_FORM_Probe"
OBJECT_UUID = "ae203d97-7a61-56d3-b1d0-f09bc7d83b21"
OBJECT_TYPE_ID = "5af4a44d-2c23-5329-afd1-16f3c9bc1602"
OBJECT_VALUE_ID = "d88b7e36-cdd5-53c8-b21d-431d863b5c79"
MANAGER_TYPE_ID = "60d06494-8efe-535e-9305-dbc33ae7c68d"
MANAGER_VALUE_ID = "c64a21a1-f344-50f0-ab4f-14603935586e"
FORMS = [
{
"name": "t_FORM_CommandBaseline",
"uuid": "6a0b7e2c-49f6-5965-9100-2603d6be8eb2",
"synonym": "FORM command baseline",
"description": "Original command binding form copied from the donor.",
"replacements": [],
},
{
"name": "t_FORM_CommandLocalSwitch",
"uuid": "cf77d8a3-6b09-590d-b51c-8796a72c37fa",
"synonym": "FORM local command switch",
"description": "Changes ФормаКомандаОбновить to Form.Command.КомандаПример1.",
"replacements": [
("Form.Command.КомандаПрименить", "Form.Command.КомандаПример1"),
],
},
{
"name": "t_FORM_CommandStandardSwitch",
"uuid": "0c81571a-58bc-5d40-b91b-fbe01964809a",
"synonym": "FORM standard command switch",
"description": "Changes ТЗИзменитьФорму from standard CustomizeForm to Form.Command.КомандаПример1.",
"replacements": [
("Form.StandardCommand.CustomizeForm", "Form.Command.КомандаПример1"),
],
},
{
"name": "t_FORM_CommandAddedButtons",
"uuid": "586eaf5e-23c7-5d97-8548-26e392bc7b3f",
"synonym": "FORM added command buttons",
"description": "Adds two extra buttons under Группа2 for local and standard command learning.",
"replacements": [
(
"\t\t\t\t\t\t\t\t",
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t",
),
],
},
{
"name": "t_FORM_TopBarExpanded",
"uuid": "0d69eaa2-937d-54b6-8951-24f0b37f819a",
"synonym": "FORM top bar expanded buttons",
"description": "Expands the self-closing form AutoCommandBar and adds local/standard command buttons.",
"replacements": [
(
"\t",
"\t\n"
"\t\t\n"
"\t\t\t\n"
"\t\t\t\n"
"\t\t\n"
"\t",
),
],
},
{
"name": "t_FORM_TopBarCommandEdited",
"uuid": "bbb7891d-3eb9-5c7a-93f8-d4ed551102ff",
"synonym": "FORM top bar command edited",
"description": "Expands the top command bar and swaps existing top button command bindings.",
"replacements": [
(
"\t",
"\t\n"
"\t\t\n"
"\t\t\t\n"
"\t\t\t\n"
"\t\t\n"
"\t",
),
],
},
{
"name": "t_FORM_FieldVisualVariants",
"uuid": "4fc3dacf-8c90-5f80-8b26-70cb7773c431",
"synonym": "FORM field visual variants",
"description": "Changes field width, height, multiline, and auto-max-width values for decoder learning.",
"replacements": [
("5", "9"),
("5", "11"),
(
"\t\t\t\t\t\t\t\t\t5\n"
"\t\t\t\t\t\t\t\t\t",
"\t\t\t\t\t\t\t\t\t13\n"
"\t\t\t\t\t\t\t\t\t",
),
(
"\t\t\t\t\t\t\t\t\t5\n"
"\t\t\t\t\t\t\t\t\t",
"\t\t\t\t\t\t\t\t\t15\n"
"\t\t\t\t\t\t\t\t\t",
),
(
"\t\t\t\t\t\t\t\t\t5\n"
"\t\t\t\t\t\t\t\t\tfalse",
"\t\t\t\t\t\t\t\t\t17\n"
"\t\t\t\t\t\t\t\t\tfalse",
),
(
"\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\t8\n"
"\t\t\t\t\t\t\ttrue",
"\t\t\t\t\t\t\t19\n"
"\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\t12\n"
"\t\t\t\t\t\t\ttrue",
),
],
},
{
"name": "t_FORM_FieldBehaviorVariants",
"uuid": "39eddfd9-2d50-5ff1-9a04-99b9bc8d4df2",
"synonym": "FORM field behavior variants",
"description": "Changes field visibility, availability, read-only, skip-on-input, and title location values.",
"replacements": [
(
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tА",
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tNone\n"
"\t\t\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\t\t\tА",
),
(
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tБ",
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\t\t\ttrue\n"
"\t\t\t\t\t\t\t\t\tБ",
),
(
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tХочуКрасненького",
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\ttrue\n"
"\t\t\t\t\t\t\t\t\tХочуКрасненького",
),
(
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tТЗ.К1",
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\t\t\tТЗ.К1",
),
(
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tТЗ.К2",
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\ttrue\n"
"\t\t\t\t\t\t\t\t\ttrue\n"
"\t\t\t\t\t\t\t\t\tТЗ.К2",
),
(
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tТЗ.Примечание",
"\t\t\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\t\t\tNone\n"
"\t\t\t\t\t\t\t\t\tТЗ.Примечание",
),
(
"\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\tКодПрограммы",
"\t\t\t\t\t\t\n"
"\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\tfalse\n"
"\t\t\t\t\t\t\ttrue\n"
"\t\t\t\t\t\t\ttrue\n"
"\t\t\t\t\t\t\tКодПрограммы",
),
],
},
{
"name": "t_FORM_ButtonBehaviorVariants",
"uuid": "a6af3267-8c83-5bc5-8fa8-1f77c0dbfd12",
"synonym": "FORM button behavior variants",
"description": "Changes usual and command-bar button visibility and availability values.",
"replacements": [
(
"\t",
"\t\n"
"\t\t\n"
"\t\t\t\n"
"\t\t\t\n"
"\t\t\n"
"\t",
),
(
"\t\t\t\t\t\t\t\t\t