Использование функционала БСП в нетиповых объектах

27.12.24

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

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

Содержание

  1. Подключаемые команды
  2. Отчет «Связанные документы»
  3. Команды печати
  4. Добавление функционала проверки даты запрета изменения
  5. Версионирование
  6. Присоединенные файлы

 

Подключаемые команды

Данный функционал позволяет подключать к объектам команды из БСП. Например: отчет «Движения документа», отчет «Связанные документы», команды печати и т.д.

 
1. В форму документа добавляем код:
 
2. Форма списка:

 

Таким образом, для отображения на форме кнопки вызова отчета «Движения документа» никаких дополнительных действий производить не нужно, достаточно подключить подсистему «ПодключаемыеКоманды».

 

Отчет «Связанные документы»

Для подключения к документу отчета «Связанные документы», кроме действий, выполненных в п.1, необходимо добавить в критерий отбора «СвязанныеДокументы» наш документ:

 

 

На вкладке «Состав» необходимо отметить реквизиты, по которым будет строиться отчет «Связанные документы».

 

Команды печати

Для подключения команд печати необходимо выполнить действия, указанные в п. 1, и добавить следующий код:

 
 1. Модуль менеджера документа

 

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

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

 

Добавление функционала проверки даты запрета изменения

1. Форма документа:

#Область ОбработчикиСобытийФормы

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

#КонецОбласти
  1.  

2. Добавляем наш документ в список источников подписки на событие «ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента».

3. В процедуре «ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения» общего модуля «ДатыЗапретаИзмененияПереопределяемый» добавим наш документ:

Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(ИсточникиДанных) Экспорт
    
    ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.СвойДокумент", "Дата");
    
КонецПроцедуры

 

Версионирование

1. В модули формы документа и формы списка добавить код:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    // СтандартныеПодсистемы.ВерсионированиеОбъектов
    ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
    // Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
    
КонецПроцедуры
  1.  

2. В источники подписки на событие «ЗаписатьВерсиюОбъекта» добавить наш документ.

3. Добавить наш документ в определяемый тип «ВерсионируемыеДанные».

 

Присоединенные файлы

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

2. В состав определяемых типов «ПрисоединенныйФайл» и «ПрисоединенныйФайлОбъект» добавить справочник СвойДокументПрисоединенныеФайлы, а в тип «ВладелецПрисоединенныхФайлов» - наш документ.

3. В список источников подписки на событие «ПереопределитьПолучаемуюФормуПрисоединенногоФайла» включить справочник СвойДокументПрисоединенныеФайлы, в список источников подписки «УстановитьПометкуУдаленияПрисоединенныхФайлов» добавить наш документ.

 

Автор: Алексей А.

См. также

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

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

1800 руб.

21.11.2024    3288    15    16    

17

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

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

11.12.2024    3658    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

1 стартмани

10.12.2024    886    Iaskeliainen    2    

7

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

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

20.11.2024    3099    milkers    3    

10

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

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

24.10.2024    1544    PROSTO-1C    0    

16

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

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

08.10.2024    1284    PROSTO-1C    4    

14

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

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

04.10.2024    2179    MadRave    11    

26
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ivv1970 29 27.12.24 14:49 Сейчас в теме
Дежа вю какое-то. Как будто перечитываю документацию по БСП на ИТС....
ltfriend; user1428473; rozer; Созинов; +4 Ответить
2. quazare 3852 27.12.24 18:25 Сейчас в теме
ну а че - много кто любит сейчас словить хайп на сокращении БСП !!!

а самое интересное и не написал - "внедрение механизма печати в собственный документ" -

https://infostart.ru/1c/articles/1382297/

вру.... написано - но как-то не заметно тут
3. rpgshnik 3810 28.12.24 05:24 Сейчас в теме
Очень крутая и компактная шпаргалка, люблю такие публикации. А хейтеры просто завидуют простоте подачи, автор пиши ещё! Заберу в блог.
PROSTO-1C; AlexeyChernyev; Dmitrij-2; +3 Ответить
4. webester 26 28.12.24 10:30 Сейчас в теме
(3)Не пишу, не в плюс ни в минус, уже давно в таких статьях(раньше писал). Но хочется ответить на вот это
хейтеры просто завидуют простоте подачи
мне тоже кажется, что часто человек пишет негативный коммент в таких статьях когда вот он сидел разбирался в документации, тратил время и силы, а тут на тебе на блюдечке с голубой каемочкой. Вот он и пишет: "а что документацию уже отменили?" и прочее. Это действительно не к чему. Но такие статьи вредные. По нескольким причинам:
1. Любой фреймворк изменяется. И понадерганные куски кода завтра перестанут работать но продолжать забивать поисковую выдачу. Или будут работать не так как раньше, или их будет недостаточно. В любом случае все устаревает.

2. Документация по БСП достаточно подробная. У разработчика должен быть рефлекс при слове "БСП" в голове должно появляться слово "ИТС". К каждому пункту в этой статье, должна вести ссылка на документацию. Их нет. Ни одной.

3. Я много путался в БСП раньше, разобраться там с наскоку действительно сложно. Но когда разберешься ты сразу идешь в нужное место и знаешь где и как искать. Примеры в статье вредны тем, что позволяют этого избежать. Вставлять готовые куски кода, не включая голову. Это медвежья услуга, с одной стороны экономишь время, с другой стороны везде соломки не подложишь. Учись пользоваться документацией.
Viktor_Ermakov; dhurricane; rpgshnik; +3 Ответить
5. dhurricane 28.12.24 13:15 Сейчас в теме
(4) Поддержу и немного дополню. Очень часто в таких шпаргалках допускаются ошибки или неточности в описании совершаемых действий, т.к. сам автор интегрировал в свое время БСП в нетиповые объекты по примерам из конфигурации, а не по документации на ИТС. Ну и самая частое замечание к таким публикациям в комментариях: "Где указание версии БСП?"
7. user2116242 01.01.25 20:34 Сейчас в теме
(4) Тогда прошу помочь разобраться в БСП. Допустим, я хочу включить в самописном документе версионирование. Куда мне идти на ИТС? Можно ссылку?
6. dhurricane 28.12.24 13:49 Сейчас в теме
Расхождения с документацией к БСП 3.1.9:
- Для подключаемых команд в форме списка нет обработчика "ПриАктивизацииСтроки" для таблицы.
- Также для формы списка не описана настройка поля "Ссылка", а именно установка флажка "Использовать всегда".
- Документ, для которого проверяется дата запрета, должна быть включена в подписку "ПроверитьДатуЗапретаИзмененияПередУдалением".
- При описании источника данных для проверки даты запрета не указаны раздел и поле объекта.
- В модуле менеджера версионируемого документа необходимо добавить экспортную процедуру "ПриОпределенииНастроекВерсионированияОбъектов" (в действительности вызов этого метода подавляется блоком попытки-исключения, но стоит ли закладываться на это поведение типовой?).
- Новый справочник с присоединенными файлами необходимо включить в состав плана обмена "ОбновлениеИнформационнойБазы".
8. user2116242 01.01.25 22:25 Сейчас в теме
(6) Автор кратенько рассказал как добавить версионирование в свой документ:

Версионирование
1. В модули формы документа и формы списка добавить код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// СтандартныеПодсистемы.ВерсионированиеОбъектов
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
КонецПроцедуры
2. В источники подписки на событие «ЗаписатьВерсиюОбъекта» добавить наш документ.
3. Добавить наш документ в определяемый тип «ВерсионируемыеДанные».


Где на диске ИТС мне эту информацию найти?
Мне нужно идти в раздел Главная -> Инструкции по разработке на 1С-> Библиотека стандартных подсистем -> Библиотека стандартных подсистем 3.1.9 -> Глава 3. Настройка и использование подсистем при разработке конфигурации. Правильно? И далее раздел "Версионирование объектов" https://its.1c.ru/db/bsp319doc#content:4:hdoc:issogl1_версионирование_объектов

Вот этой информации, как правило, и не хватает.
Полезная информация для тех у кого нет подписки на ИТС. На ИТС есть тест-драйв https://its.1c.ru/user/activation/testdrive/ Вы туда заходите, регистрируетесь и получаете демо-доступ на неделю. В течение недели можно пользоваться документацией.
Прикрепленные файлы:
10. webester 26 02.01.25 09:15 Сейчас в теме
(8)
Где на диске ИТС мне эту информацию найти?
Мне нужно идти в раздел Главная -> Инструкции по разработке на 1С-> Библиотека стандартных подсистем -> Библиотека стандартных подсистем 3.1.9 -> Глава 3. Настройка и использование подсистем при разработке конфигурации. Правильно? И далее раздел "Версионирование объектов" https://its.1c.ru/db/bsp319doc#content:4:hdoc:issogl1_версионирование_объектов

Да правильно туда идти.
Где на диске ИТС мне эту информацию найти?
Ничего не понимаю в вашем вопросе, прям там и найти эту информацию где вы указали. Какой именно информации не хватает?
Прикрепленные файлы:
9. vitalbasl 152 02.01.25 09:00 Сейчас в теме
Оставьте свое сообщение