Как добавить предопределенный элемент в справочник 1с в расширении
Платформа 8.3.11.2867. У расширения и конфигурации режим совместимости = Не использовать.
В расширение добавляю справочник. Щелкаю правой кнопкой мыши — команда «Предопределенные данные» отсутствует.
Почему и что делать?
(0) в смысле создаю «с нуля» свой собственный справочник.
Если же добавляю справочник из основной конфигурации — предопределенные данные задать можно.
Но это не весь прикол.
Если правой кнопкой по справочнику — Изменить — вкладка Прочее — то кнопка Предопределенные данные там есть. Но, зайдя в них, можно создать только группы! Элементы создать невозможно 🙂
Восьмерка еще сырая
(2) думаю, что это сделано умышлено и возможность создания предопределенной группы — баг.
Интересно, чем же решили заменить преопределенные элементы справочников?
(0) Не создавай предопределенные, если не предусмотрено. Ищи другие варианты.
Что случится с предопределенными элементами справочников, если вдруг Расширение будет асинхронно роздано в периферийные базы?
(2) А если создать предопределенную группу, а потом в режиме предприятия установить существующему элементу ИмяПредопределенныхДанных?
(7) забавно попробовать, но по идее это не отразится на конфигурации. Ведь предопределенные данные существуют как бы в двух копиях: один раз — в конфигурации, второй — в данных (тот самый реквизит).
UPD: нихрена не получится:
СправочникСсылка. (CatalogRef.)
ИмяПредопределенныхДанных (PredefinedDataName)
Использование:
Только чтение.
СправочникОбъект
и сначала нужно очистить имяпредопределенныхданных у предопределенной группы, если она создастся.
Полный мрак.
Пытаюсь в режиме приложения открыть справочник:
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка при выполнении операции с информационной базой
Запись не найдена в менеджере имен базы данных.
После удаления предопределенных групп:
Платформа: 1С:Предприятие 8.3 (8.3.11.2867)
Конфигурация: Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.5.65) (http://v8.1c.ru/statehrm/)
Copyright © ООО «1C-Софт», 2014 — 2017. Все права защищены
Расширение конфигурации: Дополнения для ХХХ
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский
Вариант интерфейса: Такси
Ошибки:
Тип не определен ‘8db5ca43-69d9-46a0-8a77-4c087bbc0bda’
Регай ошибку.
Дальше ещё веселее: пытаюсь удалить к чертям расширение — конфигуратор падает.
Единственное, что остается — подбирать версию платформы, ибо 8.3.11.2867 — ноябрьская.
Ну всё, угробил базу.
Со второй попытки снес расширение.
Пытаюсь зайти в один из справочников, которые пробовал расширить:
Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Работа с таблицей невозможна.
Структура таблицы расширена при выключенном разделении.
Предопределенные элементы справочников 1С 8.3
У любого справочника 1С (кроме подчиненных) можно создавать предопределенный элемент или предопределенную группу этого справочника (если справочник иерархический). Предопределенные элементы справочника это элементы созданные разработчиком в конфигураторе, с которыми пользователь может работать. Пользователю уже не нужно самостоятельно создавать этот элемент справочника, он уже будет создан в базе по умолчанию при установке. Также разработчикам очень удобство работать с предопределенными элементами в том, что разработчик к ним может обращаться напрямую, используя менеджер справочника. В этой статье мы научимся работать с предопределенными элементами.
При разработке справочников, рекомендую, первым делом подумать будут ли предопределенные элементы у этих справочников, и создать их заранее, до того как этот справочник будет внедрен в опытную эксплуатацию.
К примеру, мы в нашей конфигурации для целей учета создали справочник Валюты, поскольку мы живем в Российской федерации, то валюта Рубль всегда будет в нашей конфигурации, которая используется на территории РФ. Поэтому наиболее логичнее её сделать в виде предопределенного элемента. Поэтому создадим для справочника Валюты предопределенный элемент Рубль. Для того, чтобы добавить предопределенный элемент необходимо выделить нужный справочник, вызвать контекстное меню и выбрать в этом меню команду «Открыть предопределенные данные».
Откроется список предопределенных элементов (и групп, если справочник иерархический), в котором можно добавлять новые элементы. Причем заметьте, при добавлении мы можем указать только наименование элемента и его код, если у справочника есть реквизиты, то мы эти реквизиты мы сможем заполнить только в пользовательском режиме.

Обращаю внимание на имя предопределенного элемента. Имя должно быть уникально в пределах этого справочника, и к нему применяются правила установки имен для объектов метаданных (отсутствие пробелов, спецсимволов кроме подчеркивания и т.д.). Пользователь не видит имени предопределенного элемента, он работает только с наименованием. С именем может работать разработчик, получая ссылку на конкретный предопределенный элемент, используя менеджер справочника.
Если справочник иерархический, то можно также создать и предопределенные группы, для этого в командной панели формы списка предопределенных элементов имеется команда «Добавить группу».

Если мы зайдем в форму списка справочника Страны в пользовательском режиме «1С: Предприятия», то обнаружим, что уже имеются группы и элементы с точкой внизу. Так платформа помечает предопределенные элементы и группы.

Замечу, что все реквизиты у предопределенных элементов присутствуют также как и у обычных, и в них можно записывать какие-либо значения.

Получить предопределенный элемент справочника 1С
Используя менеджер справочника, можно обратиться к предопределенному элементу. Делается это следующим образом.
ЭлементКитай = Справочники.Страны.Китай;
Обращаю Ваше внимание, что получить ссылку на предопределенный элемент можно только в серверном контексте. Чтобы получить ссылку на предопределенный элемент в клиентском контексте управляемой формы необходимо использовать метод ПредопределенноеЗначение, где в кавычках нужно указать путь к этому элементу.
ЭлементКитай = ПредопределенноеЗначение("Справочник.Страны.Китай");
Имейте в виду, что и при помощи метода ПредопределенноеЗначение и при помощи прямого обращения посредством менеджера объекта мы получим ссылку на элемент, с которой можем работать как с обычной ссылкой на элемент справочника: присваивать её какому-нибудь реквизиту, получать объект из этой ссылки и т.д.

Создать предопределенный элемент справочника 1С
Мы уже научились создавать предопределенные элементы справочника в конфигураторе, но можно ли создать предопределенный элемент программно? И да, и нет.
Мы можем из простого элемента сделать предопределенный, и наоборот предопределенный элемент сделать простым.
Для этих целей у справочников имеется стандартный реквизит ИмяПредопределенныхДанных.

Если мы получим ссылку на предопределенный элемент, то этот реквизит заполнен.

Если же мы возьмем какой-то не предопределенный элемент, то этот реквизит будет пустой.

Если мы этому реквизиту присвоим какое-нибудь имя (помня об уникальности имен предопределенных элементов в контексте конкретного справочника), то мы программно «создадим» предопределенный элемент, но только в том случае если это имя уже существует в списке предопределенных элементов справочника, которые были заданы в конфигураторе 1С!
Например, тот же элемент «Тунис» справочника «Страны» у нас простой.

В какой-нибудь обработке напишем код, в котором попробуем сделать из этого элемента предопределенный элемент.
&НаСервере Процедура СоздатьНаСервере() ЭлТунис = Справочники.Страны.НайтиПоНаименованию("Тунис"); ОбТунис = ЭлТунис.ПолучитьОбъект(); ОбТунис.ИмяПредопределенныхДанных = "Тунис"; ОбТунис.Записать(); КонецПроцедуры &НаКлиенте Процедура Создать(Команда) СоздатьНаСервере(); КонецПроцедуры
Если мы попытаемся его сейчас выполнить, то у нас возникнет ошибка «Предопределенный элемент не существует».

Такая ошибка возникла потому, что мы пытаемся указать имя предопределенного элемента, которого нет.
Если же мы у предопределенного элемента реквизиту ИмяПредопределенныхДанных присвоим пустую строку, то такой элемент станет простым, если же этому реквизиту обратно присвоим имя предопределенного элемента, то простой элемент станет предопределенным.
Сделаем на обработке две команды. Первая будет снимать предопределенность у элемента справочника с именем «Китай», а вторая устанавливать.
&НаСервере Процедура ОтсоединитьНаСервере() ЭлементКитай = Справочники.Страны.Китай; ОбЭлКитай = ЭлементКитай.ПолучитьОбъект(); ОбЭлКитай.ИмяПредопределенныхДанных = ""; ОбЭлКитай.Записать(); КонецПроцедуры &НаКлиенте Процедура Отсоединить(Команда) ОтсоединитьНаСервере(); КонецПроцедуры
Теперь обратно установим.
&НаСервере Процедура ПрисоединитьНаСервере() ЭлКитай = Справочники.Страны.НайтиПоНаименованию("Китай"); ОбЭлКитай = ЭлКитай.ПолучитьОбъект(); ОбЭлКитай.ИмяПредопределенныхДанных = "Китай"; ОбЭлКитай.Записать(); КонецПроцедуры &НаКлиенте Процедура Присоединить(Команда) ПрисоединитьНаСервере(); КонецПроцедуры
Заметьте, что имя предопределенного элемента может быть только из списка имен предопределенных элементов справочника.

У нас до снятия элемент «Китай» был предопределенным.

А после снятия это стал простой элемент.

Удалить предопределенный элемент справочника 1С
Начиная с платформы 1С 8.3 предопределенные элементы можно удалять в пользовательском режиме.


Если сейчас этот элемент удалить через стандартную обработку «Удаление помеченных объектов», то он исчезнет из базы.
Для того, чтобы пользователь мог удалить (поставить пометку на удаление) предопределенный элемент, хотя бы у одной роли, которая есть в профиле пользователя должно быть установлено соответствующее право.

Что делать, если мы ошиблись и хотим опять «вернуть» предопределенный элемент? Есть несколько способов. Но самый простой это создать новый элемент справочника в пользовательском режиме и присвоить ему имя удаленного предопределенного элемента, как мы это уже делали.
Остальные статьи по теме конфигурирования:
Более подробно и основательно работа со справочниками, документами и другими объектами метаданных дается в моей книге:
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Вступайте в мои группы:
3 Replies to “Предопределенные элементы справочников 1С 8.3”
Дотошный :
У любого справочника 1С можно создавать предопределенный элемент или предопределенную группу — если у справочника есть владелец, то создать предопределенный элемент нельзя.
Signum :
Спасибо, подправил!
Алексей :
Автор. Вы морочите голову. Вы пишете, можно ли создать предопределённый программно. Отвечаете и Да и нет. Затем играетесь с реквизитом Предопределенный устанавливая его в значение ложь и обратно в истина. Где программное создание предопределенного элемента? Если нет, то так и пишите ЭТО НЕ ВОЗМОЖНО. И не надо будет разгадывать ваш витиеватый ребус в течение полутора часов. Вот за такие статьи я и не люблю 1С.
Значение контролируемого свойства различается с конфигурацией
При запуске 1С:Предприятие Вы получили ошибку: Значение контролируемого свойства Предопределенные не совпадает со значением в расширяемой конфигурации и расширение конфигурации после возникновения ошибки перестало работать.
При этом текст ошибки может быть разный, в зависимости от объекта, который вызвал эту ошибку. К примеру:
- Значение контролируемого свойства Предопределенные у объекта Справочник.Склады не совпадает со значением в расширяемой конфигурации, различаются свойства элемента ГлавныйСклад.
- Ошибка применения расширения конфигурации: Значение контролируемого свойства ОбъектРасширяемойКонфигурации у объекта Язык.Русский не совпадает со значением в расширяемой конфигурации.

1С:Предприятие таким образом информирует, что расширение применить невозможно т.к. изменилось одно из контролируемых свойств в основной конфигурации. В данном случае в расширение конфигурации был добавлен предопределенный элемент справочника Склады и он в основной конфигурации был изменен.
Как исправить?
В расширении конфигурации необходимо найти объект, который вызывает ошибку. Далее необходимо обновить свойство или элемент в этом объекте, который вызывает ошибку. Если это было предопределенное значение справочника — его надо добавить повторно, удалив ранее старое значение. Также это изменение надо учесть в коде расширения конфигурации.
Для исправления ошибки «Значение контролируемого свойства объект расширяемой конфигурации у объекта Язык.Русский не совпадает со значением в расширяемой конфигурации» рекомендуем Вам отключить проверку языка в расширении конфигурации:

Более подробно ознакомиться с обновлением расширений конфигурации Вы можете в нашей статье — Адаптация расширений конфигурации
У Вас возникли трудности с расширениями конфигурации? Мы быстро поможем устранить все ошибки расширения или написать новое расширение с необходимым для Вас функционалом.
Наши разработки:

Конструктор прайс-листов (прайс-заказов) для УТ11, КА2, ERP2, УНФ, Розница
Расширение позволяет формировать произвольные прайс-листы с выгрузкой в Excel и обратной загрузкой в 1С (после обработки прайс-листа клиентом). Конструктор также .

Помощник продаж с мультикорзиной (расширение для УТ11, КА2, ERP2)
Помощник продаж выполнен в виде расширения конфигурации 1С, которое существенно дополняет возможности стандартного списка номенклатуры, превращая его в полноценное рабочее .

Расширенная форма списка номенклатуры для УТ11, КА2, ERP2
Расширение конфигурации позволяет выводить остатки по всем необходимым складам, отображать цены номенклатуры в списке и применять различные отборы. После установки .

Расширенная форма РМК для УТ 11, КА 2, ERP 2
Расширение конфигурации дорабатывает рабочее место кассира (РМК) и добавляет в нее удобные инструменты для просмотра остатков по складам, остатков по .

Розница: Расширенная форма списка номенклатуры
Расширение конфигурации изменяет форму списка номенклатуры и добавляет в него функционал, позволяющий выводить остатки по любому складу, цены номенклатуры и .

Контроль минимальной цены и суммы в заказах и реализациях (УТ11, КА2, ERP2)
Расширение конфигурации позволяет быстро решить проблему продажи товара по цене ниже закупочной или цены себестоимости. Контроль будет работать в разрезе .
Комментарии 1
Зудилов Николай
Огромное спасибо.
Буду рад с Вами контактировать и делиться опытом.
Добавить комментарий Отменить ответ
- Остатки и цены в списках номенклатуры

- Если Ваш прайс-лист неотличим от остальных — не ожидайте что он принесёт Вам продажи!

- Рубрики
- 1С: Предприятие
- Администрирование
- Конфигурации
- ERP Управление предприятием 2
- Бухгалтерия 3.0
- Комплексная автоматизация 2
- Управление нашей фирмой
- Управление торговлей 11
- Конфигурирование
- Программирование в 1С
- Разное
- Свежие записи
- Перенос типовых настроек Мин-Макс в Помощник закупок
- Ноябрьские распродажи на TNSoft.ru (2023)
- Управление запасами — настройка профилей оповещений
- Универсальная выгрузка товаров на портал zzap.ru (УТ11, КА2, ERP2, УНФ, Розница)
- Универсальная выгрузка товаров на портал blizko.ru (УТ11, КА2, ERP2, УНФ, Розница)
- Архивы
- Ноябрь 2023
- Октябрь 2023
- Сентябрь 2023
- Май 2023
- Апрель 2023
- Март 2023
- Февраль 2023
- Январь 2023
- Ноябрь 2022
- Октябрь 2022
- Июль 2022
- Июнь 2022
- Апрель 2022
- Январь 2022
- Декабрь 2021
- Октябрь 2021
- Сентябрь 2021
- Август 2021
- Июль 2021
- Апрель 2021
- Февраль 2021
- Январь 2021
- Декабрь 2020
- Ноябрь 2020
- Август 2020
- Июль 2020
- Июнь 2020
- Февраль 2020
- Январь 2020
- Декабрь 2019
- Ноябрь 2019
- Октябрь 2019
- Сентябрь 2019
- Июль 2019
- Апрель 2019
- Март 2019
- Февраль 2019
- Декабрь 2018
- Ноябрь 2018
- Октябрь 2018
Предопределенные элементы справочника и расширения
Здравствуйте! Только сегодня начал работать с расширениями. Не могу понять. Можно ли добавить предопределенный элемент справочника, который добавлен в расширении? Подскажите, кто сталкивался. если платформой не предусмотрено есть ли обходной путь?
По теме из базы знаний
- Расширения конфигурации и РИБ, друзья или враги? Или как мы передаем расширения подчиненным РИБ узлам
- Удаление справочников для любых баз на управляемых и обычных формах
- Эволюция расширения конфигурации
- Создание предопределенных элементов в собственном справочнике, созданном в расширении
- Управление сборкой. Расширение для конфигурации СППР
Найденные решения
4. noprogrammer 234 30.11.18 13:02 Сейчас в теме
Такой возможности нет и пока такая возможность даже не анонсирована.
SG7R; xico; rabota.v8.1c; 1c_uZer; + 4 – Ответить
Остальные ответы
- Дата
- Дата
- Рейтинг всех уровней
- Рейтинг 1-го уровня
- Древо развёрнутое
- Древо свернутое
Свернуть все
2. Gladiator4021 30.11.18 12:54 Сейчас в теме
По моему нет, но возможно в новых релизах платформы это уже есть гуглите зазеркалье
AlenaR; 1c_uZer; + 2 – Ответить
3. 1c_uZer 30.11.18 12:57 Сейчас в теме
(2) ну у меня вот позавчерашняя, там это тоже не предусмотрено) видимо нет такой возможности на данный момент)
4. noprogrammer 234 30.11.18 13:02 Сейчас в теме
Такой возможности нет и пока такая возможность даже не анонсирована.
SG7R; xico; rabota.v8.1c; 1c_uZer; + 4 – Ответить
5. 1c_uZer 30.11.18 13:04 Сейчас в теме
6. Jungle Murzik 23.07.21 14:57 Сейчас в теме
(4) Анонсирована в версии 8.3.20
Для всех собственных объектов расширения можно создавать предопределенные элементы, если выбранный собственный объект конфигурации поддерживает эту возможность. Также в расширении имеется возможность контролировать наличие предопределенных элементов в объекте расширяемой конфигурации. Для этого необходимо установить признак проверки значения при подключении расширения у свойства Предопределенные.
Zevzm; 1c_uZer; DennyPhilord; Devi; + 4 – Ответить
7. SG7R 13.10.22 10:06 Сейчас в теме
(6)
Платформа 8.3.20.1674
БП 3.0.109
Однако добавление предопределенных в расширении для справочника невозможно. Может ли это быть из-за запуска в режиме совместимости 8.3.16?
8. comptr 3 13.10.22 11:32 Сейчас в теме
(7)
Для всех собственных объектов расширения можно создавать предопределенные элементы.
Т.е. для справочников, которые созданы в расширении, а не которые туда заимствованы.
9. SG7R 13.10.22 11:56 Сейчас в теме
(8)
Так я не на добавленном в расширение, а на собственном объекте расширения смотрю. Притом не использую хранилище, и справочник не подчинен.
10. RustamZz 13.10.22 12:17 Сейчас в теме
Реализована возможность создавать предопределенные элементы в собственных справочниках расширений конфигурации. В режиме совместимости с версией 8.3.19 (для конфигурации и расширения конфигурации) поведение не изменилось .
