Создание предопределенных элементов в собственном справочнике, созданном в расширении

Публикация № 1221823

Разработка - Конфигурирование 1С - Расширения

Создание "предопределенных" элементов в собственном справочнике, созданном в расширении. Представлена как шаблон на конкретном примере.

Пред.история: При доработке конфигурации ЗУП (доработка делается в расширении) очень понадобилось создать собственный справочник с предопределенными элементами. Решить задачу стандартным образом - ни как, поиск в интернете дал отрицательный результат, типа в конфигурации на сей день это еще не реализовано. Задача на грани срыва и тут именно в голову :) приходит мысль: - а в чем особое различие между пользовательскими и предопределенными элементами? Основное: пользователь не может менять Имя и при открытии они всегда на верху (в первых строках) + запрет на удаление. Вот тут и возникла идея создать собственные "предопределенные" элементы. Пример выполнен на самом простом нужном мне справочнике.

1. Создаем справочник с нужными реквизитами, добавляем еще реквизит типа Булево (имя свое, типа "НеИзменять", а заголовок "Предопределенный").

2. Создаем Форму элемента и Форму списка.

3. В обоих формах процедуры "ПриОткрытии". В Форме списка еще процедуру для первоначального заполнения типа ЗаполнитьПредопределенные() и получается почти идеальный справочник.

Модуль формы элемента:


&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Если Объект.НеИзменять Тогда
		//выдаем предупреждение оставляем Наименование без изменения
		Элементы.Наименование.Доступность = Ложь;
	КонецЕсли;
КонецПроцедуры

Модуль формы списка:


&НаСервере
Процедура ПриОткрытииНаСервере()
	//Проверим, есть ли что-нибудь в справочнике
	КолЭлементов = 0;	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|КОЛИЧЕСТВО(ССЫЛКА) КАК ВсегоЭлементов
	|ИЗ
	|	Справочник.Тар_КатегорииСотрудников КАК Тар_КатегорииСотрудников";
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Пока Выборка.Следующий() Цикл
		КолЭлементов = КолЭлементов + Выборка.ВсегоЭлементов;
	КонецЦикла;
	Если КолЭлементов = 0 Тогда //Если справочник еще пустой
		ЗаполнитьПредопределенные();
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПриОткрытииНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПредопределенные()
	// заполним "предопределенными" элементами
	
	НовыйЭл = Справочники.Тар_КатегорииСотрудников.СоздатьЭлемент(); 
	НовыйЭл.Наименование = "Первая"; 
	НовыйЭл.НеИзменять = Истина;
	НовыйЭл.Коэффициент = 1.1;
	НовыйЭл.Записать(); 
	
	НовыйЭл = Справочники.Тар_КатегорииСотрудников.СоздатьЭлемент(); 
	НовыйЭл.Наименование = "Вторая"; 
	НовыйЭл.НеИзменять = Истина;
	НовыйЭл.Коэффициент = 1.2;
	НовыйЭл.Записать(); 
	
	НовыйЭл = Справочники.Тар_КатегорииСотрудников.СоздатьЭлемент(); 
	НовыйЭл.Наименование = "Высшая"; 
	НовыйЭл.НеИзменять = Истина;
	НовыйЭл.Коэффициент = 1.3;
	НовыйЭл.Записать();
	
	Элементы.Список.Обновить();
КонецПроцедуры

Модуль объекта:


Процедура ПередУдалением(Отказ)
	
	//Очень нужная вещь, но.... для РАСШИРЕНИЯ НЕ работает!!!
	
КонецПроцедуры

Процедура ПередЗаписью(Отказ)
	// Как-то странно работает!
	// Задано условие, что если справочник пустой
	// нужно заполнить его "предопределенными" элементами
	// но..., ошибка записи предопределенных!
КонецПроцедуры


Вот практически все решение задачи за исключением запрета удаления "предопределенных". Возможно кому-то пригодится как шаблон для собственных нужд, пока 1С-ники не внедрят эту функцию в расширение.

Буду очень благодарен тому, кто подскажет решение на запрет удаления. Возможно кто-то предложит более оптимально-эффективный вариант.

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

Скачать файлы

Наименование Файл Версия Размер
Создание предопределенных элементов в собственном справочнике, созданном в расширении:

.cfe 13,74Kb
08.04.20
0
.cfe 13,74Kb Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. the1 614 09.04.20 20:42 Сейчас в теме
Примерно так же организован справочник НаборыДополнительныхРеквизитовИСведений из БСП. Сначала были предопределенные элементы, затем разработчики добавили реквизит ИмяПредопределенногоНабора. Контроль удаления (точнее, полный запрет) проводят в форме списка и в подписках на события, заполнение "предопределённых" элементов - при обновлении ИБ.
2. the1 614 09.04.20 20:48 Сейчас в теме
Кстати, на ИТС пишут, что подписки в расширения нельзя добавлять (https://its.1c.ru/db/v8313doc#bookmark:dev:TI000001923), но я добавил для интереса)) Платформа 8.3.17
Прикрепленные файлы:
3. ivnik 461 09.04.20 20:49 Сейчас в теме
Добрый вечер, Максим!
Большое Спасибо за информацию.
4. the1 614 09.04.20 21:05 Сейчас в теме
Оставьте свое сообщение

См. также

История данных (Версионирование данных). Обычные и управляемые формы. Механизм платформы 1С

Журнал регистрации Структура метаданных Расширения v8 v8::УФ 1cv8.cf Абонемент ($m)

История данных - специальный механизм платформы 1С, который позволяет хранить в базе данных данные объектов конфигурации.

1 стартмани

30.09.2020    1129    7    yuryshestakov    0    

Просмотр структуры базы в СУБД, в том числе расширений

Структура метаданных Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Структура таблиц базы данных с учётом расширений.

1 стартмани

29.09.2020    2542    19    Yashazz    4    

Настройка для отмены применения вычетов по видам документов и для отмены расчёта корректировок выплат в ЗУП 3.1 и ЗКГУ 3.1.

Зарплата Адаптация типовых решений Расширения v8 ЗКГУ3.0 ЗУП3.x Россия НУ Абонемент ($m)

Расширение отменяет применение вычетов по видам документов и отменяет расчёт корректировок выплат в ЗУП 3.1 и ЗКГУ 3.1

2 стартмани

14.09.2020    804    4    JohnPawn    2    

Запрет произвольной цены

Расширения Роли и права Ценообразование, анализ цен v8 v8::Права ERP2 УТ11 КА2 Россия УУ Абонемент ($m)

Расширение для запрета произвольной цены в документе Заказ клиента и обработке Подбор товаров в документ продажи.

1 стартмани

06.09.2020    1207    3    user1209971    6    

Окрашиваем фон поля формы документа через расширение

Работа с интерфейсом Расширения v8 УТ11 Абонемент ($m)

Как я с помощью спецов INFOSTART, фон поля формы документа (ЗаказКлиенту) менял. Не судите строго, статью в основном пишу для себя, чтобы не забыть, но, может, кому и пригодится. Фон менял по условию, что если у номенклатуры не заполнены вес и объем, то в заказе колонки должны подсвечиваться: Если не заполнен объем, то подсвечивается колонка с № товара, а если вес, то колонка с Номенклатурой.

1 стартмани

28.07.2020    1514    1    VID1234    2    

Исправление рассинхронизации местоположения указателя мыши окна операционной системы в режиме RemoteApp (Такси), платформа 15 и более

Расширения Работа с интерфейсом v8 ДО БП3.0 ЗУП3.x Абонемент ($m)

В RDP, режиме RemoteApp под Win2018 происходит рассинхронизация местоположения указателя мыши. Клик мышкой на удаленной машине происходит ровно на высоту нового заголовка ниже чем мышь видна на клиентском экране. Проявляется на платформе 15 и более. Это связано с новыми веяниями 1С в режиме Такси начиная с 15 платформы отключено стандартное окно операционной системы. Похоже, клиент RDP ничего не знает об этом и пытается дорисовать это окно. В результате вот такое поведение.

1 стартмани

27.07.2020    2529    9    rur39    6    

Выполнение кода и получение данных запросов через HTTP сервис

Обмен данными 1С Универсальные функции Расширения v8 1cv8.cf Абонемент ($m)

Универсальное расширение, которое предоставляет доступ к конфигурации через запросы. Позволяет выполнять любой код в конфигурации и получать данные запросов 1С. Код и запросы 1С либо вводятся прямо в базе, либо передаются в запросе http. Для того, чтобы включить возможность выполнять любой код извне, необходимо включить настройку в расширении. Поддерживаются как управляемые, так и обычные формы!

2 стартмани

19.07.2020    2397    3    vladnet    7    

Корректировка РСВ (3 раздел, попадают люди с дополнительными тарифами, по которым не было изменений)

Зарплата Регламентированная отчетность Расширения v8 v8::СПР ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Абонемент ($m)

При заполнении первичной и любой последующей корректировки по РСВ за 2020г. в 3 раздел попадали по несколько раз люди с дополнительными тарифами, по которым отсутствовали изменения.

1 стартмани

15.07.2020    2704    6    fristaller    4    

Шаблон-заготовка для "минус первой" линии техподдержки

Расширения v8 УНФ Россия Абонемент ($m)

Попытка дать пользователю ответы на его самые простые вопросы удобно и быстро.

1 стартмани

16.06.2020    1369    1    qazaz2    3    

Личный кабинет сотрудника для 1С: ЗУП (1С + Vue.js + Node.js)

Зарплата WEB Расширения v8 v8::СПР ЗУП3.x БУ Абонемент ($m)

WEB приложение "Личный кабинет сотрудника" + расширение 1С для тех, кто не хочет публиковать 1С в интернет.

1 стартмани

20.05.2020    4104    4    ShiningPhoenix    35    

Информация при запуске в БП 3.0 - ошибка кодировки

Расширения Тестирование и исправление v8 БП3.0 Россия Абонемент ($m)

Расширение для БП 3.0, исправляет использование неверной кодировки при выводе в форму htm файла. Такое бывает, когда ОС сервера и клиента на разных языках.

1 стартмани

01.05.2020    2509    0    JorjKrut    0    

Частичное подтверждение реализованного товара документом "Реализация отгруженных товаров"

Оптовая торговля Бухгалтерский учет Бухгалтерия Расширения v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Возможность частичного подтверждения реализованного товара отгруженного документом "Реализация товаров/услуг" с видом операции "Отгрузка без перехода прав собственности". Штатный механизм "1С: Бухгалтерия предприятия" позволяет подтвердить только весь реализованный товар документом "Реализация отгруженных товаров". Данное расширение конфигурации, позволяет осуществить частичное подтверждение реализованного товара без изменения метаданных конфигурации.

1 стартмани

06.03.2020    2594    5    Shang    0    

Исправление ошибки вида "... Должно быть заполнено хотя бы одно из полей [КИТУ, КИ]..." при работе с маркированной продукцией

Расширения Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Расширение исправляет ошибки вида "... Должно быть заполнено хотя бы одно из полей [КИТУ, КИ] ..." при работе с маркированной продукцией, например при вводе обуви в оборот.

5 стартмани

02.03.2020    2099    3    denmax    0    

Пример http-интеграции ЗУП и HR-портала

Интеграция WEB Расширения v8 v8::СПР ЗУП3.x Россия Абонемент ($m)

Расширение для ЗУПа с http-сервисами для интеграции с HR-порталом.

1 стартмани

12.02.2020    3048    1    maksip    5    

Интеграция с API Remonline

Обмен данными 1С WEB Интеграция Облачные сервисы, хостинг Расширения v8 v8::УФ 1cv8.cf Абонемент ($m)

Расширение для работы с веб-сервисом Remonline.

2 стартмани

05.02.2020    2750    3    Johny_v    0    

Исправление ошибки при обработке региона Кемеровская область – Кузбасс

Расширения v8::БУ БП3.0 Россия Абонемент ($m)

Не так давно у региона "Кемеровская область" изменилось название на "Кемеровская область – Кузбасс", в связи с чем пошла ошибка при обработке данного региона. 

1 стартмани

28.01.2020    1624    0    OrkVasya    1    

Стандартная загрузка документов из внешнего файла с сохранением соответствий номенклатуры для УТ11/КА2/ERP2

Обработка документов Обмен данными 1С Загрузка и выгрузка в Excel Расширения v8 ERP2 УТ11 КА2 Абонемент ($m)

В формах многих документов конфигурации можно использовать стандартную функцию загрузки из внешнего файла. К сожалению, при ручном выборе соответствия между загруженной номенклатурой и данными базы - это соответствие не сохраняется. Данное расширение позволяет сохранять выбранное соответствие между номенклатурой файла и номенклатурой базы и автоматически использовать в последующих загрузках.

2 стартмани

26.01.2020    2302    2    denmax    2    

1C и защищенное хранение данных на блокчейне: модуль интеграции от Acryl Platform

Защита и шифрование Блокчейн Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Модуль интеграция 1С и блокчейн платформы "Acryl Platform" без использования внешних компонент. Под катом реализация механизмов Base58, Blake2b, Keccak, Curv25519 (the elliptic curve Diffie–Hellman) в подсистеме "Crypt", примеры генерации ключей, адресов, подписи транзакций, запись данных в блокчейн, чтение и восстановление данных из блокчейн. Код открыть. Лицензия MIT.

1 стартмани

21.01.2020    6502    4    ArtemSerov    18    

Проведение в структуре подчиненности

Расширения Обработка документов v8::ОУ v8::УФ УТ11 Россия УУ Абонемент ($m)

Расширение добавляет команды проведения/отмены проведения в контекстное меню структуры подчиненности.

1 стартмани

04.12.2019    2664    3    RuzAleks    1    

Единая нумерация кадровых документов по каждой организации для ЗУП 3.1

Расширения Обработка документов v8::СПР v8::УФ ЗУП3.x Россия БУ Абонемент ($m)

Выполнено в виде расширения конфигурации, которое отслеживает единую нумерацию основных кадровых документов по каждой организации для "Зарплата и управление персоналом" редакции 3.1.

10 стартмани

26.11.2019    3192    2    1C_proger_1C    5    

Слипы вышли, а чек - нет!

Розничная торговля Расширения Кассовые операции v8 v8::УФ Розница Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Флаг устанавливающий Эквайринговый терминал как эмулятор для пробития чеков по карте.

1 стартмани

14.11.2019    14528    35    obmanOZ    37    

Кнопка ПОДБОР для документа Заявка на открытие лицевых счетов

Расширения Обработка документов Работа с интерфейсом v8 v8::СПР ЗКГУ3.0 ЗУП3.x Абонемент ($m)

Расширение добавляет кнопку "Подбор" в документ "Заявка на открытие лицевых счетов". И отключает проверку на 19 символов в латинском Фамилии, Имени при выгрузке.

1 стартмани

08.11.2019    5640    20    GeterX    14    

Расширим общую форму "Расширения", чтобы по метаданным расширения полнее понять, для чего это расширение

БСП (Библиотека стандартных подсистем) Структура метаданных Расширения v8 1cv8.cf Абонемент ($m)

Показывает метаданные расширения в общей форме БСП "Расширения" В конфигурации должна быть БСП. Версия платформы должна быть не меньше 8.3.13 Режим совместимости текущего расширения: 8.3.12 Для работы расширения безопасный режим должен быть отключен.

1 стартмани

07.11.2019    6385    3    K_A_O    0    

Расширение для установки запрета редактирования отдельных справочников и документов для Бухгалтерии 3.0

Расширения Роли и права v8 v8::Права БП3.0 Россия БУ Абонемент ($m)

Расширение позволяет устанавливать запрет на редактирование отдельного справочника или отдельного документа для отдельного пользователя базы данных. Написано для Бухгалтерии 3.0, проверено на релизе 3.0.72.70 и платформе 8.3.14.1854. Работает после применения ограничений профиля пользователя. Ограничивает даже права профиля с полными правами в открытом периоде.

1 стартмани

17.10.2019    5438    13    e-tixom    2    

Регистрация подписанных штрихкодированных документов

Расширения Документооборот и делопроизводство v8 УТ11 КА2 Абонемент ($m)

Данный функционал позволяет регистрировать в программе 1С печатные документы, подписанные контрагентом (акты услуг, товарные накладные, УПД и т.д.).

1 стартмани

15.10.2019    2855    2    v3132    2    

Создание текстов договоров по шаблонам Word и организация их хранения в присоединенных файлах

Расширения Печатные формы документов v8 БП3.0 Россия Абонемент ($m)

Публикация посвящена реализации механизма создания текстов договоров из шаблонов, хранимых в справочнике «Файлы», с последующим сохранением этих текстов в присоединенных к договорам файлах. Используется механизм расширений.

1 стартмани

07.10.2019    3564    13    vikhrov53    1    

Шаблон разработки печатных форм и подключения к конфигурациям на БСП 2.х и БСП 3.0

Печатные формы документов БСП (Библиотека стандартных подсистем) Расширения v8 1cv8.cf Абонемент ($m)

«Вместо поставки внешних печатных форм в виде внешних обработок рекомендуется вести их разработку с помощью расширений конфигурации.» [ИТС, БСП гл. 3.38 Печать] У меня задачи типа «Требуется разработать печатную форму …» появляются регулярно, но с временными интервалами. Что бы вести разработку единообразно, для конфигураций на БСП, я заготовил шаблон для таких задачек, который позволяет мне сразу приступить к разработке макета и алгоритма формирования печатной формы, а «обертка» из БСП уже готова.

1 стартмани

04.10.2019    28497    49    tolX5    18    

Устранение ошибки обновления БП 3.0.73.46. Не проводится документ "Отражение зарплаты в учете"

Обработка документов Зарплата Расширения v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

При записи документа "Зарплата (ЗУП 2.5, ЗиК 7.7)" или "Отражение зарплаты в учёте" возникает ошибка. Проблема решена через расширение.

2 стартмани

03.10.2019    4987    17    aloex    5    

Обновление расширений с Google Drive

Расширения Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Предлагаемое расширение содержит обработку, которая считывает информацию с диска Google и при наличии новой версии производит обновление текущих расширений конфигурации.

1 стартмани

03.10.2019    3987    3    Sedaiko    4    

Автоматическое заполнение реквизитов контрагентов по ИНН для ERP 2.4, ERP 2.2, УТ 11.4, УТ 11.3, УТ 11.2, КА 2.4, КА 2.2 и БП 3.0 (расширение конфигурации)

Обработка справочников Внешние источники данных WEB Расширения v8 v8::БУ v8::ОУ v8::УФ УПП1 ERP2 БП3.0 УТ11 КА2 Россия Абонемент ($m)

Универсальное расширение конфигурации для автоматической загрузки реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0)

3 стартмани

08.11.2017    31055    231    AlexeyT1978    173