Обзор полезных методов БСП 3.1.4. Часть 2

27.04.21

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

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

Как велась подготовка материала

Официальная документация неплохо структурирована и подробно описывает каждый метод. Единственная трудность, с которой я столкнулся, было незнание, какие методы наиболее популярны в основных типовых решениях. Что необходимо знать в первую очередь, а какой функционал оставить на потом. Цель статьи - собрать и упорядочить методы по популярности (суммарным количеством вызовов). Что было сделано:

1. Из официальной документации получены все вызовы (за исключением раздела "Предопределенные").

2. Далее, производился поиск и подсчет каждого метода в 5-х типовых конфигурациях: УТ 11.4, РТ 2.3, БП 3.0, ЗУП 3.1 и ERP 2.4.

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

Часть 1. Базовая функциональность.

 

Часть 2. Остальные разделы

 
 Пользователи
 
 Печать
 
 Варианты отчетов
 
 Контактная информация
 
 Валюты
 
 Префиксация объектов
 
 Склонение представлений объектов

INFOSTART TOOLKIT

Самый продвинутый набор инструментов для управляемых форм 1С:8.3


Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    1819    4    0    

3

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

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

3254 руб.

21.11.2024    13991    49    28    

57

БСП (Библиотека стандартных подсистем) Программист 1С 8.3 1С:Библиотека стандартных подсистем Россия Абонемент ($m)

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

1 стартмани

30.07.2026    6187    Elya_Elya    14    

19

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

Каждый раз, когда разработчик 1С пишет очередной цикл для свертки массива или использует конструкцию Попытка / Исключение для проверки наличия реквизита, где-то грустит один архитектор фирмы «1С». Мы привыкли изобретать велосипеды там, где в Библиотеке стандартных подсистем (БСП) уже давно лежат готовые, оптимизированные и протестированные на тысячах баз решения. Ниже — практическая подборка из 8 методов актуальных релизов БСП (3.X), которые сделают ваш код чище, быстрее и профессиональнее. Разберем на примерах «Было / Стало».

04.06.2026    11469    Kaliostr0    21    

36

БСП (Библиотека стандартных подсистем) Универсальные функции Программист 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

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

06.02.2026    19263    manul1c    7    

27

Рефакторинг и качество кода БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

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

23.09.2025    17075    AlexeyPROSTO_1C    2    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. LIL_PIVO 5 27.04.21 13:36 Сейчас в теме
2. DoctorRoza 27.04.21 20:52 Сейчас в теме
На первую часть приложите ссылку, пожалуйста.
3. Rabin 53 28.04.21 10:05 Сейчас в теме
(2) infostart.ru/1c/articles/1398340/
4. Matveev_VS 169 28.04.21 10:18 Сейчас в теме
Согласен, очень полезно это знать.
5. epsilon 29.04.21 13:26 Сейчас в теме
Однозначно в закладки
6. wolfsoft 2420 03.05.21 09:04 Сейчас в теме
Ещё бы свести всё это в единое целое и оформить в виде doc-файла.
7. ProfBT 15.09.21 17:49 Сейчас в теме
в шаблон подсказок это не удобнее будет ?
Student1C; +1 Ответить
8. user676027_svikator 127 24.12.21 15:41 Сейчас в теме
Добавлю в закладки.
9. ikalmykia 13.04.23 16:01 Сейчас в теме
Большая работа! Благодарю!
10. Bob_D 29.06.23 09:39 Сейчас в теме
11. user1553692 17.08.23 23:43 Сейчас в теме
Здравствуйте я что то пропустил или не увидел. а как создать пользователя через БСП?
12. Xershi 1564 15.10.23 01:57 Сейчас в теме
	//ИнформацияОФайле = Новый Структура;
    			//ИнформацияОФайле.Вставить("АдресФайлаВоВременномХранилище", АдресФайла);
    			//ИнформацияОФайле.Вставить("АдресВременногоХранилищаТекста", "");
				
				//РаботаСФайлами.ОбновитьФайл(ПрисоединенныйФайл, ИнформацияОФайле);
				
				ИнформацияОФайле = РаботаСФайламиКлиентСервер.СведенияОФайле("ФайлСВерсией");
    			ИнформацияОФайле.АдресВременногоХранилищаФайла = АдресФайла;
    			ИнформацияОФайле.ИмяБезРасширения				= ИмяБезРасширения;
				ИнформацияОФайле.РасширениеБезТочки				= РасширениеБезТочки;
				ИнформацияОФайле.ВремяИзменения					= ТекущаяДата();
				ИнформацияОФайле.ВремяИзмененияУниверсальное	= УниверсальноеВремя(ИнформацияОФайле.ВремяИзменения);
				ИнформацияОФайле.Размер							= ДвоичныеДанныеФайла.Размер();
				ИнформацияОФайле.ХранитьВерсии					= Ложь;
				
				РаботаСФайламиСлужебный.ОбновитьВерсиюФайла(ПрисоединенныйФайл, ИнформацияОФайле);				
			
Показать

Пришлось переписывать код, изображение не обновлялось в справочнике файлов.
Подсмотрел код, как в типовой кнопке обновить из файла делается.
15. AnPet 3 22.02.24 12:27 Сейчас в теме
(12)
ИнформацияОФайле = РаботаСФайламиКлиентСервер.СведенияОФайле("ФайлСВерсией");
ИнформацияОФайле.АдресВременногоХранилищаФайла = АдресФайла;
ИнформацияОФайле.ИмяБезРасширения = ИмяБезРасширения;
ИнформацияОФайле.РасширениеБезТочки = РасширениеБезТочки;
ИнформацияОФайле.ВремяИзменения = ТекущаяДата();
ИнформацияОФайле.ВремяИзмененияУниверсальное = УниверсальноеВремя(ИнформацияОФайле.ВремяИзменения);
ИнформацияОФайле.Размер = ДвоичныеДанныеФайла.Размер();
ИнформацияОФайле.ХранитьВерсии = Ложь;

РаботаСФайламиСлужебный.ОбновитьВерсиюФайла(ПрисоединенныйФайл, ИнформацияОФайле);


Тоже бьюсь, чтобы при программном обновлении файла менялся его размер в карточке. БСП этого не делает.
Попробовал ваш метод - не получается.
Использую на справочнике КонтрагентыПрисоединенныеФайлы в УНФ (3.0.6.126)
На справочниках этого типа нет реквизита "ТекущаяВерсия", а в функции РаботаСФайламиСлужебный.ОбновитьВерсиюФайла(...) присутсвует такой код:

Если СведенияОФайле.ХранитьВерсии Тогда
    // ....
Иначе
		
		СсылкаНаВерсию = ?(ВерсияСсылка = Неопределено, ТекущаяВерсия(ФайлСсылка), ВерсияСсылка);
		Версия = СсылкаНаВерсию.ПолучитьОбъект();
		БлокироватьВерсию = Истина;

КонецЕсли;     

Версия.Владелец = ФайлСсылка;
Показать

Если вызывать
РаботаСФайламиСлужебный.ОбновитьВерсиюФайла(ПрисоединенныйФайл, ИнформацияОФайле);

то вылетает по исключению т.к упирается в несуществующий реквизит.

Попробовал вызвать:
РаботаСФайламиСлужебный.ОбновитьВерсиюФайла(ПрисоединенныйФайл, ИнформацияОФайле, ПрисоединенныйФайл);

вылетает по исключению на Версия.Владелец = ФайлСсылка; - попытка присвоить владельцу ссылку на себя

Заменять полностью в расширении РаботаСФайлами.ОбновитьФайл(...) чревато.
Похоже, придется делать вторую перезапись справочника КонтрагентыПрисоединенныеФайлы с обновлением реквизита Размер.
16. AnPet 3 22.02.24 15:20 Сейчас в теме
(15)
Нашел решение
Процедура ОбновитьФайл(ИнформацияОФайле, ПрисоединенныйФайл) Экспорт
// ...
     ОбновитьДвоичныеДанныеФайлаНаСервере(ПрисоединенныйФайл, ДвоичныеДанные, РеквизитыЗначения);
//...

Процедура ОбновитьДвоичныеДанныеФайлаНаСервере(Знач ПрисоединенныйФайл,
	                                           Знач АдресФайлаВоВременномХранилищеДвоичныеДанные,
	                                           Знач РеквизитыЗначения = Неопределено)
//...
      МенеджерФайла.ПередЗаписьюДанныхФайла(Контекст, ФайлОбъект);
	  ФайлОбъект.Записать();
	  МенеджерФайла.ПриОбновленииДанныхФайла(Контекст, ФайлОбъект.Ссылка);
	  ЗафиксироватьТранзакцию();
...

Процедура ПередЗаписьюДанныхФайла(Контекст, ПрисоединенныйФайлОбъект) Экспорт
	Возврат; // Не используется
КонецПроцедуры
Показать

Берем ПередЗаписьюДанныхФайла() в расширение и пишем там:
ПрисоединенныйФайлОбъект.Размер = Контекст.ДанныеФайла.Размер();

Или, что кому надо )

Надеюсь кому то будет полезно.
DenisDavidov; +1 Ответить
13. Дмитрий74Чел 250 13.11.23 10:02 Сейчас в теме
Сейчас уже 3.1.9 вышла. Автор не планирует обновлять статьи? Или может есть новые других авторов?
14. mikl79 121 06.02.24 12:46 Сейчас в теме
Добрый день, спасибо за труд, уже применил функцию из вашей статьи )))
Возник вопрос - что за типовая конфигурация РТ 2.3? Розница что ли?
Неплохо было бы еще проанализировать из ДО 2.1, 3.0; УНФ 1.6, 3.0
Для отправки сообщения требуется регистрация/авторизация