БСП 3.1 Свойства, программно определяемый предопределенный набор свойств в запросах
Злравствуйте
В БСП 3.1 вместо конфигурационно-предопределенных данных перешли на программно-предеопределенные.
Теперь в коде, например, вместо
надо использовать
И что то я не могу сообразить как теперь обращаться к этим элементам в запросах?
Там где было
Что теперь надо писать?
В БСП 3.1 вместо конфигурационно-предопределенных данных перешли на программно-предеопределенные.
Теперь в коде, например, вместо
Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие
надо использовать
УправлениеСвойствами.НаборСвойствПоИмени("Справочник_Номенклатура_Общие")
И что то я не могу сообразить как теперь обращаться к этим элементам в запросах?
Там где было
"ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие)"
Что теперь надо писать?
По теме из базы знаний
Найденные решения
Все оказалось до примитивного просто. Непонятно почему в документации 1С этого нигде не отразила толком.
Даже в демо они развели зоопарк старых конфигурационно-предопределенных элементов и программных
А всего-то в УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств вместо кода из документации надо писать:
И все!
Даже в демо они развели зоопарк старых конфигурационно-предопределенных элементов и программных
А всего-то в УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств вместо кода из документации надо писать:
// Наборы справочника: Номенклатура
Набор = Наборы.Строки.Добавить();
Набор.Имя = "Справочник_Номенклатура";
Набор.ЭтоГруппа = Истина;
Набор.Идентификатор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура.УникальныйИдентификатор();
//Новый УникальныйИдентификатор("42eaf341-3bfc-4f47-b0e8-02db150f69f2");
ДочернийНабор = Набор.Строки.Добавить();
ДочернийНабор.Имя = "Справочник_Номенклатура_Общие";
ДочернийНабор.Идентификатор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие.УникальныйИдентификатор();
//Новый УникальныйИдентификатор("91895104-9e5b-4d90-81b8-452058a0f697");
ПоказатьИ все!
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Пока писала вопрос сама додумалась до ответа %)
Вместо использования &ОбщийНабор как элемента для замены
Нужно использовать &ОбщийНабор как параметр
Вместо использования &ОбщийНабор как элемента для замены
|ГДЕ
| (ДополнительныеРеквизиты.Ссылка = &ОбщийНабор
| ИЛИ ДополнительныеРеквизиты.Ссылка = &НаборВида)
| И НЕ ДополнительныеРеквизиты.ПометкаУдаления";
Если НазначениеДопРеквизитов = "Номенклатура" Тогда
ОбщийНабор = "ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие)";
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбщийНабор", ОбщийНабор);
ПоказатьНужно использовать &ОбщийНабор как параметр
|ГДЕ
| (ДополнительныеРеквизиты.Ссылка = &ОбщийНабор
Если НазначениеДопРеквизитов = "Номенклатура" Тогда
ОбщийНабор = УправлениеСвойствами.НаборСвойствПоИмени("Справочник_Номенклатура_Общие");
КонецЕсли;
Запрос.УстановитьПараметр("ОбщийНабор", ОбщийНабор);
Показать
(2)Выполнив поиск ссылки методом УправлениеСвойствами.НаборСвойствПоИмени("Справочник_Номенклатура_Общие"), вы создали лишнюю транзакцию "формирование запроса к БД - получения данных", в то время как указание предопределенного значения в тексте запроса этой транзакции не вызывает.
(3) Блин, это совсем плохо :(
Хотя нет, там в коде БСП результат запроса программно-предопределенных наборов кешируется.
Но как же теперь быть то с запросами?
Да и поторопилась я закрыть тему - если встречается предопределенное значение как реквизит запроса, то как здесь то быть?
Типа:
Физически теперь этих элементов нет.
Как к ним обращаться в запросах то?
Хотя нет, там в коде БСП результат запроса программно-предопределенных наборов кешируется.
Но как же теперь быть то с запросами?
Да и поторопилась я закрыть тему - если встречается предопределенное значение как реквизит запроса, то как здесь то быть?
Типа:
|ВЫБРАТЬ
| НаборыДополнительныхРеквизитов.Свойство,
| ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие),
| НаборыДополнительныхРеквизитов.Свойство.Заголовок
Физически теперь этих элементов нет.
Как к ним обращаться в запросах то?
(4)Так понимаю, для написания запросов все осталось, как было, либо нужно разбираться с кодом в УправлениеСвойствами.НаборСвойствПоИмени(), куда переселили жить сам набор доп. реквизитов. Я пока далек от мысли, что они совсем отказались от справочника/плана вида характеристик в качестве хранилища списка.
УправлениеСвойствами.НаборСвойствПоИмени("Справочник_Номенклатура_Общие") можно использовать для корректного отображения представлений доп. реквизитов для пользователя.
УправлениеСвойствами.НаборСвойствПоИмени("Справочник_Номенклатура_Общие") можно использовать для корректного отображения представлений доп. реквизитов для пользователя.
Все оказалось до примитивного просто. Непонятно почему в документации 1С этого нигде не отразила толком.
Даже в демо они развели зоопарк старых конфигурационно-предопределенных элементов и программных
А всего-то в УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств вместо кода из документации надо писать:
И все!
Даже в демо они развели зоопарк старых конфигурационно-предопределенных элементов и программных
А всего-то в УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств вместо кода из документации надо писать:
// Наборы справочника: Номенклатура
Набор = Наборы.Строки.Добавить();
Набор.Имя = "Справочник_Номенклатура";
Набор.ЭтоГруппа = Истина;
Набор.Идентификатор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура.УникальныйИдентификатор();
//Новый УникальныйИдентификатор("42eaf341-3bfc-4f47-b0e8-02db150f69f2");
ДочернийНабор = Набор.Строки.Добавить();
ДочернийНабор.Имя = "Справочник_Номенклатура_Общие";
ДочернийНабор.Идентификатор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие.УникальныйИдентификатор();
//Новый УникальныйИдентификатор("91895104-9e5b-4d90-81b8-452058a0f697");
ПоказатьИ все!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот