Поставка predefined.cf (8.5.1.1236)
- включает подсистему дпДополнительныеПодсистемы.ПредопределенныеЗначения
- включает пример иерархического справочника и макета с предопределенными группами и элементами (см. Справочник.демоПредопределенныеЭлементы)
- включает пример плана видов характеристик и макета с предопределенными элементами разного типа (см. ПланВидовХаракетристик.демоПредопределенныеХарактеристики)
- включает шаблон макета для описания предопределенных данных и инструкцию по его заполнению (см. ОбщийМакет.дпПредопределенныеЗначения_Шаблон)
Подключение объекта к подсистеме
- Добавить тип ссылки объекта в ОпределяемыйТип.дпПредопределенныеЗначения
- Свойству ОбновлениеПредопределенныхДанных установить значение НеОбновлятьАвтоматически

- Добавить в объект макет с описанием предопределенных данных (см. пример ОбщийМакет.дпПредопределенныеЗначения_Шаблон), можно добавить как один макет ПредопределенныеЗначения, так и несколько с префиксами и постфиксами ПрефиксПредопределенныеЗначенияПостфикс

- При необходимости можно добавить в макет дополнительную колонку с именем реквизита объекта и значением простого типа Число, Строка, Дата, Булево (для более сложных случаев рекомендуется использовать специальное обновление ИБ)

Назначение объектов подсистемы
ОпределяемыйТип.дпПредопределенныеЗначения - содержит список справочников и ПВХ с отключенным автоматическим созданием предопределенных данных и заполненными макетами для создания предопределенных данных (см. ОбщийМакет.дпПредопределенныеЗначения_Шаблон)
При запуске предприятия будет произведена инициализация предопределенных данных с макетами (по умолчанию инициализированы будут только новые и удаленные элементы, элементы измененные в макете, но существующие в БД изменены не будут)
дпПредопределенныеЗначенияКлиент.ПередНачаломРаботыСистемы()
ОбщийМакет.дпПредопределенныеЗначения_Шаблон - содержит примеры описания предопределенных групп и элементов справочников и планов видов характеристик с возможностью при необходимости задать значения реквизитов
| ИмяПредопределенныхДанных | Обязательный | значение должно быть в списке предопределенных элементов |
| Код | Необязательный | если не указан, при создании элемента УстановитьНовыйКод() |
| Наименование | Необязательный | если не указано, при создании элемента ИмяПредопределенныхДанных |
| Ссылка | Необязательный | если не указана, при создании элемента УИД по Хешу ОбъектМетаданных.ПолноеИмя().ИмяПредопределенныхДанных |
| ЭтоГруппа | Необязательный | для иерархии Булево |
| Родитель | Необязательный | для иерархии УИД владельца |
| ТипЗначения | Необязательный | для ПВХ ОписаниеТипов(ТипЗначения) |
| Длина | Необязательный | для ПВХ Число(Длина, Точность), Строка(Длина) |
| Точность | Необязательный | для ПВХ Число(Длина, Точность), Дата(Время, Дата) |
Пример использования подсистемы
- Если требуется, что бы в разных БД предопределенные элементы имели одинаковую Ссылку, то надо в этих базах задать этим элементам в макете предопределенных значений одинаковое значение УИД в колонке Ссылка, предопределенные элементы будут создаваться с заданным значением ссылки.
- Если требуется, что бы при создании новых предопределенных элементов в БД не дублировались коды элементов, то элементам в макете предопределенных значений не заполнять значение в колонке Код, предопределенные элементы будут создаваться с новым кодом уникальным для этой БД.
- Если требуется добавить предопределенный элемент в конфигурации которая находится на поддержке, не дожидаясь обновления на конфигурацию поставщика, в этом случае при очередном обновлении на конфигурацию поставщика в конфигураторе такой предопределенный элемент будет удален и добавлен, но в БД существующая ссылка останется неизменной (по умолчанию инициализированы будут только новые и удаленные элементы, элементы измененные в макете, но существующие в БД изменены не будут).
- Если требуется полная переинициализация предопределенных элементов в соответствии с макетом предопределенных значений, можно ее вызвать отдельно:
- для предопределенных элементов с совпавшим УИД ссылки, будут обновлены все реквизиты в соответствии с макетом;
- для предопределенных элементов с НЕ совпавшим УИД ссылки, старый элемент БД будет помечен на удаление как НЕ предопределенный и создан новый предопределенный элемент с новой ссылкой.
// полная переинициализация всех справочников и ПВХ
дпПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначенияОбъектов(Истина);
// полная переинициализация выбранного справочника или ПВХ
дпПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначенияОбъекта(ОбъектМетаданных, Истина);
Вступайте в нашу телеграмм-группу Инфостарт