Значение поля "входит в группу" должно быть группой

1. virusmaiker 17.09.22 23:28 Сейчас в теме
Платформа 1С:Предприятие 8.3 (8.3.16.1063)
Управление торговлей, редакция 11 (11.4.13.99)

Был сбой ЖД, восстановили по возможности информацию, копий не было.
База заработала после утилиты chdbfl.
Далее была использована обработка для восстановления предопределенных данных.
На этом успокоились так как основные функции работали, проблем не возникало

После сбоя работали около года, товаровед решил добавить вид номенклатуры, но выяснили что при попытке добавить, удалить, изменить 1С выдает ошибку Значение поля "входит в группу" должно быть группой.

Было испробовано ТиС со всеми галочками,
Обновление (проходит нормально без ошибок)
Сохранение-загрузка cf
Выгрузка-загрузка ИБ.

Я понимаю что какой-то элемент справочника вызывает ошибку, но образования не хватает что бы разобраться.
В данный момент БД работает в режиме РИБ 2 магазина

Прошу помощи в направлении пути для исправления, или помощи для непосредственного участия.
По теме из базы знаний
Найденные решения
37. Zevzm 20.09.22 13:55 Сейчас в теме
(36) Для начала я бы просто создал корректный элемент "Группу" (как в чистой) в справочнике "НаборыДополнительныхРеквизитовИСведений", связал его таким кодом с предопределенным:
НаборНоменклатура = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию(<Имя нового элемента>);
НаборНоменклатураОбъект = НаборНоменклатура.ПолучитьОбъект();
НаборНоменклатураОбъект.ИмяПредопределенныхДанных = "Справочник_Номенклатура";
НаборНоменклатураОбъект.Записать();

После этого проверил создастся ли новый Вид номенклатуры, если все норм, то потом уже объединял старый и новый с заменой ссылок.
40. user628430_virusmaiker 23.09.22 09:05 Сейчас в теме
(39) Уважаемый Zevzm!!!
Выполнил все Ваши инструкции, но при привязке с предопределенным элементом "Справочник_Номенклатура" всячески пыталась привязаться к с предопределенным элементом "Справочник_Номенклатура" (общие)- после долгих разборов разобрался в ошибке победил.
Но после всех привязок элемент переставал быть группой и ошибка сохранялась.

Потом ради интереса решил удалить старую группу в Справочники.НаборыДополнительныхРеквизитовИСведений:
-сначала переименовал старую группу(добавил в конце имени _)
-Потом создал Группу с именем "Справочник_Номенклатура" и наименованием Справочник "Серии номенклатуры" как изначальный элемент.
-Перенес в новую группу элемент Справочник_СерииНоменклатуры_Общие
-удалил старую группу
связывание с предопределенным не делал.
После всех действий решил создать вид номенклатуры 1С выдала ошибку на элемент Справочник_СерииНоменклатуры
Поступил с группой таким же образом.
Ошибки пропали вид номенклатуры создался, в данный момент на тестовой базе все работает.

Вполне возможно что я не до конца понял Вашу инструкцию, поэтому у меня не получалось.

Думаю в данный момент проблема решена, очень признателен за оказанную Вами помощь.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vitaly1C8 17.09.22 23:45 Сейчас в теме
(1) Зайдите в систему с правами Администратора, далее произведите действие приводящее к ошибке, - после получения сообщения об ошибке нажмите кнопку Подробно*; Будет показана детальная информация - где произошла ошибка.
Если не получается - просто сделайте скриншот сообщения об ошибке и покажите тут.
5. user628430_virusmaiker 18.09.22 09:45 Сейчас в теме
3. lmnlmn 69 18.09.22 01:25 Сейчас в теме
(1) Вероятнее всего что в поле "Родитель" вновь создаваемого элемента справочника указали нечто отличное от группы этого самого справочника.
6. user628430_virusmaiker 18.09.22 09:49 Сейчас в теме
(3) А как посмотреть данную информацию?
4. user628430_virusmaiker 18.09.22 09:29 Сейчас в теме
В режиме отладки выводит сообщение:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Значение поля "Входит в группу" должно быть группой
{ОбщийМодуль.УправлениеСвойствамиУТ.Модуль(592)}: НаборСвойствОбъект.Записать();
{Справочник.ВидыНоменклатуры.МодульОбъекта(200)}: УправлениеСвойствамиУТ.ОбновитьПоляДополнительныхСвойств(ЭтотОбъект,

по причине:
Значение поля "Входит в группу" должно быть группой

и перекидывает в конфигуратор на строки
Если НаборСвойствОбъект <> Неопределено Тогда
НаборСвойствОбъект.Наименование = ВидНоменклатуры.Наименование + ОкончаниеНаименования;
НаборСвойствОбъект.ПометкаУдаления = ?(НуженНаборСвойств, ВидНоменклатуры.ПометкаУдаления, Истина);;
НаборСвойствОбъект.Родитель = РодительНабора;
НаборСвойствОбъект.Записать();
КонецЕсли;
7. Zevzm 18.09.22 09:52 Сейчас в теме
(4) Не пробовали поставить точку останова на этой строке "НаборСвойствОбъект.Родитель = РодительНабора;" и посмотреть что у вас содержится в "РодительНабора" перед записью?
8. user628430_virusmaiker 18.09.22 10:05 Сейчас в теме
(7)поставил на указанную строку, а как посмотреть что содержится перед записью.
Открыл локальные переменные там вот это:
Прикрепленные файлы:
9. user628430_virusmaiker 18.09.22 10:37 Сейчас в теме
(8)Сравнил данные с новой ИБ нашёл отличия в поле родитель,
в моей написано Номенклатура, в нормальной рабочей написано Справочник "Номенклатура".

Как я понимаю ошибка где-то в предопределенных элементах?
10. Zevzm 18.09.22 19:43 Сейчас в теме
(8) Посмотреть что содержится в переменной можно выделив переменную и нажав "Отладка - Вычислить выражение", либо Shift+F9.
Посмотрел в УПП настройки иерархии для справочника "НаборыДополнительныхРеквизитовИСведений", установлено "Иерархия групп и элементов", для элемента этого справочника вы устанавливаете родителя в переменной "РодительНабора", переменная содержит правильный тип ссылки на этот справочник, то что это не группа видно внизу, но иерархия это позволяет.

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

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

День убила на поиск этой ошибки."
Vitaly1C8; +1 Ответить
11. virusmaiker 18.09.22 20:29 Сейчас в теме
(10) Данную тему находил, но не побывал (Думал у меня другая ситуация)
Попробую завтра, отпишусь по результату.
Спасибо.
12. user628430_virusmaiker 19.09.22 09:13 Сейчас в теме
(10) Попробовал изменить код в конфигурации, изменений не произошло, ошибка осталась.

Прикладываю скрин выражения
Прикрепленные файлы:
14. Zevzm 19.09.22 09:51 Сейчас в теме
(12) Если выгрузить только конфигурацию и сделать на основе нее пустую базу ошибка воспроизводится? Есть возможность выложить пустую конфигурацию куда-нибудь в облако, я бы попробовал воспроизвести ошибку у себя?
15. user628430_virusmaiker 19.09.22 12:11 Сейчас в теме
Пробывал создать на основе нее чистую конфигурацию, ошибка не воспроизводится.
Сейчас выгружу на google диск cf файл, ссылку отправлю в личных сообщениях.
16. user628430_virusmaiker 20.09.22 07:32 Сейчас в теме
17. Zevzm 20.09.22 09:18 Сейчас в теме
(16) Файл скачал. В течении дня, либо вечером отпишусь.
18. Zevzm 20.09.22 09:35 Сейчас в теме
(16) Можете сделать скрин предопределенных элементов справочника "НаборыДополнительныхРеквизитовИСведений", как во вложении?
Прикрепленные файлы:
19. user628430_virusmaiker 20.09.22 10:50 Сейчас в теме
(18) Конечно!
Прикрепленные файлы:
20. Zevzm 20.09.22 11:39 Сейчас в теме
(19) Такое ощущение что у вас в справочнике к предопределенному наименованию "Справочник_Номенклатура" после восстановления данных привязан элемент не являющийся группой, а он должен быть группой, на скрине в чистой базе это видно.
Можете в проблемной базе в консоли выполнить запрос:
ВЫБРАТЬ
НаборыДополнительныхРеквизитовИСведений.Ссылка КАК Ссылка,
НаборыДополнительныхРеквизитовИСведений.ЭтоГруппа КАК ЭтоГруппа,
НаборыДополнительныхРеквизитовИСведений.Наименование КАК Наименование,
НаборыДополнительныхРеквизитовИСведений.Используется КАК Используется,
НаборыДополнительныхРеквизитовИСведений.Предопределенный КАК Предопределенный,
НаборыДополнительныхРеквизитовИСведений.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
НаборыДополнительныхРеквизитовИСведений.Представление КАК Представление
ИЗ
Справочник.НаборыДополнительныхРеквизитовИСведений КАК НаборыДополнительныхРеквизитовИСведений
ГДЕ
НаборыДополнительныхРеквизитовИСведений.ИмяПредопределенныхДанных = "Справочник_Номенклатура"

Он должен вернуть результат, как во вложении.
Прикрепленные файлы:
21. user628430_virusmaiker 20.09.22 12:29 Сейчас в теме
Выполнил Ваш запрос, у меня по другому
Прикрепленные файлы:
27. Zevzm 20.09.22 12:59 Сейчас в теме
(21) Ну вот это и есть ваша проблема, то что с предопределенным элементом "Справочник_Номенклатура" связан элемент, который не является группой. Сделайте копию базы, заведите новый элемент "Справочник "Номенклатура"" (так как он заведен в чистой на основе конфигурации), отвяжите существующий от предопределенных данных, объедините их типовой обработкой удаления дублей (нужно для замены ссылок на существующий), затем свяжите новый корректный (который является группой) с предопределенным через "Элемент.ИмяПредопределенныхДанных = "Справочник_Номенклатура";". Я бы сделал так. Только все это в копии!
36. user628430_virusmaiker 20.09.22 13:50 Сейчас в теме
(27) Большое спасибо, сейчас буду пробовать.
37. Zevzm 20.09.22 13:55 Сейчас в теме
(36) Для начала я бы просто создал корректный элемент "Группу" (как в чистой) в справочнике "НаборыДополнительныхРеквизитовИСведений", связал его таким кодом с предопределенным:
НаборНоменклатура = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию(<Имя нового элемента>);
НаборНоменклатураОбъект = НаборНоменклатура.ПолучитьОбъект();
НаборНоменклатураОбъект.ИмяПредопределенныхДанных = "Справочник_Номенклатура";
НаборНоменклатураОбъект.Записать();

После этого проверил создастся ли новый Вид номенклатуры, если все норм, то потом уже объединял старый и новый с заменой ссылок.
38. user628430_virusmaiker 21.09.22 09:58 Сейчас в теме
(37) Извините меня пожалуйста, создание и объединение как делать я понимаю.
я стараюсь учится самостоятельно, но не могу понять как лучше выполнить код, через обработку или через какойто хитрый механизм.
Спасибо
39. Zevzm 21.09.22 10:58 Сейчас в теме
(38) Сделайте внешнюю обработку. В обработке добавьте команду из которой вызывайте серверную процедуру и работайте с элементами справочника. Приложу простейший пример для привязки элемента справочника к предопределенному элементу, который я делал в вашей базе.
Прикрепленные файлы:
ТестВидНоменклатуры.epf
40. user628430_virusmaiker 23.09.22 09:05 Сейчас в теме
(39) Уважаемый Zevzm!!!
Выполнил все Ваши инструкции, но при привязке с предопределенным элементом "Справочник_Номенклатура" всячески пыталась привязаться к с предопределенным элементом "Справочник_Номенклатура" (общие)- после долгих разборов разобрался в ошибке победил.
Но после всех привязок элемент переставал быть группой и ошибка сохранялась.

Потом ради интереса решил удалить старую группу в Справочники.НаборыДополнительныхРеквизитовИСведений:
-сначала переименовал старую группу(добавил в конце имени _)
-Потом создал Группу с именем "Справочник_Номенклатура" и наименованием Справочник "Серии номенклатуры" как изначальный элемент.
-Перенес в новую группу элемент Справочник_СерииНоменклатуры_Общие
-удалил старую группу
связывание с предопределенным не делал.
После всех действий решил создать вид номенклатуры 1С выдала ошибку на элемент Справочник_СерииНоменклатуры
Поступил с группой таким же образом.
Ошибки пропали вид номенклатуры создался, в данный момент на тестовой базе все работает.

Вполне возможно что я не до конца понял Вашу инструкцию, поэтому у меня не получалось.

Думаю в данный момент проблема решена, очень признателен за оказанную Вами помощь.
41. Zevzm 23.09.22 09:19 Сейчас в теме
(40) НУ главное, что разобрались. Я экспериментировал на чистой базе от вас, возможно на реальных данных у вас что-то по-другому. Не забудьте удалить ссылку на файл в гугл-диске... Удачи.
42. user628430_virusmaiker 23.09.22 09:48 Сейчас в теме
(41)Если нужна будет помошь в Кинель-Черкасском или в Похвистневском районе, всегда буду рад помочь!
13. user628430_virusmaiker 19.09.22 09:15 Сейчас в теме
Может быть кто-нибудь подскажет как поменять поле Родитель с Номенклатура на Справочник "Номенклатура" ?
22. user1831019 20.09.22 12:31 Сейчас в теме
23. user628430_virusmaiker 20.09.22 12:42 Сейчас в теме
(22) В сравнении с рабочей базой различия в переменной Родитель

(8)Сравнил данные с новой ИБ нашёл отличия в поле родитель,
в моей написано Номенклатура, в нормальной рабочей написано Справочник "Номенклатура".
24. user1831019 20.09.22 12:43 Сейчас в теме
25. user628430_virusmaiker 20.09.22 12:51 Сейчас в теме
(22)
(24) утверждать что точно не буду, сравнивал визуально, написано по разному.
На скрине выделенная строка, в работающей базе созданной на основе CF написано Справочник"Номенклатура"
Прикрепленные файлы:
26. user1831019 20.09.22 12:53 Сейчас в теме
(25) А, ну то есть не переменная, ок.
Ну и что такого на картинке? Это всего лишь представление ссылки.
28. Zevzm 20.09.22 13:01 Сейчас в теме
(26) У него предопределенный элемент в справочнике стал не группой после восстановления, если создать пустую ИБ на основе его конфигурации, то там он Группа и Вид номенклатуры корректно создается.
29. user1831019 20.09.22 13:05 Сейчас в теме
(28) Ну и причем тут его попытки изменить наименование "Номенклатура" на наименование "Справочник Номенклатура"? Русским языком в Самаре 1С-ники не пользуются?
32. user628430_virusmaiker 20.09.22 13:11 Сейчас в теме
(29) 1с-ки в Самаре наверно правильными словами пользуются.
Но я не 1С-ик, и Самара за 100 км от меня, одним словом деревня...
30. Zevzm 20.09.22 13:06 Сейчас в теме
(29) Да "Наименование" не при чем, просто человек увидел в этом различие и просит помощи, интуитивно он понял в чем проблема.
31. user1831019 20.09.22 13:08 Сейчас в теме
(30) Урааа! Наконец-то на форуме завелся штатный телепат, который понимает интуитивные намерения остальных участников!!!
33. Zevzm 20.09.22 13:16 Сейчас в теме
(31) Главное, что на форуме возродился неиссякаемый источник язвительных замечаний... А то как-то скучно было читать темы без увольнений участников и отправок к сараю с удочками )
34. user1831019 20.09.22 13:19 Сейчас в теме
(33)
Прикрепленные файлы:
35. Zevzm 20.09.22 13:21 Сейчас в теме
(34) Не вы его отправили к этому "сарайчику с удочками"? )))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот