v3.0.0.1: Универсальное хранение настроек - первая сборка расширения
- Регистр ПС_Настройки с составным типом (10 корневых узлов ссылочных типов) - ПВХ ПС_ВидыНастроек - 3 роли: Чтение, Просмотр, Полный доступ - Модуль ПС_РаботаСНастройками - 3 формы - Совместимость: Version8_3_27 - Логотип: LogoPS.png - Автор: 1С:Франчайзи ООО Профи-Софт (42575-13) - Соавтор: AI-ассистент MiMoCode
This commit is contained in:
@@ -0,0 +1,314 @@
|
||||
# План выноса контекста «Настройки» в отдельное расширение
|
||||
|
||||
**Дата:** 15 июля 2026 г.
|
||||
**Версия документа:** 2.0
|
||||
**Конфигурация:** БухгалтерияПредприятияКОРП 3.0.199.13
|
||||
**Целевая совместимость:** Version8_5_1
|
||||
**Фокус:** контекст «Настройки» (ПС_Настройки + ПС_ВидыНастроек)
|
||||
|
||||
---
|
||||
|
||||
## 1. Резюме
|
||||
|
||||
Доработанная конфигурация БП КОРП содержит систему «ПС_Настройки» — механизм хранения пользовательских настроек через регистр сведений `ПС_Настройки` и план видов характеристик `ПС_ВидыНастроек`.
|
||||
|
||||
**Цель пилотной задачи:** вынести контекст «Настройки» в отдельное расширение (CFE), решить проблему типа `AnyIBRef` в ресурсе `ЗначениеНастройки` заменой на составной тип с корневыми узлами ссылочных типов дерева метаданных.
|
||||
|
||||
---
|
||||
|
||||
## 2. Инвентаризация кастомных объектов
|
||||
|
||||
### 2.1. Полный перечень объектов метаданных с префиксом ПС_
|
||||
|
||||
| Тип объекта | Количество | Объекты |
|
||||
|---|---|---|
|
||||
| **Регистры сведений** | 1 | ПС_Настройки |
|
||||
| **Планы видов характеристик** | 1 | ПС_ВидыНастроек |
|
||||
| **Справочники** | 19 | ПС_ВидыИзмененияПланируемыхДействий, ПС_ВидыКартриджей, ПС_ВидыОбъектовQRКодирования, ПС_ВидыОтменыПланируемыхДействий, ПС_ВидыПланирумыхДействий, ПС_ВидыРабот, ПС_ВидыРасходныхМатериаловДляВидовРабот, ПС_ВидыТехники, ПС_ВидыТехническихЗаданий, ПС_Картриджи, ПС_МоделиКартриджей, ПС_МоделиТехники, ПС_ПланируемыеДействия, ПС_РасходныеМатериалы, ПС_РолиПользователей, ПС_Техника, ПС_ТехническиеЗадания, ПС_ФирмыПроизводителиТехники, ТарифныеПланы* |
|
||||
| **Документы** | 22 | ПС_ВозвратКартриджей, ПС_ВходящийДокумент, ПС_ГрупповоеЗакрытиеМесяца, ПС_ДоговорОбслуживания, ПС_ЗагрузкаДанныхИз1СКоннект, ПС_ЗакрытиеМесяцаОбслуживанияПоКонтрагенту, ПС_ЗакрытиеМесяцаОбслуживанияПоСотруднику, ПС_ИзменениеПланируемыхДействий, ПС_ИнвентаризацияРасходныхМатериалов, ПС_ИсходящийДокумент, ПС_НарядНаЗаправкуКартриджа, ПС_НарядНаОбслуживаниеЗаказчика, ПС_НарядНаРаботыПоТехнике, ПС_НачальнаяЗадолженностьКонтрагентовПоОбслуживанию, ПС_ОтменаПланируемыхДействий, ПС_ОтчетОбУдаленнойРаботеСЗаказчиком, ПС_ПоступлениеКартриджей, ПС_ПрекращениеДействияДоговораОбслуживания, ПС_ПриказНаУтверждениеСтавокСотрудникам, ПС_ПриказНаУтверждениеТарифногоПлана, ПС_ПриказОНазначенииОтветственных, ПС_РегистрацияПланируемыхДействий |
|
||||
| **Общие модули** | 11 | ПС_РаботаСQRКодами, ПС_РаботаСДаннымиНарядовКлиент, ПС_РаботаСДаннымиНарядовСервер, ПС_РаботаСНастройками, ПС_РаботаСРолямиПользователей, ПС_РаботаСоСканеромШККлиент, ПС_РаботаСоСканеромШКСервер, ПС_РегламентПоДокументам, ПС_РегламентПоДокументамКлиент, ПС_ЦенообразованиеКлиент, ПС_ЦенообразованиеСервер |
|
||||
| **Общие формы** | 5 | ПС_Планировщик, ПС_СозданиеНовогоФизическогоЛица, ПС_ФормаВыбораДляПриказаНаУстановкуЦенРаботПоКартриджу, ПС_ФормаНачисленийИОплатПоДоговору, ПС_ФормаОплатПоСчету |
|
||||
| **Обработки** | 2 | ПС_ГрупповоеПланированиеДействий, ПС_НаполнениеСведенийОбОбъектахQRКодирования |
|
||||
| **Итого объектов** | **61** | |
|
||||
|
||||
*ТарифныеПланы — справочник без префикса ПС_, но относится к бизнес-домену «Обслуживание».
|
||||
|
||||
### 2.2. Модифицированные типовые объекты (ссылки на ПС_ из типового кода)
|
||||
|
||||
| Тип объекта | Объекты с изменениями | Суть изменений |
|
||||
|---|---|---|
|
||||
| **Общие модули** | ЗаполнениеБухгалтерскойОтчетностиИтоги, ЗаполнениеБухгалтерскойОтчетностиПереопределяемый, УчетРасходовУменьшающихОтдельныеНалоги, УчетУСН, УчетСтраховыхВзносов, МобильнаяБухгалтерия, УчетДоходовИРасходовПредпринимателя, РасчетыСБюджетом, ПлатежиВБюджетКлиентСерверПереопределяемый, УчетСтраховыхВзносовИП | Добавлены вызовы ПС_-модулей или обращения к ПС_-объектам |
|
||||
| **Общие формы** | ВыборФайловСведенийФизическихЛиц, ЗагрузкаФайловОтчета | Модуль формы содержит обращения к ПС_-объектам |
|
||||
| **Справочники** | КонтрагентыПрисоединенныеФайлы | Добавлен в доработанной конфигурации (не ПС_-префикс) |
|
||||
|
||||
---
|
||||
|
||||
## 3. Архитектурный анализ (DDD)
|
||||
|
||||
### 3.1. Выделение bounded context
|
||||
|
||||
Система «ПС_Настройки» — это **service-domain** (домен обслуживания техники и картриджей), изолированный от типовой бухгалтерской логики. Ядро домена:
|
||||
|
||||
- **Контекст «Настройки»:** ПС_Настройки (регистр) + ПС_ВидыНастроек (ПВХ) — универсальное хранилище пар ключ-значение
|
||||
- **Контекст «Обслуживание»:** ДоговорыОбслуживания, Наряды, Техника, Картриджи, РасходныеМатериалы
|
||||
- **Контекст «Планирование»:** ПланируемыеДействия, ТехническиеЗадания
|
||||
- **Контекст «Ценообразование»:** ТарифныеПланы, Ставки, Приказы
|
||||
|
||||
### 3.2. Модель ролей доступа к настройкам
|
||||
|
||||
**Текущее состояние:** одна роль `ПС_ЧтениеНастроек` — программный Read+View на все объекты настроек.
|
||||
|
||||
**Целевое состояние:** три роли в расширении:
|
||||
|
||||
| Роль | Назначение | Права на `ПС_Настройки` | Права на `ПС_ВидыНастроек` | Пример использования |
|
||||
|------|-----------|------------------------|---------------------------|---------------------|
|
||||
| `ПС_ЧтениеНастроек` | Программные вызовы (модули, обработки) | `Read` (без View) | `Read` (без View) | Модуль `ПС_РаботаСНастройками` читает значение настройки |
|
||||
| `ПС_ПросмотрНастроек` | Интерактивный просмотр (список, форма) | `Read` + `View` | `Read` + `View` | Пользователь открывает форму списка настроек |
|
||||
| `ПС_ПолныйДоступКНастройкам` | Полный доступ (создание, изменение, удаление) | `Read` + `View` + `Insert` + `Update` + `Delete` | `Read` + `View` + `Insert` + `Update` + `Delete` | Администратор управляет настройками через форму |
|
||||
|
||||
**Иерархия:** `ПС_ПолныйДоступКНастройкам` ⊃ `ПС_ПросмотрНастроек` ⊃ `ПС_ЧтениеНастроек`
|
||||
|
||||
**Реализация:**
|
||||
- В XML расширения создаются три объекта `<Role>` с уникальными UUID
|
||||
- Каждая роль содержит `<Rights>` для `InformationRegister.ПС_Настройки` и `ChartOfCharacteristicTypes.ПС_ВидыНастроек`
|
||||
- Дополнительно каждая роль наследует базовые права конфигурации (ThinClient, WebClient, DataAdministration и т.д.)
|
||||
|
||||
### 3.3. Зависимости от типовой конфигурации
|
||||
|
||||
ПС_-объекты ссылаются на типовые объекты:
|
||||
- `CatalogRef.Контрагенты`, `CatalogRef.ДоговорыКонтрагентов`
|
||||
- `CatalogRef.Сотрудники`, `CatalogRef.ФизическиеЛица`
|
||||
- `CatalogRef.Организации`, `CatalogRef.Пользователи`
|
||||
- `CatalogRef.Номенклатура`, `CatalogRef.Склады`
|
||||
- `CatalogRef.СтатьиЗатрат`, `CatalogRef.НоменклатурныеГруппы`
|
||||
|
||||
Эти ссылки **допустимы** в расширениях через заимствование (borrow).
|
||||
|
||||
### 3.3. Типы данных в ресурсе ПС_Настройки.ЗначениеНастройки
|
||||
|
||||
**Текущий состав типа ресурса:**
|
||||
- `xs:boolean`
|
||||
- `xs:string` (длина 250, переменная)
|
||||
- `xs:dateTime`
|
||||
- `xs:decimal` (10 знаков, 0 десятичных)
|
||||
- `cfg:AnyIBRef` ← **проблемный для расширений**
|
||||
|
||||
**Решение:** заменить `cfg:AnyIBRef` на составной тип, содержащий все корневые узлы ссылочных типов дерева метаданных 1С:
|
||||
|
||||
```xml
|
||||
<!-- Простые типы (оставляем как есть) -->
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
|
||||
<!-- Ссылочные типы — корневые узлы (вместо AnyIBRef) -->
|
||||
<v8:Type>cfg:CatalogRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:DocumentRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:ChartOfCharacteristicTypesRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:ChartOfAccountsRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:ChartOfCalculationTypesRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:EnumRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:ExchangePlanRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:BusinessProcessRef.Ссылка</v8:Type>
|
||||
<v8:Type>cfg:TaskRef.Ссылка</v8:Type>
|
||||
```
|
||||
|
||||
> **Примечание:** Точный список корневых узлов определяется платформой. В XML-выгрузке они представляются как `СправочникСсылка`, `ДокументСсылка` и т.д. Конкретные имена могут отличаться в зависимости от версии платформы и формата выгрузки.
|
||||
|
||||
---
|
||||
|
||||
## 4. План реализации (контекст «Настройки»)
|
||||
|
||||
### Фаза 1: Подготовка и анализ (1-2 дня)
|
||||
|
||||
| # | Задача | Результат |
|
||||
|---|--------|-----------|
|
||||
| 1.1 | Определить список корневых узлов ссылочных типов в XML-выгрузке (СправочникСсылка, ДокументСсылка и т.д.) | Список типов для составного типа |
|
||||
| 1.2 | Согласовать формулу расчёта `ЗначениеНастройки` в расширении (составной тип vs маппинг) | Решение по архитектуре типа |
|
||||
| 1.3 | Проверить, что `ПС_ВидыНастроек` не содержит ссылок на `ПС_Настройки` (односторонняя зависимость) | Подтверждение изоляции |
|
||||
|
||||
### Фаза 2: Создание расширения (1-2 дня)
|
||||
|
||||
| # | Задача | Результат |
|
||||
|---|--------|-----------|
|
||||
| 2.1 | Создать пустое расширение через `ibcmd` | CFE骨架 |
|
||||
| 2.2 | Завести `ПС_ВидыНастроек` (ПВХ) в расширение с заимствованием типовых справочников из `Type` | ПВХ в расширении |
|
||||
| 2.3 | Завести `ПС_Настройки` (регистр сведений) в расширение | Регистр в расширении |
|
||||
| 2.4 | **Заменить тип ресурса `ЗначениеНастройки`:** убрать `cfg:AnyIBRef`, добавить составной тип с корневыми узлами ссылочных типов | Обновлённый XML ресурса |
|
||||
| 2.5 | Создать роль `ПС_ЧтениеНастроек` (Read на ПС_Настройки + ПС_ВидыНастроек) | Роль для программных вызовов |
|
||||
| 2.6 | Создать роль `ПС_ПросмотрНастроек` (Read+View на ПС_Настройки + ПС_ВидыНастроек) | Роль для интерактивного просмотра |
|
||||
| 2.7 | Создать роль `ПС_ПолныйДоступКНастройкам` (Read+View+Insert+Update+Delete) | Роль для администратора |
|
||||
| 2.8 | Перенести общий модуль `ПС_РаботаСНастройками` | Модуль в расширении |
|
||||
| 2.9 | Перенести форму `ФормаСписка` ПС_Настройки | Форма в расширении |
|
||||
| 2.10 | Перенести формы `ФормаРедактированияНастроек` и `ФормаСписка` ПС_ВидыНастроек | Формы в расширении |
|
||||
|
||||
### Фаза 3: Сборка и первичное тестирование (1 день)
|
||||
|
||||
| # | Задача | Результат |
|
||||
|---|--------|-----------|
|
||||
| 3.1 | Собрать .cfe через `ibcmd` | Файл расширения |
|
||||
| 3.2 | Загрузить расширение в тестовую ИБ (поверх основной конфигурации, ДО удаления старых объектов) | Расширение загружено |
|
||||
| 3.3 | Проверить: сохранение настройки с простым типом (boolean, string, decimal, dateTime) | Простые типы работают |
|
||||
| 3.4 | Проверить: сохранение настройки со ссылочным типом (CatalogRef, DocumentRef и др.) | Ссылочные типы работают |
|
||||
|
||||
### Фаза 4: Миграция данных и удаление инфраструктуры из основной конфигурации (1-2 дня)
|
||||
|
||||
> **Порядок критичен:** сначала подключаем расширение к базе с данными, убеждаемся что оно работает, затем чистим основную конфигурацию.
|
||||
|
||||
| # | Задача | Результат |
|
||||
|---|--------|-----------|
|
||||
| 4.1 | **Создать резервную копию ИБ** (выгрузка .dt или файловой копии) | Бэкап перед миграцией |
|
||||
| 4.2 | **Подключить расширение** к рабочей ИБ (не к тестовой!) | Расширение активно в рабочей базе |
|
||||
| 4.3 | **Проверить чтение данных:** убедиться, что расширение корректно читает данные из регистра `ПС_Настройки`, который пока ещё находится в основной конфигурации | Чтение работает |
|
||||
| 4.4 | **Экспорт данных настроек** — выгрузить все записи регистра `ПС_Настройки` и предопределённые элементы `ПС_ВидыНастроек` во временное хранилище (XML/JSON/temp-таблица) | Бэкап данных настроек |
|
||||
| 4.5 | **Удалить инфраструктуру настроек из основной конфигурации** (пошагово): | |
|
||||
| 4.5.1 | Удалить регистр сведений `ПС_Настройки` из основной CF | Регистр удалён |
|
||||
| 4.5.2 | Удалить план видов характеристик `ПС_ВидыНастроек` из основной CF | ПВХ удалён |
|
||||
| 4.5.3 | Удалить роль `ПС_ЧтениеНастроек` из основной CF | Роль удалена |
|
||||
| 4.5.4 | Удалить общий модуль `ПС_РаботаСНастройками` из основной CF | Модуль удалён |
|
||||
| 4.5.5 | Удалить формы `ФормаСписка` (ПС_Настройки) и `ФормаРедактированияНастроек`, `ФормаСписка` (ПС_ВидыНастроек) из основной CF | Формы удалены |
|
||||
| 4.5.6 | Проверить, что нет ссылок на удалённые объекты из других ПС_-объектов (если остаются в CF) | Нет сломанных ссылок |
|
||||
| 4.6 | **Перезаписать данные в новый регистр** (теперь уже из расширения) — импортировать данные, сохранённые на шаге 4.4 | Данные мигрированы |
|
||||
| 4.7 | **Проверить целостность данных:** убедиться, что все настройки доступны через расширение | Данные на месте |
|
||||
| 4.8 | **Проверить чтение/запись** настроек через расширение (не через основную CF) | Расширение работает автономно |
|
||||
|
||||
### Фаза 5: Финальное тестирование (0.5 дня)
|
||||
|
||||
| # | Задача | Результат |
|
||||
|---|--------|-----------|
|
||||
| 5.1 | Проверить: основная конфигурация без расширения работает штатно (нет ссылок на удалённые объекты) | Типовая не сломана |
|
||||
| 5.2 | Проверить: расширение загружается на чистую тестовую ИБ (без предварительных данных) | Чистая установка работает |
|
||||
| 5.3 | Проверить: миграция данных на чистой ИБ (шаг 4.6 на другой базе) | Процедура миграции воспроизводима |
|
||||
|
||||
### Фаза 6: Документирование (0.5 дня)
|
||||
|
||||
| # | Задача | Результат |
|
||||
|---|--------|-----------|
|
||||
| 6.1 | Описать структуру расширения и состав типа `ЗначениеНастройки` | README.md расширения |
|
||||
| 6.2 | Описать процедуру миграции данных (шаги 4.1–4.8) | Руководство по миграции |
|
||||
| 6.3 | Зафиксировать версии: конфигурация 3.0.199.13, расширение v1.0 | Метаданные |
|
||||
|
||||
---
|
||||
|
||||
## 5. Оценка трудозатрат
|
||||
|
||||
| Фаза | Дни | Примечание |
|
||||
|------|-----|------------|
|
||||
| Фаза 1: Подготовка | 1-2 | Определение типа + анализ зависимостей |
|
||||
| Фаза 2: Расширение | 1-2 | 3 объекта + модуль + формы |
|
||||
| Фаза 3: Сборка + первичное тестирование | 1 | Проверка на ИБ без удаления |
|
||||
| Фаза 4: Миграция данных + удаление из CF | 1-2 | Критичная — порядок шагов |
|
||||
| Фаза 5: Финальное тестирование | 0.5 | Чистая установка + миграция |
|
||||
| Фаза 6: Документация | 0.5 | README + руководство по миграции |
|
||||
| **Итого** | **4-7** | |
|
||||
|
||||
---
|
||||
|
||||
## 6. Риски и митигация
|
||||
|
||||
| Риск | Вероятность | Влияние | Меры |
|
||||
|------|-------------|---------|------|
|
||||
| Составной тип `ЗначениеНастройки` не покрывает все нужные ссылочные типы | Средняя | Среднее | Аудит всех обращений к ресурсу из ПС_-модулей |
|
||||
| Потеря данных настроек при миграции | Низкая | Высокое | Бэкап (шаг 4.1) + верификация после импорта (шаг 4.7) |
|
||||
| Сломанные ссылки после удаления объектов из CF | Средняя | Среднее | Проверка ссылок перед удалением (шаг 4.5.5), пошаговое удаление |
|
||||
| Расширение не видит данные, записанные через основную CF | Средняя | Среднее | Порядок: сначала подключение расширения → проверка чтения → удаление из CF |
|
||||
| Невоспроизводимость процедуры миграции | Низкая | Среднее | Документирование (шаг 6.2) + тест на чистой ИБ (шаг 5.3) |
|
||||
|
||||
---
|
||||
|
||||
## 7. Детали замены типа ресурса
|
||||
|
||||
### 7.1. Текущее состояние (XML-выгрузка)
|
||||
|
||||
```xml
|
||||
<!-- InformationRegisters/ПС_Настройки.xml → Resource.ЗначениеНастройки -->
|
||||
<Type>
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:TypeSet>cfg:AnyIBRef</v8:TypeSet> <!-- ← проблемный -->
|
||||
...
|
||||
</Type>
|
||||
```
|
||||
|
||||
### 7.2. Целевое состояние (расширение)
|
||||
|
||||
Заменяем `cfg:AnyIBRef` на перечисление корневых узлов ссылочных типов дерева метаданных:
|
||||
|
||||
```xml
|
||||
<Type>
|
||||
<!-- Простые типы (без изменений) -->
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
|
||||
<!-- Ссылочные типы — корневые узлы (вместо AnyIBRef) -->
|
||||
<v8:Type>cfg:CatalogRef.Ссылка</v8:Type> <!-- СправочникСсылка -->
|
||||
<v8:Type>cfg:DocumentRef.Ссылка</v8:Type> <!-- ДокументСсылка -->
|
||||
<v8:Type>cfg:ChartOfCharacteristicTypesRef.Ссылка</v8:Type> <!-- ПланВидовХарактеристикСсылка -->
|
||||
<v8:Type>cfg:ChartOfAccountsRef.Ссылка</v8:Type> <!-- ПланСчетовСсылка -->
|
||||
<v8:Type>cfg:ChartOfCalculationTypesRef.Ссылка</v8:Type> <!-- ПланВидовРасчетаСсылка -->
|
||||
<v8:Type>cfg:EnumRef.Ссылка</v8:Type> <!-- ПеречислениеСсылка -->
|
||||
<v8:Type>cfg:ExchangePlanRef.Ссылка</v8:Type> <!-- ПланОбменаСсылка -->
|
||||
<v8:Type>cfg:BusinessProcessRef.Ссылка</v8:Type> <!-- БизнесПроцессСсылка -->
|
||||
<v8:Type>cfg:TaskRef.Ссылка</v8:Type> <!-- ЗадачаСсылка -->
|
||||
<v8:Type>cfg:AccumulationRegisterRecordKey.Ссылка</v8:Type> <!-- (опционально) -->
|
||||
<v8:Type>cfg:InformationRegisterRecordKey.Ссылка</v8:Type> <!-- (опционально) -->
|
||||
...
|
||||
</Type>
|
||||
```
|
||||
|
||||
### 7.3. Маппинг корневых узлов
|
||||
|
||||
| Корневой узел дерева метаданных | XML-тип в расширении | Пример использования |
|
||||
|---|---|---|
|
||||
| СправочникСсылка | `CatalogRef.Ссылка` | Ссылки на Контрагентов, Договоры, Сотрудников |
|
||||
| ДокументСсылка | `DocumentRef.Ссылка` | Ссылки на документы учёта |
|
||||
| ПланВидовХарактеристикСсылка | `ChartOfCharacteristicTypesRef.Ссылка` | Ссылки на ПВХ (в т.ч. ПС_ВидыНастроек) |
|
||||
| ПланСчетовСсылка | `ChartOfAccountsRef.Ссылка` | Ссылки на план счетов |
|
||||
| ПланВидовРасчетаСсылка | `ChartOfCalculationTypesRef.Ссылка` | Ссылки на планы видов расчёта |
|
||||
| ПеречислениеСсылка | `EnumRef.Ссылка` | Ссылки на перечисления |
|
||||
| ПланОбменаСсылка | `ExchangePlanRef.Ссылка` | Ссылки на планы обмена |
|
||||
| БизнесПроцессСсылка | `BusinessProcessRef.Ссылка` | Ссылки на бизнес-процессы |
|
||||
| ЗадачаСсылка | `TaskRef.Ссылка` | Ссылки на задачи |
|
||||
|
||||
---
|
||||
|
||||
## 8. Чек-лист готовности
|
||||
|
||||
### Расширение
|
||||
- [ ] Определён полный список корневых узлов ссылочных типов для составного типа
|
||||
- [ ] Тип `AnyIBRef` заменён на составной тип в `ПС_Настройки.ЗначениеНастройки`
|
||||
- [ ] Создана роль `ПС_ЧтениеНастроек` (Read на регистр + ПВХ)
|
||||
- [ ] Создана роль `ПС_ПросмотрНастроек` (Read+View на регистр + ПВХ)
|
||||
- [ ] Создана роль `ПС_ПолныйДоступКНастройкам` (полные права)
|
||||
- [ ] Расширение содержит: ПС_ВидыНастроек (ПВХ) + ПС_Настройки (регистр) + 3 роли + ПС_РаботаСНастройками (модуль) + 3 формы
|
||||
- [ ] Расширение собирается в .cfe без ошибок
|
||||
- [ ] Расширение загружается на тестовую ИБ
|
||||
- [ ] Сохранение/чтение настроек работает для простых типов
|
||||
- [ ] Сохранение/чтение настроек работает для ссылочных типов
|
||||
- [ ] Роли корректно ограничивают доступ (тест через разные профили)
|
||||
|
||||
### Миграция данных
|
||||
- [ ] Бэкап ИБ создан перед миграцией
|
||||
- [ ] Расширение подключено к рабочей ИБ (поверх основной CF)
|
||||
- [ ] Расширение корректно читает данные из старого регистра (в основной CF)
|
||||
- [ ] Экспорт данных настроек выполнен (XML/JSON)
|
||||
- [ ] Инфраструктура настроек удалена из основной CF (ПС_Настройки, ПС_ВидыНастроек, ПС_РаботаСНастройками, 3 формы)
|
||||
- [ ] Данные импортированы в регистр расширения
|
||||
- [ ] Целостность данных проверена (все настройки на месте)
|
||||
- [ ] Чтение/запись через расширение работает автономно
|
||||
|
||||
### Валидация
|
||||
- [ ] Основная CF без расширения работает штатно
|
||||
- [ ] Расширение загружается на чистую ИБ (чистая установка)
|
||||
- [ ] Процедура миграции воспроизводима на другой ИБ
|
||||
|
||||
---
|
||||
|
||||
*Документ подготовлен на основе анализа XML-выгрузок конфигураций:*
|
||||
- *Доработанная: /netfolder-43/БП_КОРП-ПС/CF-XML/*
|
||||
- *Типовая: /netfolder-43/БП_КОРП-ПС/PS-CF-XML/*
|
||||
@@ -0,0 +1,22 @@
|
||||
# Задание на планирование выноса доработки по настройкам в отдельное расширение
|
||||
|
||||
**Дата:** 15 июля 2026 г.
|
||||
**Версия документа:** 1.0
|
||||
|
||||
---
|
||||
|
||||
## 1. Краткое описание задания
|
||||
В организации используется доработанная конфигурация 1С БП КОРП.
|
||||
В том числе разработана система хранения настроек в регистре сведений "ПС_Настройки".
|
||||
Необходимо спланировать перенос места хранения (регистры, Планы видов характеристик, специальные) и всю логику по работе с настройками вынести в отдельное расширение.
|
||||
Из основной конфигурации всё, что перенесено необходимо убрать.
|
||||
При проектировании руководствоваться идеологией DDD.
|
||||
|
||||
## 2. Файлы для изучения
|
||||
|
||||
- Выгрузка доработанной конфигурации (путь: \netfolder-43\БП_КОРП-ПС\PS-CF-XML)
|
||||
- Выгрузка типовой конфигурации (путь: \netfolder-43\БП_КОРП-ПС\CF-XML)
|
||||
|
||||
## 3. Ожидаемый результат
|
||||
|
||||
Документ с детальным планом по решению задачи. (путь: \netfolder-43\БП_КОРП-ПС\ПС_Настройки\docs\plans)
|
||||
Reference in New Issue
Block a user