Вход | Регистрация
 

БСП.Свойства.Настройка объектов с разными наборами свойств у разных групп объектов

БСП.Свойства.Настройка объектов с разными наборами свойств у разных групп объектов
Я
   yabes
 
06.04.21 - 11:04
Добрый день. Пытаюсь внедрить подсистему БСП "Свойства", вариант: "Настройка объектов с разными наборами свойств у разных групп объектов". Пример: для справочника Номенклатура добавить набор свойств в разрезе Видов номенклатуры.
Делаю все как написано на сайте ИТС, но сталкиваюсь с проблемой: В справочнике БСП "НаборыДополнительныхРеквизитовИСведений" для справочника Номенклатура должна создаваться группа, а не элемент (Это группа = Истина). Но у меня создается элемент и из-за этого при добавлении нового вида номенклатуры при записи возникает ошибка

Для того, чтобы создавалась группа в процедуре УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств() необходимо написать Набор.ЭтоГруппа = Истина, что я и делаю, но это не помогает:
Набор = Наборы.Строки.Добавить();
Набор.Имя = "Справочник_Номенклатура";
Набор.ЭтоГруппа = Истина;
Набор.Идентификатор = Новый УникальныйИдентификатор("e50ec7bc-abda-4400-a886-93d03aeb7306");

Подскажите, что может быть не так?
   yabes
 
1 - 06.04.21 - 11:06
(0) Ошибка, которая выдается при записи Вида номенклатуры: "Значение поля "Входит в группу" должно быть группой"
   yabes
 
2 - 06.04.21 - 12:05
Нашел решение - это ошибка БСП. Кому интересно:

14.  ellavs  806 15.07.19 13:27
(13) упс, не тот скрин приложила (в этом ошибка, которую я потом исправила, но всё равно не работало).
В итоге еще и баг БСП нашла, который некорректно обрабатывал добавляемый предопределенный элемент в справочник Наборов, если это группа (т.е. задано Набор.ЭтоГруппа = Истина;), которая используется для случая, описанного в ИТС как "Особые случаи настройки наборов свойств. Настройка объектов с разными наборами свойств у разных групп объектов". Настроила всё в точности по инструкции, но элемент записывался в справочник наборов упорно не как группа, в итоге при попытке добавить дочерний элемент (из спец.справочника на базе которого формировались наборы реквизитов) выходила ошибка на строке в модуле БСП "УправлениеСвойствами" "НаборСвойствОбъект.Записать(); по причине: Значение поля "Входит в группу" должно быть группой".

Для исправления ищем Общий модуль БСП УправлениеСвойствамиСлужебный, процедура СоздатьНаборСвойств:
Заменяем строку:
Если СвойстваНабора.ДочерниеНаборы = Неопределено Или СвойстваНабора.ДочерниеНаборы.Количество() = 0 Тогда
НА
Если (СвойстваНабора.ДочерниеНаборы = Неопределено Или СвойстваНабора.ДочерниеНаборы.Количество() = 0) И Не СвойстваНабора.ЭтоГруппа Тогда

День убила на поиск этой ошибки.

Список тем форума
 
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.