БСП. Добавляем метки

10.02.25

Разработка - БСП (Библиотека стандартных подсистем)

Добавим метки в новый документ средствами БСП.

 

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

 

 

 

 

2. Добавим новый документ в Определяемые типы  ВладелецДополнительныхСведений, ВладелецМеток

3. Добавим группу с наименованием ГруппаМетки на форму

 

 

 

 

4. Добавим обработчики в форму документа

 

 

 

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)    
	
	// СтандартныеПодсистемы.Свойства
	ПараметрыОтображенияМеток = УправлениеСвойствами.ПараметрыОтображенияМеток();
	ПараметрыОтображенияМеток.ИмяЭлементаДляРазмещенияМеток = "ГруппаМетки";
	ПараметрыОтображенияМеток.МаксимумМетокНаФорме = 3;
	ПараметрыОтображенияМеток.ВариантОтображенияМеток = Перечисления.ВариантыОтображенияМеток.Картинка;        
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ПараметрыОтображенияМеток", ПараметрыОтображенияМеток);
	УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры)
	// Конец СтандартныеПодсистемы.Свойства

КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	// СтандартныеПодсистемы.Свойства
	Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
		ОбновитьЭлементыДополнительныхРеквизитов();
		УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры 

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры    

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
	// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры  

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры

// СтандартныеПодсистемы.Свойства
&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено,СтандартнаяОбработка = Неопределено)

	УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);

КонецПроцедуры   

&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
	УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства

 

 

5. Добавим в форму списка метки

- в настройки динамического списка добавим 3 метки

 

 

 

 

- перетянем метки на форму, объединим в группу

 

 

 

 

- в свойствах меток устанавливаем "Вид": Поле картинки, "КартинкаЗначений": выбираем картинку ПиктограммыСвойств, "ОтображатьВШапке": Ложь

 

 

 

 

- в свойстве группы устанавливаем "Группировка": Горизонтальная, "ОтображатьВШапке": Истина, "КартинкаШапки": выбираем картинку Метка

 

 

 

 

6. Добавим обработчик в таблицу формы списка

 

 

 

&НаСервереБезКонтекста
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ПриПолученииДанныхНаСервере(Настройки, Строки);
	// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры

 

 

7. В общий модуль УправлениеСвойствамиПереопределяемый в процедуру ПриПолученииПредопределенныхНаборовСвойств добавляем Набор. Идентификатор генерируем и копируем отсюда uuidgenerator.net/version4

 

 

 

Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
	
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Документ_НовыйДокумент";
	Набор.Идентификатор = Новый УникальныйИдентификатор("15b68bc0-ca5e-46c1-836e-0159198c0b20");
	
КонецПроцедуры

 

 

8. В Документе во вкладке Данные добавляем характеристику связи с дополнительными реквизитами (это нужно, чтобы в отчетах СКД корректно отображались дополнительные реквизиты, в том числе метки)

 

 

 

 

9. Запускаем конфигурацию с ключом /c ЗапуститьОбновлениеИнформационнойБазы

В режиме Предприятия переходим в Администрирование->Общие настройки->Метки.

Добавим "новому документу" 3 метки

 

 

 

 

Переходим в список документов, проверяем результат

 

 
 

 

 

Тестировал: 

  • Библиотека стандартных подсистем, редакция 3.1 (3.1.10.441)
  • Библиотека стандартных подсистем, редакция 3.1 (3.1.9.337)
  • Платформа 1С:Предприятие 8.3 (8.3.24.1342)

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    4256    17    15    

20

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Расскажу, как использовать полезный функционал - инструментарий разработчика «1С:Библиотека стандартных подсистем» (БСП) в своих объектах метаданных. Статья будет полезна как шпаргалка при написании собственных объектов метаданных.

27.12.2024    4427    PROSTO-1C    16    

48

БСП (Библиотека стандартных подсистем) Программист Бесплатно (free)

Синтакс-помощник БСП - справочник по Библиотеке Стандартных Подсистем, профессиональный инструмент разработчика с интуитивно понятным интерфейсом. Читайте в статье как использовать все возможности справочника и сделать работу с БСП более комфортной и эффективной.

11.12.2024    4348    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Некоторые нюансы, если вы захотите создавать свои расширения. Доработка отчета "Связанные документы" для отражения документов расширения. Печатные формы с шаблоном Word.

20.11.2024    3772    milkers    3    

13

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    2012    PROSTO-1C    0    

19

БСП (Библиотека стандартных подсистем) Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

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

08.10.2024    1537    PROSTO-1C    4    

14

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

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

04.10.2024    2572    MadRave    12    

27
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rpgshnik 3830 10.02.25 11:41 Сейчас в теме
Вау, даже не знал о таком функционале БСП. Слушай, а отбор по ним работает? Насколько знаю, по картинке в динсписке не отберешься, а тут как? Сортировка работает?
2. John_d 5967 10.02.25 11:52 Сейчас в теме
(1) Отбор и сортировка не работает
3. rpgshnik 3830 10.02.25 11:53 Сейчас в теме
5. kwazi 674 10.02.25 15:03 Сейчас в теме
(2) в бухгалтерии 3.0 можно создать метки для контрагентов и контактных лиц.
В списке контрагентов появляется отбор по меткам и колонка Метки. Только в карточке контрагента не появилась кнопка установки меток.
4. Дмитрий74Чел 239 10.02.25 14:07 Сейчас в теме
(1) Всё что выводится через ПриПолученииДанныхНаСервере() заполняется только для видимых строк. Этих полей нет в запросе динсписка. Поэтому отбор, сортировка и группировка по этим полям не могут работать корректно.
realsevere; rpgshnik; +2 Ответить
6. Kontakt 109 10.02.25 15:20 Сейчас в теме
зачем тогда этот цирк с огоньками из меток. отбора нет.
thornhiven; sys1c; RealSurfer; +3 Ответить
8. Salavat 15 10.02.25 15:25 Сейчас в теме
(6) Ещё бы знать (мне!!) - про что цирк, в принципе.
Метки - какие/где/чего - о чём речь,... в скринах я не осилил докопаться!
7. Salavat 15 10.02.25 15:24 Сейчас в теме
Ещё бы знать - о каких метках речь в статье - глядишь, я бы тоже мог оценить.
А автор (видно здесь) - реально из тех, кто думает, что и другие, думают именно как он, и никак иначе!
9. John_d 5967 10.02.25 15:33 Сейчас в теме
(7) В БСП это тут Администрирование->Общие настройки->Метки
Там дано такое описание:
Метки позволяют помечать справочники и документы разноцветными значками-метками. Их редактирование и просмотр определены правами на объект-владелец.
12. Salavat 15 10.02.25 16:16 Сейчас в теме
(9) Ну, да - только повторить могу -
"автор (видно здесь) - реально из тех, кто думает, что и другие, думают именно как он, и никак иначе!"
----
Чтобы было понятно и другим (без...) - нужно с описания (краткого) начинать.
Скрин, я (после (9)!) нашёл к (9) - хоть представление теперь получил (теоретическое!).
Ок, Спасибо - возможно и да, но - скорее нет.
(Я не любитель бестолковых фантиков/аппликаций - лишь бы сделать, только, а нафига...
Даже разноцветных.)
(Хотя и да - где-то в типовом, подобно встречается, было.)
10. dhurricane 10.02.25 15:45 Сейчас в теме
Если исходить из документации к БСП, то включение нового документа в определяемый тип "ВладелецДополнительныхСведений" было лишним.
11. John_d 5967 10.02.25 15:55 Сейчас в теме
(10) Да, заодно подключим и дополнительные реквизиты раз табличную часть ДополнительныеРеквизиты скопировали.
13. aximo 2148 10.02.25 19:03 Сейчас в теме
Поясните, почему динамический список просто не сделать с левым соединением по этим меткам???
15. Alonarista 62 11.02.25 09:12 Сейчас в теме
(13) Потому что это КРАЙНЕ сильно бьёт по производительности.
SlavaKron; +1 1 Ответить
16. SlavaKron 11.02.25 09:41 Сейчас в теме
(15) А чем это отличается от того, когда вы через "Изменить форму..." в динамический список выводите подчиненный реквизит какого-нибудь ссылочного поля? Реальный запрос также превращается в запрос с левым соединением к таблице ссылочного реквизита.
17. aximo 2148 11.02.25 11:34 Сейчас в теме
(15) на самом деле - нифига подобного, если в запросе нет "точек" - на производительности не скажется


по производительности "бьет" событие при выводе динамического списка!
14. aximo 2148 10.02.25 19:07 Сейчас в теме
Ясно, но применять метки функционалом бсп я бы стал в крайнем случае…
d4rkmesa; +1 Ответить
18. kser87 2469 11.02.25 23:16 Сейчас в теме
19. him1974 14.02.25 01:26 Сейчас в теме
(2) Работает. В форме динамического списка, внизу выводится облако из используемых меток. Нажимаешь нужные и список отфильтровывается по выбранным меткам.
20. aximo 2148 14.02.25 15:36 Сейчас в теме
21. him1974 15.02.25 20:10 Сейчас в теме
Оставьте свое сообщение