v3.0.0.1: Универсальное хранение настроек - первая сборка расширения

- Регистр ПС_Настройки с составным типом (10 корневых узлов ссылочных типов)
- ПВХ ПС_ВидыНастроек
- 3 роли: Чтение, Просмотр, Полный доступ
- Модуль ПС_РаботаСНастройками
- 3 формы
- Совместимость: Version8_3_27
- Логотип: LogoPS.png
- Автор: 1С:Франчайзи ООО Профи-Софт (42575-13)
- Соавтор: AI-ассистент MiMoCode
This commit is contained in:
Профи-Софт
2026-07-16 05:51:01 +00:00
commit 3dc3db2058
24 changed files with 2035 additions and 0 deletions
BIN
View File
Binary file not shown.
@@ -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)
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
<CommandBarLocation>None</CommandBarLocation>
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<InputField name="Код" id="1">
<DataPath>Объект.Code</DataPath>
<Visible>false</Visible>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="КодКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="КодРасширеннаяПодсказка" id="3"/>
</InputField>
<LabelField name="Родитель" id="7">
<DataPath>Объект.Parent</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа настроек</v8:content>
</v8:item>
</Title>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="РодительКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="РодительРасширеннаяПодсказка" id="9"/>
</LabelField>
<InputField name="Наименование" id="4">
<DataPath>Объект.Description</DataPath>
<EditMode>EnterOnInput</EditMode>
<TextColor>style:FieldSelectionBackColor</TextColor>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="6"/>
</InputField>
<UsualGroup name="ГруппаДляРазработчиков" id="16">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Для разработчиков</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа для разработчиков</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group>
<Behavior>Collapsible</Behavior>
<Collapsed>true</Collapsed>
<Representation>StrongSeparation</Representation>
<ExtendedTooltip name="ГруппаДляРазработчиковРасширеннаяПодсказка" id="17"/>
<ChildItems>
<InputField name="Имя" id="13">
<DataPath>Объект.Имя</DataPath>
<ContextMenu name="ИмяКонтекстноеМеню" id="14"/>
<ExtendedTooltip name="ИмяРасширеннаяПодсказка" id="15"/>
</InputField>
<InputField name="ТипЗначения" id="18">
<DataPath>Объект.ValueType</DataPath>
<ContextMenu name="ТипЗначенияКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="ТипЗначенияРасширеннаяПодсказка" id="20"/>
</InputField>
</ChildItems>
</UsualGroup>
<LabelField name="ТекущееЗначение" id="10">
<DataPath>ТекущееЗначение</DataPath>
<TextColor>style:SpecialTextColor</TextColor>
<ContextMenu name="ТекущееЗначениеКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="ТекущееЗначениеРасширеннаяПодсказка" id="12"/>
</LabelField>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:ChartOfCharacteristicTypesObject.ПС_ВидыНастроек</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
</Attribute>
<Attribute name="ТекущееЗначение" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Текущее значение</v8:content>
</v8:item>
</Title>
<Type/>
</Attribute>
</Attributes>
</Form>
@@ -0,0 +1,5 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТекущееЗначение = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(КонецДня(ТекущаяДата()),Новый Структура("ВидНастройки",Объект.Ссылка)).ЗначениеНастройки;
КонецПроцедуры
@@ -0,0 +1,186 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<CheckBoxField name="ПоказыватьНеиспользуемыеНастройки" id="28">
<DataPath>ПоказыватьНеиспользуемыеНастройки</DataPath>
<GroupHorizontalAlign>Right</GroupHorizontalAlign>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПоказыватьНеиспользуемыеНастройкиКонтекстноеМеню" id="29"/>
<ExtendedTooltip name="ПоказыватьНеиспользуемыеНастройкиРасширеннаяПодсказка" id="30"/>
<Events>
<Event name="OnChange">ПоказыватьНеиспользуемыеНастройкиПриИзменении</Event>
</Events>
</CheckBoxField>
<UsualGroup name="СписокКомпоновщикНастроекПользовательскиеНастройки" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<VerticalStretch>false</VerticalStretch>
<Group>Vertical</Group>
<Behavior>Usual</Behavior>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="СписокКомпоновщикНастроекПользовательскиеНастройкиРасширеннаяПодсказка" id="2"/>
</UsualGroup>
<Table name="Список" id="3">
<CommandBarLocation>None</CommandBarLocation>
<DefaultItem>true</DefaultItem>
<InitialTreeView>ExpandTopLevel</InitialTreeView>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
<v8:variant xsi:type="v8:StandardPeriodVariant">Custom</v8:variant>
<v8:startDate>0001-01-01T00:00:00</v8:startDate>
<v8:endDate>0001-01-01T00:00:00</v8:endDate>
</Period>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<RestoreCurrentRow>false</RestoreCurrentRow>
<TopLevelParent xsi:nil="true"/>
<ShowRoot>true</ShowRoot>
<AllowRootChoice>false</AllowRootChoice>
<UpdateOnDataChange>Auto</UpdateOnDataChange>
<UserSettingsGroup>СписокКомпоновщикНастроекПользовательскиеНастройки</UserSettingsGroup>
<AllowGettingCurrentRowURL>true</AllowGettingCurrentRowURL>
<ContextMenu name="СписокКонтекстноеМеню" id="4"/>
<AutoCommandBar name="СписокКоманднаяПанель" id="5">
<Autofill>false</Autofill>
</AutoCommandBar>
<ExtendedTooltip name="СписокРасширеннаяПодсказка" id="6"/>
<SearchStringAddition name="СписокСтрокаПоиска" id="7">
<AdditionSource>
<Item>Список</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСтрокаПоискаКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="СписокСтрокаПоискаРасширеннаяПодсказка" id="9"/>
</SearchStringAddition>
<ViewStatusAddition name="СписокСостояниеПросмотра" id="10">
<AdditionSource>
<Item>Список</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСостояниеПросмотраКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="СписокСостояниеПросмотраРасширеннаяПодсказка" id="12"/>
</ViewStatusAddition>
<SearchControlAddition name="СписокУправлениеПоиском" id="13">
<AdditionSource>
<Item>Список</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="СписокУправлениеПоискомКонтекстноеМеню" id="14"/>
<ExtendedTooltip name="СписокУправлениеПоискомРасширеннаяПодсказка" id="15"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="Код" id="16">
<DataPath>Список.Код</DataPath>
<Visible>false</Visible>
<ContextMenu name="КодКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="КодРасширеннаяПодсказка" id="18"/>
</LabelField>
<LabelField name="Наименование" id="19">
<DataPath>Список.Наименование</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройка</v8:content>
</v8:item>
</Title>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="21"/>
</LabelField>
<LabelField name="ЗначениеНастройки" id="25">
<DataPath>Список.ЗначениеНастройки</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Значение</v8:content>
</v8:item>
</Title>
<ContextMenu name="ЗначениеНастройкиКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="ЗначениеНастройкиРасширеннаяПодсказка" id="27"/>
</LabelField>
<LabelField name="ТипЗначения" id="22">
<DataPath>Список.ТипЗначения</DataPath>
<DefaultItem>true</DefaultItem>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тип</v8:content>
</v8:item>
</Title>
<ContextMenu name="ТипЗначенияКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="ТипЗначенияРасширеннаяПодсказка" id="24"/>
</LabelField>
</ChildItems>
</Table>
</ChildItems>
<Attributes>
<Attribute name="Список" id="1">
<Type>
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<Settings xsi:type="DynamicList">
<ManualQuery>true</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<QueryText>ВЫБРАТЬ
ПланВидовХарактеристикПС_ВидыНастроек.Ссылка КАК Ссылка,
ПланВидовХарактеристикПС_ВидыНастроек.ПометкаУдаления КАК ПометкаУдаления,
ПланВидовХарактеристикПС_ВидыНастроек.Родитель КАК Родитель,
ПланВидовХарактеристикПС_ВидыНастроек.ЭтоГруппа КАК ЭтоГруппа,
ПланВидовХарактеристикПС_ВидыНастроек.Код КАК Код,
ПланВидовХарактеристикПС_ВидыНастроек.Наименование КАК Наименование,
ПланВидовХарактеристикПС_ВидыНастроек.ТипЗначения КАК ТипЗначения,
ПланВидовХарактеристикПС_ВидыНастроек.Предопределенный КАК Предопределенный,
ПланВидовХарактеристикПС_ВидыНастроек.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
ПС_НастройкиСрезПоследних.ЗначениеНастройки КАК ЗначениеНастройки
ИЗ
ПланВидовХарактеристик.ПС_ВидыНастроек КАК ПланВидовХарактеристикПС_ВидыНастроек
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПС_Настройки.СрезПоследних КАК ПС_НастройкиСрезПоследних
ПО ПС_НастройкиСрезПоследних.ВидНастройки = ПланВидовХарактеристикПС_ВидыНастроек.Ссылка
ГДЕ
(НЕ ПланВидовХарактеристикПС_ВидыНастроек.ПометкаУдаления
ИЛИ ПланВидовХарактеристикПС_ВидыНастроек.ПометкаУдаления
И &amp;ПоказыватьНеиспользуемыеНастройки)</QueryText>
<MainTable>ChartOfCharacteristicTypes.ПС_ВидыНастроек</MainTable>
<ListSettings>
<dcsset:filter>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</dcsset:userSettingID>
</dcsset:filter>
<dcsset:order>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</dcsset:userSettingID>
</dcsset:order>
<dcsset:conditionalAppearance>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</dcsset:userSettingID>
</dcsset:conditionalAppearance>
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
<dcsset:itemsUserSettingID>911b6018-f537-43e8-a417-da56b22f9aec</dcsset:itemsUserSettingID>
</ListSettings>
</Settings>
</Attribute>
<Attribute name="ПоказыватьНеиспользуемыеНастройки" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Показывать неиспользуемые настройки</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
</Form>
@@ -0,0 +1,15 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбновитьПараметрыСписка();
КонецПроцедуры
&НаСервере
Процедура ОбновитьПараметрыСписка()
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьНеиспользуемыеНастройки",ПоказыватьНеиспользуемыеНастройки);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьНеиспользуемыеНастройкиПриИзменении(Элемент)
ОбновитьПараметрыСписка();
КонецПроцедуры
@@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<ChartOfCharacteristicTypes uuid="a3118fa0-6426-4cd0-8b2c-de40b1cfa865">
<InternalInfo>
<xr:GeneratedType name="ChartOfCharacteristicTypesObject.ПС_ВидыНастроек" category="Object">
<xr:TypeId>8d5a99cd-d7ca-445d-a8e9-e7fd2ee4eda9</xr:TypeId>
<xr:ValueId>5b6c191f-635e-47bf-988d-6b89e02c21df</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="ChartOfCharacteristicTypesRef.ПС_ВидыНастроек" category="Ref">
<xr:TypeId>67eaa487-1ab2-4c5d-9b69-307a0c5807e2</xr:TypeId>
<xr:ValueId>c0478010-5618-402d-bcc5-3efdf575661d</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="ChartOfCharacteristicTypesSelection.ПС_ВидыНастроек" category="Selection">
<xr:TypeId>51e77e14-cd35-4b1c-96f5-2f423fe9205b</xr:TypeId>
<xr:ValueId>af42f2bb-5094-4fb3-a086-8572e9c4c357</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="ChartOfCharacteristicTypesList.ПС_ВидыНастроек" category="List">
<xr:TypeId>a513673c-c4bf-4fc1-9600-7b2b0b721003</xr:TypeId>
<xr:ValueId>23416a9b-3280-49f3-a37d-8d656406377f</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="Characteristic.ПС_ВидыНастроек" category="Characteristic">
<xr:TypeId>6856a5fc-5441-43d7-b052-1b37118f639e</xr:TypeId>
<xr:ValueId>3ee47073-477d-4353-a355-740914fa9603</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="ChartOfCharacteristicTypesManager.ПС_ВидыНастроек" category="Manager">
<xr:TypeId>c8e5c8c4-f917-488b-a662-fd90197bcbda</xr:TypeId>
<xr:ValueId>0b101c09-1ca3-4f6c-bda0-c14f60f2b0c7</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ПС_ВидыНастроек</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Виды настроек</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>true</UseStandardCommands>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CharacteristicExtValues/>
<Type>
<v8:Type>cfg:CatalogRef.Склады</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_ВидыТехники</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_ТиповыеКонфигурации1СПредприятие</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_ВидыРасходныхМатериаловДляВидовРабот</v8:Type>
<v8:Type>cfg:CatalogRef.ТарифныеПланы</v8:Type>
<v8:Type>cfg:CatalogRef.Сотрудники</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_Конфигурации1СПредприятиеКонтрагентов</v8:Type>
<v8:Type>cfg:CatalogRef.ДоговорыКонтрагентов</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_Техника</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_РасходныеМатериалы</v8:Type>
<v8:Type>xs:boolean</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_ВидыКартриджей</v8:Type>
<v8:Type>cfg:CatalogRef.КонтактныеЛица</v8:Type>
<v8:Type>cfg:CatalogRef.НоменклатурныеГруппы</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_ВидыРабот</v8:Type>
<v8:Type>xs:string</v8:Type>
<v8:Type>cfg:CatalogRef.Контрагенты</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_Картриджи</v8:Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_ФирмыПроизводителиПрограммногоОбеспечения</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_РолиПользователей</v8:Type>
<v8:Type>xs:decimal</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_Конфигурации1СПредприятиеОрганизации</v8:Type>
<v8:Type>cfg:CatalogRef.Пользователи</v8:Type>
<v8:Type>cfg:CatalogRef.СтатьиЗатрат</v8:Type>
<v8:Type>cfg:CatalogRef.Организации</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_МоделиТехники</v8:Type>
<v8:Type>cfg:CatalogRef.Номенклатура</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_ФирмыПроизводителиТехники</v8:Type>
<v8:Type>cfg:CatalogRef.ПС_МоделиКартриджей</v8:Type>
<v8:Type>cfg:CatalogRef.ФизическиеЛица</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>250</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>Date</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<Hierarchical>true</Hierarchical>
<FoldersOnTop>true</FoldersOnTop>
<CodeLength>9</CodeLength>
<CodeAllowedLength>Variable</CodeAllowedLength>
<DescriptionLength>100</DescriptionLength>
<CodeSeries>WholeCharacteristicKind</CodeSeries>
<CheckUnique>true</CheckUnique>
<Autonumbering>true</Autonumbering>
<DefaultPresentation>AsDescription</DefaultPresentation>
<Characteristics/>
<PredefinedDataUpdate>Auto</PredefinedDataUpdate>
<EditType>InDialog</EditType>
<QuickChoice>false</QuickChoice>
<ChoiceMode>BothWays</ChoiceMode>
<InputByString>
<xr:Field>ChartOfCharacteristicTypes.ПС_ВидыНастроек.StandardAttribute.Description</xr:Field>
<xr:Field>ChartOfCharacteristicTypes.ПС_ВидыНастроек.StandardAttribute.Code</xr:Field>
</InputByString>
<CreateOnInput>DontUse</CreateOnInput>
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<DefaultObjectForm>ChartOfCharacteristicTypes.ПС_ВидыНастроек.Form.ФормаРедактированияНастроек</DefaultObjectForm>
<DefaultFolderForm/>
<DefaultListForm>ChartOfCharacteristicTypes.ПС_ВидыНастроек.Form.ФормаСписка</DefaultListForm>
<DefaultChoiceForm/>
<DefaultFolderChoiceForm/>
<AuxiliaryObjectForm/>
<AuxiliaryFolderForm/>
<AuxiliaryListForm/>
<AuxiliaryChoiceForm/>
<AuxiliaryFolderChoiceForm/>
<BasedOn/>
<DataLockFields/>
<DataLockControlMode>Managed</DataLockControlMode>
<FullTextSearch>Use</FullTextSearch>
<ObjectPresentation/>
<ExtendedObjectPresentation/>
<ListPresentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Редактирование настроек</v8:content>
</v8:item>
</ListPresentation>
<ExtendedListPresentation/>
<Explanation/>
<DataHistory>DontUse</DataHistory>
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties>
<ChildObjects>
<Attribute uuid="fa369ddb-1f76-459f-b7b1-b1a0ba64b95f">
<Properties>
<Name>Имя</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование для разработчиков</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>50</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>Index</Indexing>
<Use>ForItem</Use>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Form>ФормаРедактированияНастроек</Form>
<Form>ФормаСписка</Form>
</ChildObjects>
</ChartOfCharacteristicTypes>
</MetaDataObject>
@@ -0,0 +1,551 @@
Функция ТекущееЗначениеНастройки(Настройка) Экспорт
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ТекущаяДата(), Новый Структура("ВидНастройки",Настройка)).ЗначениеНастройки;
КонецФункции // ЗначениеНастройки(Настройка)
Функция ТекущееЗначениеНастройкиПоИмени(Имя) Экспорт
Настройка = ПланыВидовХарактеристик.ПС_ВидыНастроек.НайтиПоРеквизиту("Имя",Имя);
Если Настройка.Пустая() Тогда
Возврат Неопределено
Иначе
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ТекущаяДата(), Новый Структура("ВидНастройки",Настройка)).ЗначениеНастройки;
КонецЕсли;
КонецФункции // ЗначениеНастройки(Настройка)
Функция ЗаписатьТекущееЗначениеНастройкиПоИмени(Имя,Значение) Экспорт
РезультатЗаписи = Истина;
Настройка = ПланыВидовХарактеристик.ПС_ВидыНастроек.НайтиПоРеквизиту("Имя",Имя);
Если Настройка.Пустая() Тогда
РезультатЗаписи = Ложь;
Иначе
Попытка
ДанныеНастроек = РегистрыСведений.ПС_Настройки.СоздатьМенеджерЗаписи();
ДанныеНастроек.ВидНастройки = Настройка;
ДанныеНастроек.Период = ТекущаяДата();
ДанныеНастроек.ЗначениеНастройки = Значение;
ДанныеНастроек.Записать();
Исключение
РезультатЗаписи = Ложь;
КонецПопытки;
КонецЕсли;
Возврат РезультатЗаписи;
КонецФункции // ЗначениеНастройки(Настройка)
Функция ЗначениеНастройкиНаДату(Настройка, Дата) Экспорт
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(Дата, Новый Структура("ВидНастройки",Настройка)).ЗначениеНастройки;
КонецФункции // ЗначениеНастройкиНаДату(Настройка)
Функция ЗначениеНастройкиПоИмениНаДату(Имя, Дата) Экспорт
Настройка = ПланыВидовХарактеристик.ПС_ВидыНастроек.НайтиПоРеквизиту("Имя",Имя);
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(Дата, Новый Структура("ВидНастройки",Настройка)).ЗначениеНастройки;
КонецФункции // ЗначениеНастройкиНаДату(Настройка)
Функция ЗаписатьТекущееЗначениеНастройкиПоИмениНаДату(Имя,Значение,Дата) Экспорт
РезультатЗаписи = Истина;
Настройка = ПланыВидовХарактеристик.ПС_ВидыНастроек.НайтиПоРеквизиту("Имя",Имя);
Если Настройка.Пустая() Тогда
РезультатЗаписи = Ложь;
Иначе
Попытка
ДанныеНастроек = РегистрыСведений.ПС_Настройки.СоздатьМенеджерЗаписи();
ДанныеНастроек.ВидНастройки = Настройка;
ДанныеНастроек.Период = Дата;
ДанныеНастроек.ЗначениеНастройки = Значение;
ДанныеНастроек.Записать();
Исключение
РезультатЗаписи = Ложь;
КонецПопытки;
КонецЕсли;
Возврат РезультатЗаписи;
КонецФункции // ЗначениеНастройки(Настройка)
Функция ДатаЗапретаРедактированияДанныхСервиса(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ДатаЗапретаРедактированияДанныхСервиса);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ОрганизацияПоУмолчанию(Дата = Неопределено)
Функция ДатаВРазрешенномПериодеРедактирования(ПроверяемаяДата) Экспорт
Возврат НачалоДня(ПроверяемаяДата) > НачалоДня(ДатаЗапретаРедактированияДанныхСервиса(ТекущаяДата()));
КонецФункции // ДатаВЗапрещенномПериодеРедактирования()
Функция ОсновнаяОрганизация(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ОсновнаяОрганизация);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ОрганизацияПоУмолчанию(Дата = Неопределено)
Функция ОсновнойСкладРасходныхМатериалов(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.СкладРасходныхМатериалов);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ОрганизацияПоУмолчанию(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляОбслуживанияПКИОргтехники(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляОбслуживанияПКИОргтехники);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияПКИОргтехники(Дата = Неопределено)
Функция ВидРаботПоЗаправкеКартриджа(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ВидРаботПоЗаправкеКартриджа);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
#Область НоменклатурныеГруппыОбслуживанияФизическихЛиц
Функция НоменклатурнаяГруппаДляРаботПоКартриджуФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоКартриджуФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоТехникеФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоТехникеФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоМонтажуЛВСФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоМонтажуЛВСФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоМонтажуСистемыВидеонаблюденияФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоМонтажуСистемыВидеонаблюденияФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоКурсамФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоКурсамФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляВыездныхРаботПо1СФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляВыездныхРаботПо1СФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляВыездныхРаботПоПКиОргтехникеФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляВыездныхРаботПоПКиОргтехникеФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоРазработкеСайтаФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоРазработкеСайтаФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоПрочимРаботамФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоПрочимРаботамФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
#КонецОбласти
#Область НоменклатурныеГруппыОбслуживания
Функция НоменклатурнаяГруппаДляРаботПоКартриджу(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоКартриджу);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоТехнике(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоТехнике);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоМонтажуЛВС(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоМонтажуЛВС);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоМонтажуСистемыВидеонаблюдения(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоМонтажуСистемыВидеонаблюдения);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоКурсам(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоКурсам);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляВыездныхРаботПо1С(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляВыездныхРаботПо1С);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляВыездныхРаботПоПКиОргтехнике(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляВыездныхРаботПоПКиОргтехнике);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоРазработкеСайта(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоРазработкеСайта);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция НоменклатурнаяГруппаДляРаботПоПрочимРаботам(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.НоменклатурнаяГруппаДляРаботПоПрочимРаботам);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //НоменклатурнаяГруппаДляОбслуживанияФизическихЛиц(Дата = Неопределено)
#КонецОбласти
#Область ТарифныеПланыОбслуживанияФизическихЛиц
Функция ТарифныйПланДляРаботПоКартриджуФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляРаботПоКартриджуФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляРаботПоТехникеФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляРаботПоТехникеФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляРаботПоМонтажуЛВСФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляРаботПоМонтажуЛВСФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляРаботПоМонтажуСистемыВидеонаблюденияФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляРаботПоМонтажуСистемыВидеонаблюденияФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляРаботПоКурсамФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляРаботПоКурсамФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляВыездныхРаботПо1СФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляВыездныхРаботПо1СФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляВыездныхРаботПоПКиОргтехникеФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляВыездныхРаботПоПКиОргтехникеФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляРаботПоРазработкеСайтаФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляРаботПоРазработкеСайтаФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
Функция ТарифныйПланДляРаботПоПрочимРаботамФизическихЛиц(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ТарифныйПланДляРаботПоПрочимРаботамФизическихЛиц);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ТарифныйПланДляОбслуживанияФизическихЛиц(Дата = Неопределено)
#КонецОбласти
Функция НачалоРабочегоДня(ДатаПолученияНастройки = Неопределено) Экспорт
НастройкаПолученияЧаса = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ЧасНачалаРабочегоДня);
НастройкаПолученияМинуты = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.МинутаНачалаРабочегоДня);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Час = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,НастройкаПолученияЧаса).ЗначениеНастройки;
Если Час = Неопределено Тогда
Час = 0;
КонецЕсли;
Минута = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,НастройкаПолученияМинуты).ЗначениеНастройки;
Если Минута = Неопределено Тогда
Минута = 0;
КонецЕсли;
Возврат Дата(1,1,1,Час,Минута,0);
КонецФункции //НачалоРабочегоДня(ДатаПолученияНастройки = Неопределено)
Функция ОкончаниеРабочегоДня(ДатаПолученияНастройки = Неопределено) Экспорт
НастройкаПолученияЧаса = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ЧасОкончанияРабочегоДня);
НастройкаПолученияМинуты = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.МинутаОкончанияРабочегоДня);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Час = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,НастройкаПолученияЧаса).ЗначениеНастройки;
Если Час = Неопределено Тогда
Час = 23;
КонецЕсли;
Минута = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,НастройкаПолученияМинуты).ЗначениеНастройки;
Если Минута = Неопределено Тогда
Минута = 59;
КонецЕсли;
Возврат Дата(1,1,1,Час,Минута,0);
КонецФункции //ОкончаниеРабочегоДня(ДатаПолученияНастройки = Неопределено)
Функция ПрефиксQRКодирования(ДатаПолученияНастройки = Неопределено) Экспорт
НастройкаПолученияПрефикса = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ПрефиксQRКодирования);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Префикс = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,НастройкаПолученияПрефикса).ЗначениеНастройки;
Если Префикс = Неопределено Тогда
Префикс = "";
КонецЕсли;
Возврат Префикс;
КонецФункции //ПрефиксQRКодирования(ДатаПолученияНастройки = Неопределено)
Функция КомментироватьСобытия(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.КомментироватьСобытия);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Результат = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
Если Результат = Неопределено Тогда
Результат = Ложь;
КонецЕсли;
Возврат Результат;
КонецФункции //КомментироватьСобытия(ДатаПолученияНастройки = Неопределено)
Процедура СообщитьОСобытии(СообщениеОСобытии,Ссылка = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.КомментироватьСобытия);
ДатаПолученияНастройки = ТекущаяДата();
КомментироватьСобытия = РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
Если КомментироватьСобытия = Неопределено Тогда
КомментироватьСобытия = Ложь;
КонецЕсли;
Если КомментироватьСобытия Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Строка(СообщениеОСобытии);
Если Ссылка <> Неопределено Тогда
Если ЗначениеЗаполнено(Ссылка) Тогда
Сообщение.КлючДанных = Ссылка;
КонецЕсли;
КонецЕсли;
Сообщение.Сообщить();
КонецЕсли;
Попытка
ЗаголовокСообщения = "ПС. " + ПараметрыСеанса.ПС_ВерсияРасширения + ". Диагностическое сообщение.";
Исключение
ЗаголовокСообщения = "ПС. Диагностическое сообщение.";
КонецПопытки;
ЗаписьЖурналаРегистрации(ЗаголовокСообщения,,,Ссылка,СообщениеОСобытии);
КонецПроцедуры //СообщитьОСобытии(СообщениеОСобытии)
Функция НомерМесяца(ПереданныйМесяц)
ВозвращаемыйНомер = 0;
Если ТипЗнч(ПереданныйМесяц) = ТипЗнч(Перечисления.ПС_Месяцы.Январь) Тогда
Если ПереданныйМесяц = Перечисления.ПС_Месяцы.Январь Тогда
ВозвращаемыйНомер = 1;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Февраль Тогда
ВозвращаемыйНомер = 2;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Март Тогда
ВозвращаемыйНомер = 3;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Апрель Тогда
ВозвращаемыйНомер = 4;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Май Тогда
ВозвращаемыйНомер = 5;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Июнь Тогда
ВозвращаемыйНомер = 6;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Июль Тогда
ВозвращаемыйНомер = 7;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Август Тогда
ВозвращаемыйНомер = 8;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Сентябрь Тогда
ВозвращаемыйНомер = 9;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Октябрь Тогда
ВозвращаемыйНомер = 10;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Ноябрь Тогда
ВозвращаемыйНомер = 11;
ИначеЕсли ПереданныйМесяц = Перечисления.ПС_Месяцы.Декабрь Тогда
ВозвращаемыйНомер = 12;
КонецЕсли;
КонецЕсли;
Возврат ВозвращаемыйНомер;
КонецФункции // НомерМесяца()
Функция ПериодОбслуживаняВСтандартныйПериод(МесяцОбслуживания,ГодОбслуживания) Экспорт
ВозвращаемыйСтандартныйПериод = Новый СтандартныйПериод;
ВозвращаемыйСтандартныйПериод.ДатаНачала = Дата(1,1,1,0,0,0);
ВозвращаемыйСтандартныйПериод.ДатаОкончания = Дата(1,1,1,0,0,0);
НомерМесяцаОбслуживания = НомерМесяца(МесяцОбслуживания);
Если НомерМесяцаОбслуживания > 0 Тогда
Попытка
ВозвращаемыйСтандартныйПериод.ДатаНачала = Дата(ГодОбслуживания,НомерМесяцаОбслуживания,1,0,0,0);
ВозвращаемыйСтандартныйПериод.ДатаОкончания = КонецМесяца(ВозвращаемыйСтандартныйПериод.ДатаНачала);
Исключение
КонецПопытки;
КонецЕсли;
Возврат ВозвращаемыйСтандартныйПериод;
КонецФункции
Функция МесяцПоНомеру(ПереданныйНомер)
ВозвращаемыйМесяц = 0;
Если ТипЗнч(ПереданныйНомер) = ТипЗнч(1) Тогда
Если ПереданныйНомер = 1 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Январь;
ИначеЕсли ПереданныйНомер = 2 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Февраль;
ИначеЕсли ПереданныйНомер = 3 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Март;
ИначеЕсли ПереданныйНомер = 4 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Апрель;
ИначеЕсли ПереданныйНомер = 5 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Май;
ИначеЕсли ПереданныйНомер = 6 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Июнь;
ИначеЕсли ПереданныйНомер = 7 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Июль;
ИначеЕсли ПереданныйНомер = 8 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Август;
ИначеЕсли ПереданныйНомер = 9 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Сентябрь;
ИначеЕсли ПереданныйНомер = 10 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Октябрь;
ИначеЕсли ПереданныйНомер = 11 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Ноябрь;
ИначеЕсли ПереданныйНомер = 12 Тогда
ВозвращаемыйМесяц = Перечисления.ПС_Месяцы.Декабрь;
КонецЕсли;
КонецЕсли;
Возврат ВозвращаемыйМесяц;
КонецФункции // НомерМесяца()
Функция ДатаОбслуживанияВПериодОбслуживаня(ДатаОбслуживания) Экспорт
ВозвращаемыйПериодОбслуживания = Новый Структура("МесяцОбслуживания,ГодОбслуживания");
Попытка
ВозвращаемыйПериодОбслуживания.МесяцОбслуживания = МесяцПоНомеру(Месяц(ДатаОбслуживания));
ВозвращаемыйПериодОбслуживания.ГодОбслуживания = Год(ДатаОбслуживания);
Исключение
КонецПопытки;
Возврат ВозвращаемыйПериодОбслуживания;
КонецФункции
Функция МаксимальноеКоличествоЧасовНепрерывнойДистанционнойРаботы(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.МаксимальноеКоличествоЧасовНепрерывнойДистанционнойРаботы);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //МаксимальноеКоличествоЧасовНепрерывнойДистанционнойРаботы(Дата = Неопределено)
Функция ПутьКПапкеСФайломСтатистикиОбращенийУдаленногоОбслуживания(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ПутьКПапкеСФайломСтатистикиОбращенийУдаленногоОбслуживания);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ПутьКПапкеСФайломСтатистикиОбращенийУдаленногоОбслуживания(Дата = Неопределено)
Функция ПутьКПапкеСФайломСтатистикиСеансовУдаленногоДоступа(ДатаПолученияНастройки = Неопределено) Экспорт
Настройка = Новый Структура("ВидНастройки",ПланыВидовХарактеристик.ПС_ВидыНастроек.ПутьКПапкеСФайломСтатистикиСеансовУдаленногоДоступа);
Если ДатаПолученияНастройки = Неопределено Тогда
ДатаПолученияНастройки = ТекущаяДата()
КонецЕсли;
Возврат РегистрыСведений.ПС_Настройки.ПолучитьПоследнее(ДатаПолученияНастройки,Настройка).ЗначениеНастройки;
КонецФункции //ПутьКПапкеСФайломСтатистикиСеансовУдаленногоДоступа(Дата = Неопределено)
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<CommonModule uuid="7cfec2ee-ce74-4abb-bed3-5a5e01a736b4">
<Properties>
<Name>ПС_РаботаСНастройками</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Работа с настройками</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<ConfigurationExtensionLogo uuid="c3d4e5f6-a7b8-9012-cdef-234567890123">
<Properties>
<Format>PNG</Format>
</Properties>
</ConfigurationExtensionLogo>
</MetaDataObject>
Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

+77
View File
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<ConfigurationExtension uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890">
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId>
<xr:ObjectId>b1c2d3e4-f5a6-7890-abcd-ef1234567890</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>9fcd25a0-4822-11d4-9414-008048da11f9</xr:ClassId>
<xr:ObjectId>c2d3e4f5-a6b7-8901-bcde-f12345678901</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>e3687481-0a87-462c-a166-9f34594f9bba</xr:ClassId>
<xr:ObjectId>d3e4f5a6-b7c8-9012-cdef-123456789012</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>9de14907-ec23-4a07-96f0-85521cb6b53b</xr:ClassId>
<xr:ObjectId>e4f5a6b7-c8d9-0123-defa-234567890123</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>51f2d5d8-ea4d-4064-8892-82951750031e</xr:ClassId>
<xr:ObjectId>f5a6b7c8-d9e0-1234-efab-345678901234</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>e68182ea-4237-4383-967f-90c1e3370bc7</xr:ClassId>
<xr:ObjectId>a6b7c8d9-e0f1-2345-fabc-456789012345</xr:ObjectId>
</xr:ContainedObject>
<xr:ContainedObject>
<xr:ClassId>fb282519-d103-4dd3-bc12-cb271d631dfc</xr:ClassId>
<xr:ObjectId>b7c8d9e0-f1a2-3456-abcd-567890123456</xr:ObjectId>
</xr:ContainedObject>
</InternalInfo>
<Properties>
<ObjectBelonging>Adopted</ObjectBelonging>
<Name>Настройки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки</v8:content>
</v8:item>
</Synonym>
<ExtendedInformation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Организация хранения настроек, привязанных к произвольным свойствам и с сохранением истории изменения</v8:content>
</v8:item>
</ExtendedInformation>
<DetailedInformation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Расширение реализует универсальное хранилище настроек через регистр сведений ПС_Настройки с ключом-ПВХ ПС_ВидыНастроек. Поддерживает все простые типы данных (булево, строка, дата, число) и ссылочные типы дерева метаданных. История изменений настроек сохраняется через периодичность регистра. Иерархия ролей: Чтение (программные вызовы), Просмотр (интерактивный доступ), Полный доступ (управление). Разработано совместно с AI-ассистентом MiMoCode (Xiaomi MiMo Team).</v8:content>
</v8:item>
</ExtendedInformation>
<Copyright>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>1С:Франчайзи ООО "Профи-Софт", код партнера 42575-13</v8:content>
</v8:item>
</Copyright>
<Vendor>1С:Франчайзи ООО "Профи-Софт", код партнера 42575-13</Vendor>
<Version>3.0.0.1</Version>
<SafeMode>2</SafeMode>
<NamePrefix>ПС_</NamePrefix>
<ObjectPrefix>ПС_</ObjectPrefix>
<ConfigurationExtensionCompatibilityMode>Version8_3_27</ConfigurationExtensionCompatibilityMode>
</Properties>
<ChildObjects>
<Role>ПС_ЧтениеНастроек</Role>
<Role>ПС_ПросмотрНастроек</Role>
<Role>ПС_ПолныйДоступКНастройкам</Role>
<ChartOfCharacteristicTypes>ПС_ВидыНастроек</ChartOfCharacteristicTypes>
<InformationRegister>ПС_Настройки</InformationRegister>
<CommonModule>ПС_РаботаСНастройками</CommonModule>
</ChildObjects>
</ConfigurationExtension>
</MetaDataObject>
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<UsualGroup name="СписокКомпоновщикНастроекПользовательскиеНастройки" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа пользовательских настроек</v8:content>
</v8:item>
</Title>
<VerticalStretch>false</VerticalStretch>
<Group>Vertical</Group>
<Behavior>Usual</Behavior>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="СписокКомпоновщикНастроекПользовательскиеНастройкиРасширеннаяПодсказка" id="2"/>
</UsualGroup>
<Table name="ПС_СписокНастроек" id="3">
<Representation>List</Representation>
<CommandBarLocation>None</CommandBarLocation>
<DefaultItem>true</DefaultItem>
<InitialTreeView>ExpandTopLevel</InitialTreeView>
<EnableStartDrag>true</EnableStartDrag>
<DataPath>ПС_СписокНастроек</DataPath>
<RowPictureDataPath>ПС_СписокНастроек.DefaultPicture</RowPictureDataPath>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
<v8:variant xsi:type="v8:StandardPeriodVariant">Custom</v8:variant>
<v8:startDate>0001-01-01T00:00:00</v8:startDate>
<v8:endDate>0001-01-01T00:00:00</v8:endDate>
</Period>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<RestoreCurrentRow>false</RestoreCurrentRow>
<TopLevelParent xsi:nil="true"/>
<ShowRoot>true</ShowRoot>
<AllowRootChoice>false</AllowRootChoice>
<UpdateOnDataChange>Auto</UpdateOnDataChange>
<UserSettingsGroup>СписокКомпоновщикНастроекПользовательскиеНастройки</UserSettingsGroup>
<AllowGettingCurrentRowURL>true</AllowGettingCurrentRowURL>
<ContextMenu name="ПС_СписокНастроекКонтекстноеМеню" id="4"/>
<AutoCommandBar name="ПС_СписокНастроекКоманднаяПанель" id="5">
<Autofill>false</Autofill>
</AutoCommandBar>
<ExtendedTooltip name="ПС_СписокНастроекРасширеннаяПодсказка" id="6"/>
<SearchStringAddition name="ПС_СписокНастроекСтрокаПоиска" id="7">
<AdditionSource>
<Item>ПС_СписокНастроек</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПС_СписокНастроекСтрокаПоискаКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="ПС_СписокНастроекСтрокаПоискаРасширеннаяПодсказка" id="9"/>
</SearchStringAddition>
<ViewStatusAddition name="ПС_СписокНастроекСостояниеПросмотра" id="10">
<AdditionSource>
<Item>ПС_СписокНастроек</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ПС_СписокНастроекСостояниеПросмотраКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="ПС_СписокНастроекСостояниеПросмотраРасширеннаяПодсказка" id="12"/>
</ViewStatusAddition>
<SearchControlAddition name="ПС_СписокНастроекУправлениеПоиском" id="13">
<AdditionSource>
<Item>ПС_СписокНастроек</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ПС_СписокНастроекУправлениеПоискомКонтекстноеМеню" id="14"/>
<ExtendedTooltip name="ПС_СписокНастроекУправлениеПоискомРасширеннаяПодсказка" id="15"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="Период" id="16">
<DataPath>ПС_СписокНастроек.Period</DataPath>
<DefaultItem>true</DefaultItem>
<ContextMenu name="ПериодКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ПериодРасширеннаяПодсказка" id="18"/>
</LabelField>
<LabelField name="ВидНастройки" id="19">
<DataPath>ПС_СписокНастроек.ВидНастройки</DataPath>
<ContextMenu name="ВидНастройкиКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="ВидНастройкиРасширеннаяПодсказка" id="21"/>
</LabelField>
<LabelField name="ЗначениеНастройки" id="22">
<DataPath>ПС_СписокНастроек.ЗначениеНастройки</DataPath>
<ContextMenu name="ЗначениеНастройкиКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="ЗначениеНастройкиРасширеннаяПодсказка" id="24"/>
</LabelField>
</ChildItems>
</Table>
</ChildItems>
<Attributes>
<Attribute name="ПС_СписокНастроек" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>П с список настроек</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<Settings xsi:type="DynamicList">
<ManualQuery>false</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<MainTable>InformationRegister.ПС_Настройки</MainTable>
<ListSettings>
<dcsset:filter>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</dcsset:userSettingID>
</dcsset:filter>
<dcsset:order>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</dcsset:userSettingID>
</dcsset:order>
<dcsset:conditionalAppearance>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</dcsset:userSettingID>
</dcsset:conditionalAppearance>
<dcsset:itemsViewMode>Normal</dcsset:itemsViewMode>
<dcsset:itemsUserSettingID>911b6018-f537-43e8-a417-da56b22f9aec</dcsset:itemsUserSettingID>
</ListSettings>
</Settings>
</Attribute>
</Attributes>
</Form>
@@ -0,0 +1,5 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//ПС_СписокНастроек.УстановитьОбязательноеИспользование("ВидНастройки",Истина);
КонецПроцедуры
@@ -0,0 +1,186 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<InformationRegister uuid="f45edf73-c6ec-4576-83c1-c733d302594f">
<InternalInfo>
<xr:GeneratedType name="InformationRegisterRecord.ПС_Настройки" category="Record">
<xr:TypeId>a28d33ef-edaa-4a04-8bfd-d6669f69eeff</xr:TypeId>
<xr:ValueId>18e64e7a-1c4c-4e9d-ba0e-3622fb97df81</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterManager.ПС_Настройки" category="Manager">
<xr:TypeId>6ad5a84c-c880-45d3-a54a-55fa66e8aea9</xr:TypeId>
<xr:ValueId>2b55dc8d-fb80-4527-97c3-68b39c9f1306</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterSelection.ПС_Настройки" category="Selection">
<xr:TypeId>b2d90406-f611-46b2-8f9b-a24a0cfa0174</xr:TypeId>
<xr:ValueId>de962d72-0133-482e-a8be-d80e24e22a94</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterList.ПС_Настройки" category="List">
<xr:TypeId>72874cfa-497a-4f59-b202-718d0e558abf</xr:TypeId>
<xr:ValueId>760fa967-3b5e-4803-8f07-a240daa799a5</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordSet.ПС_Настройки" category="RecordSet">
<xr:TypeId>5241194a-31ee-4bb7-adf6-d679ea1495a8</xr:TypeId>
<xr:ValueId>179f08e9-1dfc-481a-861f-d61a12b157bb</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordKey.ПС_Настройки" category="RecordKey">
<xr:TypeId>bae90479-5039-46ca-993b-573db33e5716</xr:TypeId>
<xr:ValueId>793c69d5-eccd-40ca-9e43-86b3e0fb635e</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="InformationRegisterRecordManager.ПС_Настройки" category="RecordManager">
<xr:TypeId>c5a441dd-475a-40bd-9cb6-bffb38bf9f8e</xr:TypeId>
<xr:ValueId>b06c1782-8a61-4513-b340-993d458e1b06</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ПС_Настройки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки</v8:content>
</v8:item>
</Synonym>
<Comment/>
<UseStandardCommands>true</UseStandardCommands>
<EditType>InDialog</EditType>
<DefaultRecordForm/>
<DefaultListForm>InformationRegister.ПС_Настройки.Form.ФормаСписка</DefaultListForm>
<AuxiliaryRecordForm/>
<AuxiliaryListForm/>
<InformationRegisterPeriodicity>Day</InformationRegisterPeriodicity>
<WriteMode>Independent</WriteMode>
<MainFilterOnPeriod>true</MainFilterOnPeriod>
<IncludeHelpInContents>false</IncludeHelpInContents>
<DataLockControlMode>Managed</DataLockControlMode>
<FullTextSearch>DontUse</FullTextSearch>
<EnableTotalsSliceFirst>false</EnableTotalsSliceFirst>
<EnableTotalsSliceLast>false</EnableTotalsSliceLast>
<RecordPresentation/>
<ExtendedRecordPresentation/>
<ListPresentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Значения настроек</v8:content>
</v8:item>
</ListPresentation>
<ExtendedListPresentation/>
<Explanation/>
<DataHistory>DontUse</DataHistory>
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
</Properties>
<ChildObjects>
<Resource uuid="1f609f5a-18b4-443e-8384-f0667c99309c">
<Properties>
<Name>ЗначениеНастройки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Значение настройки</v8:content>
</v8:item>
</Synonym>
<Comment/>
<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: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:BusinessProcessRoutePointRef.Ссылка</v8:Type>
<v8:Type>cfg:TaskRef.Ссылка</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
<v8:StringQualifiers>
<v8:Length>250</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType>
<xr:DataPath>InformationRegister.ПС_Настройки.Dimension.ВидНастройки</xr:DataPath>
<xr:LinkItem>0</xr:LinkItem>
</LinkByType>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Resource>
<Dimension uuid="07e1947d-dbf6-4079-8c16-6ffa33c9e88f">
<Properties>
<Name>ВидНастройки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Вид настройки</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:ChartOfCharacteristicTypesRef.ПС_ВидыНастроек</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>true</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Master>true</Master>
<MainFilter>true</MainFilter>
<DenyIncompleteValues>true</DenyIncompleteValues>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
<TypeReductionMode>TransformValues</TypeReductionMode>
</Properties>
</Dimension>
<Form>ФормаСписка</Form>
</ChildObjects>
</InformationRegister>
</MetaDataObject>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.21">
<Language uuid="d4e5f6a7-b8c9-0123-defa-456789012345">
<InternalInfo>
</InternalInfo>
<Properties>
<Name>Русский</Name>
<Comment/>
<LanguageCode>ru</LanguageCode>
</Properties>
</Language>
</MetaDataObject>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Role uuid="2fd0d753-160a-4fce-a881-74b79e903dde">
<Properties>
<Name>ПС_ПолныйДоступКНастройкам</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ПС: Полный доступ к настройкам</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</Role>
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<Rights>
<object>
<name>Configuration.БухгалтерияПредприятияКОРП</name>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>false</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>MobileClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПС_Настройки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
</object>
<object>
<name>ChartOfCharacteristicTypes.ПС_ВидыНастроек</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Role uuid="a8e14bb5-2e3c-4d10-a48d-9604c3f8076c">
<Properties>
<Name>ПС_ПросмотрНастроек</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ПС: Просмотр настроек</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</Role>
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<Rights>
<object>
<name>Configuration.БухгалтерияПредприятияКОРП</name>
<right>
<name>DataAdministration</name>
<value>false</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>false</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>MobileClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПС_Настройки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>ChartOfCharacteristicTypes.ПС_ВидыНастроек</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
</Rights>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Role uuid="e1f631bb-de62-48e5-82b2-f3f9a26a47d6">
<Properties>
<Name>ПС_ЧтениеНастроек</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ПС: Чтение настроек</v8:content>
</v8:item>
</Synonym>
<Comment/>
</Properties>
</Role>
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<Rights>
<object>
<name>Configuration.БухгалтерияПредприятияКОРП</name>
<right>
<name>DataAdministration</name>
<value>false</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>false</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>MobileClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПС_Настройки</name>
<right>
<name>Read</name>
<value>true</value>
</right>
</object>
<object>
<name>ChartOfCharacteristicTypes.ПС_ВидыНастроек</name>
<right>
<name>Read</name>
<value>true</value>
</right>
</object>
</Rights>
Binary file not shown.