upd
This commit is contained in:
parent
ec1c95761f
commit
a8e277ec40
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
public/bsp_svoystva/rekvizity.png
Normal file
BIN
public/bsp_svoystva/rekvizity.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 130 KiB |
BIN
public/bsp_svoystva/svedeniya.png
Normal file
BIN
public/bsp_svoystva/svedeniya.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 128 KiB |
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Префиксация при установке нового номера
|
title: Префиксация при установке нового номера
|
||||||
slug: общие-подключение-объектов-к-бсп-документы/префиксация-при-установке-нового-номера
|
slug: общие-документы/префиксация-при-установке-нового-номера
|
||||||
---
|
---
|
||||||
Для того, чтобы нумерация документов была "Типовой", длину кода нужно установить **11 символов**, а в модуле объекта документа прописать.
|
Для того, чтобы нумерация документов была "Типовой", длину кода нужно установить **11 символов**, а в модуле объекта документа прописать.
|
||||||
```bsl
|
```bsl
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Механизм доп.отчетов и обработок
|
title: Механизм доп.отчетов и обработок
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/механизм-доп-отчетов-и-обработок
|
slug: общие-подключение-объектов-к-бсп/механизм-доп-отчетов-и-обработок
|
||||||
---
|
---
|
||||||
|
|
||||||
# Постановка задачи
|
# Постановка задачи
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Подключение к подсистеме Варианты отчетов
|
title: Подключение к подсистеме Варианты отчетов
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-варианты-отчетов
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-варианты-отчетов
|
||||||
---
|
---
|
||||||
# Порядок действий
|
# Порядок действий
|
||||||
## Хранилище вариантов
|
## Хранилище вариантов
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Подключение к подсистеме Версионирование
|
title: Подключение к подсистеме Версионирование
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-версионирование
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-версионирование
|
||||||
---
|
---
|
||||||
|
|
||||||
## Настройка объектов метаданных
|
## Настройка объектов метаданных
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Подключение к подсистеме Взаимодействия
|
title: Подключение к подсистеме Взаимодействия
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-взаимодействия
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-взаимодействия
|
||||||
---
|
---
|
||||||
# Настройка объекта
|
# Настройка объекта
|
||||||
Создаем новый документ/справочник. В документе должны быть реквизит `Ответственный` (СправочникСсылка.Пользователи) и табличная часть `ПартнерыИКонтактныеЛица`.
|
Создаем новый документ/справочник. В документе должны быть реквизит `Ответственный` (СправочникСсылка.Пользователи) и табличная часть `ПартнерыИКонтактныеЛица`.
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Подключение к подсистеме Дата запрета изменений
|
title: Подключение к подсистеме Дата запрета изменений
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-дата-запрета-изменений
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-дата-запрета-изменений
|
||||||
---
|
---
|
||||||
# Общие модули
|
# Общие модули
|
||||||
В процедуре `ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения` общего модуля `ДатыЗапретаИзмененияПереопределяемый` дополнить:
|
В процедуре `ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения` общего модуля `ДатыЗапретаИзмененияПереопределяемый` дополнить:
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Подключение к подсистеме Контактная информация
|
title: Подключение к подсистеме Контактная информация
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-контактная-информация
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-контактная-информация
|
||||||
---
|
---
|
||||||
|
|
||||||
> [Подсистема БСП «Контактная информация» (ИТС)](https://its.1c.ru/db/pubcloud1c#content:80:hdoc:p513)
|
> [Подсистема БСП «Контактная информация» (ИТС)](https://its.1c.ru/db/pubcloud1c#content:80:hdoc:p513)
|
||||||
@ -255,3 +255,11 @@ __Не забываем привязать события формы к обра
|
|||||||
|
|
||||||
Теперь через меню `Ещё > Изменить форму` можно в форму списка добавить контакты через поле `Ссылка`
|
Теперь через меню `Ещё > Изменить форму` можно в форму списка добавить контакты через поле `Ссылка`
|
||||||

|

|
||||||
|
|
||||||
|
## Дополнительно
|
||||||
|
[Добавление произвольных реквизитов с контактной информацией.pdf](/bsp_kontaktnaya_informaciya/dobavlenie-proizvol-nyh-rekvizitov-s-kontaktnoj-informaciej.pdf)
|
||||||
|
|
||||||
|
[Хранение истории изменений контактной информации.pdf](/bsp_kontaktnaya_informaciya/hranenie-istorii-izmenenij-kontaktnoj-informacii.pdf)
|
||||||
|
|
||||||
|
[Создание статических элементов управления контактной информации.pdf](/bsp_kontaktnaya_informaciya/sozdanie-staticeskih-elementov-upravlenia.pdf)
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Подключение к подсистеме Подключаемые команды
|
title: Подключение к подсистеме Подключаемые команды
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-подключаемые-команды
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-подключаемые-команды
|
||||||
---
|
---
|
||||||
## Форма объекта
|
## Форма объекта
|
||||||
```bsl
|
```bsl
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Подключение к подсистеме Присоединенные файлы
|
title: Подключение к подсистеме Присоединенные файлы
|
||||||
slug: общие-подключение-объектов-к-бсп-подключение-к-подсистемам/подключение-к-подсистеме-присоединенные-файлы
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-присоединенные-файлы
|
||||||
---
|
---
|
||||||
|
|
||||||
## Настройка определяемых типов
|
## Настройка определяемых типов
|
@ -0,0 +1,346 @@
|
|||||||
|
---
|
||||||
|
title: Подключение к подсистеме Свойства
|
||||||
|
slug: общие-подключение-объектов-к-бсп/подключение-к-подсистеме-свойства
|
||||||
|
---
|
||||||
|
|
||||||
|
# Дополнительные реквизиты, сведения, метки
|
||||||
|
|
||||||
|
## 1. Добавляем объект в определяемые типы
|
||||||
|
- `ВладелецДополнительныхСведений` (если нужны доп.сведения)
|
||||||
|
- `ВладелецМеток` (если нужны метки)
|
||||||
|
|
||||||
|
## 2. Добавляем в объект ТЧ "ДополнительныеРеквизиты"
|
||||||
|
Копируем из типового, например справочник `Пользователи`. ТЧ нужна только если нужны доп.реквизиты
|
||||||
|
|
||||||
|
## 3. Добавляем предопределенные наборы свойств (без доп.детализации)
|
||||||
|
В общем модуле `УправлениеСвойствамиПереопределяемый` в процедуре `ПриПолученииПредопределенныхНаборовСвойств` описываем наборы:
|
||||||
|
```bsl
|
||||||
|
Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
|
||||||
|
|
||||||
|
Набор = Наборы.Строки.Добавить();
|
||||||
|
Набор.Имя = "Справочник_Организации";
|
||||||
|
Набор.Идентификатор = Новый УникальныйИдентификатор("a4632c5e-a6c9-4141-83bc-be8e77ff1690"); // генерим UUID v4
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
```
|
||||||
|
|
||||||
|
__Разные наборы по видам объектов описаны в конце статьи__
|
||||||
|
|
||||||
|
## 4. Запустить обновление информационной базы
|
||||||
|
`Сервис > Параметры > Запуск 1С: Предприятия > ПараметрЗапуска` установить `/ЗапуститьОбновлениеИнформационнойБазы`.
|
||||||
|
|
||||||
|
## 5. Настраиваем формы
|
||||||
|
|
||||||
|
### Форма элемента
|
||||||
|
Создаем группу `ГруппаДополнительныеРеквизиты` (имя любое), в который будут падать программно созданные подсистемой элементы формы. И `ГруппаМетки`, если нужны метки
|
||||||
|
__В модуле формы описываем__
|
||||||
|
```bsl
|
||||||
|
#Область ОбработчикиСобытийФормы
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
ДополнительныеПараметры = Новый Структура;
|
||||||
|
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты"); // имя созданной ранее группы
|
||||||
|
|
||||||
|
// Если нужны метки
|
||||||
|
ПараметрыОтображенияМеток = УправлениеСвойствами.ПараметрыОтображенияМеток();
|
||||||
|
ПараметрыОтображенияМеток.ИмяЭлементаДляРазмещенияМеток = "ГруппаМетки"; // имя созданной ранее группы
|
||||||
|
ПараметрыОтображенияМеток.МаксимумМетокНаФорме = 3;
|
||||||
|
ПараметрыОтображенияМеток.ВариантОтображенияМеток = Перечисления.ВариантыОтображенияМеток.Надпись;
|
||||||
|
ДополнительныеПараметры.Вставить("ПараметрыОтображенияМеток", ПараметрыОтображенияМеток);
|
||||||
|
|
||||||
|
УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПриОткрытии(Отказ)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
|
||||||
|
ОбновитьЭлементыДополнительныхРеквизитов();
|
||||||
|
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
|
||||||
|
КонецЕсли;
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
|
||||||
|
УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
|
||||||
|
КонецПроцедуры
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#Область СтандартныеПодсистемы
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
&НаСервере
|
||||||
|
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
|
||||||
|
УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
|
||||||
|
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
|
||||||
|
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
|
||||||
|
КонецПроцедуры
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Форма списка
|
||||||
|
|
||||||
|
Для того, чтобы можно было выводить дополнительные реквизиты и сведения в список, нужно настроить характеристики.
|
||||||
|
|
||||||
|
В конфигураторе открываем карточку объекта > `Данные > Характеристики`
|
||||||
|
|
||||||
|
В характеристиках настраиваем:
|
||||||
|
#### Для дополнительных сведений
|
||||||
|
Вид характеристик - `Справочник.НаборыДополнительныхРеквизитовИСведений.ТабличнаяЧасть.ДополнительныеСведения`
|
||||||
|
Поле ключа - `Свойство`
|
||||||
|
Поле отбора видов - `ИмяПредопределенногоНабора`
|
||||||
|
Значение отбора - `Справочник_Склады` (то, как мы обзывали набор в `ПриПолученииПредопределенныхНаборовСвойств`)
|
||||||
|
|
||||||
|
Значения характеристик - `РегистрСведений.ДополнительныеСведения`
|
||||||
|
Поле объекта - `Объект`
|
||||||
|
Поле вида - `Свойство`
|
||||||
|
Поле значения - `Значение`
|
||||||
|
|
||||||
|
#### Для дополнительных реквизитов
|
||||||
|
Вид характеристик - `Справочник.НаборыДополнительныхРеквизитовИСведений.ТабличнаяЧасть.ДополнительныеРеквизиты`
|
||||||
|
Поле ключа - `Свойство`
|
||||||
|
Поле отбора видов - `ИмяПредопределенногоНабора`
|
||||||
|
Значение отбора - `Справочник_Склады` (то, как мы обзывали набор в `ПриПолученииПредопределенныхНаборовСвойств`)
|
||||||
|
|
||||||
|
Значения характеристик - `Справочник.Склады.ТабличнаяЧасть.ДополнительныеРеквизиты` (ТЧ, созданная в нашем объекте)
|
||||||
|
Поле объекта - `Ссылка`
|
||||||
|
Поле вида - `Свойство`
|
||||||
|
Поле значения - `Значение`
|
||||||
|
|
||||||
|
Далее, чтобы отображать метки, нужно дополнить запрос динамического списка полями:
|
||||||
|
```bsl
|
||||||
|
ВЫБРАТЬ
|
||||||
|
СправочникКонтрагенты.Ссылка,
|
||||||
|
...остальные поля...,
|
||||||
|
0 КАК Метка1,
|
||||||
|
0 КАК Метка2,
|
||||||
|
0 КАК Метка3 // до 7 меток (вроде)
|
||||||
|
|
||||||
|
ИЗ
|
||||||
|
Справочник.Контрагенты КАК СправочникКонтрагенты
|
||||||
|
```
|
||||||
|
|
||||||
|
Выкидываем поля на форму, устанавливаем вид "ПолеКартинки", настраиваем ширину, убираем заголовок и т.д.
|
||||||
|
Картинкой значений устанавливаем `ПиктограммыСвойств`
|
||||||
|
|
||||||
|
Далее, создаем группу `ГруппаЛегендаМетки` (имя любое), в которой будут отрисовываться доступные метки с возможностью установки отбора
|
||||||
|
|
||||||
|
Затем, в модуле формы списка прописываем
|
||||||
|
```bsl
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийФормы
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
ДополнительныеПараметры = Новый Структура;
|
||||||
|
|
||||||
|
ПараметрыОтображенияМеток = УправлениеСвойствами.ПараметрыОтображенияМеток();
|
||||||
|
ПараметрыОтображенияМеток.ИмяЭлементаДляРазмещенияЛегендыМеток = "ГруппаЛегендаМетки";
|
||||||
|
ПараметрыОтображенияМеток.ОтборМеток = Истина;
|
||||||
|
ПараметрыОтображенияМеток.ВидОбъектов = Метаданные.Справочники.Номенклатура.ПолноеИмя();
|
||||||
|
|
||||||
|
ДополнительныеПараметры.Вставить("ПараметрыОтображенияМеток", ПараметрыОтображенияМеток);
|
||||||
|
ДополнительныеПараметры.Вставить("ПроизвольныйОбъект", Истина);
|
||||||
|
|
||||||
|
УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийЭлементовТаблицыФормыCписок
|
||||||
|
|
||||||
|
&НаСервереБезКонтекста
|
||||||
|
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
УправлениеСвойствами.ПриПолученииДанныхНаСервере(Настройки, Строки);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_УстановитьВидимостьЛегендыМеток(Команда)
|
||||||
|
УстановитьВидимостьЛегендыМеток();
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура УстановитьВидимостьЛегендыМеток()
|
||||||
|
УправлениеСвойствами.УстановитьВидимостьЛегендыМеток(ЭтотОбъект);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Подключаемый_ОбработчикОтбораПоМеткам(Команда)
|
||||||
|
УправлениеСвойствамиКлиент.УстановитьОтборПоМетке(ЭтотОбъект, Команда.Имя);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## 6. Разные наборы свойств по видам объектов
|
||||||
|
### Создаем группу наборов свойств
|
||||||
|
Если нужно иметь разные наборы свойств в зависимости от значения какого-то реквизита - `ВидНоменклатуры` (тип - `СправочникСсылка.ВидыНоменклатуры`), например, то в `ПриПолученииПредопределенныхНаборовСвойств` описываем __группы__ а не элементы
|
||||||
|
|
||||||
|
```bsl
|
||||||
|
Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
|
||||||
|
|
||||||
|
Набор = Наборы.Строки.Добавить();
|
||||||
|
Набор.Имя = "Справочник_Номенклатура"; // Обязательно в таком формате: Справочник_ИмяСправочника
|
||||||
|
Набор.ЭтоГруппа = Истина; // важный флаг
|
||||||
|
Набор.Идентификатор = Новый УникальныйИдентификатор("3001280c-f6ec-4fa9-bc4a-5eee8f177b60"); // генерим UUID v4
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
```
|
||||||
|
### Настраиваем объект
|
||||||
|
Если мы завязываемся на реквизит `ВидНоменклатуры` справочнике `Номенклатура`, то нужно в справочнике __`ВидыНоменклатуры`__ создать реквизит `НаборСвойств`, с типом `СправочникСсылка.НаборыДополнительныхРеквизитовИСведений`. То есть мы создаем реквизит в том объекте метаданных, __по которому должен осуществляться отбор наборов свойств__
|
||||||
|
|
||||||
|
__В модуле объекта метаданных, по которому отбираем наборы__ (в нашем случае __`ВидыНоменклатуры`__ )
|
||||||
|
|
||||||
|
```bsl
|
||||||
|
#Область ОбработчикиСобытий
|
||||||
|
|
||||||
|
Процедура ПередЗаписью(Отказ)
|
||||||
|
|
||||||
|
Если НЕ ЭтоГруппа Тогда
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
УправлениеСвойствами.ПередЗаписьюВидаОбъекта(ЭтотОбъект, "Справочник_Номенклатура");
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПередУдалением(Отказ)
|
||||||
|
|
||||||
|
Если НЕ ЭтоГруппа Тогда
|
||||||
|
// СтандартныеПодсистемы.Свойства
|
||||||
|
УправлениеСвойствами.ПередУдалениемВидаОбъекта(ЭтотОбъект);
|
||||||
|
// Конец СтандартныеПодсистемы.Свойства
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
```
|
||||||
|
### Модуль формы элемента объекта-владельца
|
||||||
|
В нашем случае `Справочник_Номенклатура`. Подразумеваем, что базовый код (раздел 3) был уже добавлен
|
||||||
|
Добавляем в обработчик события `ПриИзменении` реквизита, по которому осуществляем отбор реквизитов следующий код для перерисовки реквизитов при его изменении:
|
||||||
|
|
||||||
|
```bsl
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ВидНоменклатурыПриИзменении(Элемент)
|
||||||
|
ОбновитьЭлементыДополнительныхРеквизитов();
|
||||||
|
КонецПроцедуры
|
||||||
|
```
|
||||||
|
|
||||||
|
### Общий модуль `УправлениеСвойствамиПереопределяемый`
|
||||||
|
|
||||||
|
```bsl
|
||||||
|
Процедура ЗаполнитьНаборыСвойствОбъекта(Знач Объект, ТипСсылки, НаборыСвойств, СтандартнаяОбработка, КлючНазначения) Экспорт
|
||||||
|
|
||||||
|
// Типов всегда много в подсистеме, поэтому обрабатываем точечно
|
||||||
|
Если ТипСсылки = Тип("СправочникСсылка.Номенклатура") Тогда
|
||||||
|
ЗаполнитьНаборСвойствПоВидуНоменклатуры(Объект, ТипСсылки, НаборыСвойств);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ЗаполнитьНаборСвойствПоВидуНоменклатуры(Номенклатура, ТипСсылки, НаборыСвойств)
|
||||||
|
|
||||||
|
// безопасная безопасность
|
||||||
|
Если ТипЗнч(Номенклатура) = ТипСсылки Тогда
|
||||||
|
ДанныеНоменклатуры = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Номенклатура, "ЭтоГруппа, ВидНоменклатуры");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если НЕ ДанныеНоменклатуры.ЭтоГруппа Тогда
|
||||||
|
Строка = НаборыСвойств.Добавить();
|
||||||
|
Строка.Набор = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеНоменклатуры.ВидНоменклатуры, "НаборСвойств");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
> Написано сумбурно, можно покурить демо базу БСП
|
||||||
|
|
||||||
|
## PS.Отличия доп.реквизита от доп.сведений и меток
|
||||||
|
|
||||||
|

|
||||||
|

|
Loading…
x
Reference in New Issue
Block a user