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

27.04.21

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

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

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

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

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

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

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

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

 

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

 
 Пользователи
 
 Печать
 
 Варианты отчетов
 
 Контактная информация
 
 Валюты
 
 Префиксация объектов
 
 Склонение представлений объектов
 
 Генерация штрихкода
 
 Работа с файлами
 
 Получение файлов из Интернета
 
 Даты запрета изменения
 
 Запрет редактирования реквизитов объектов
 
 Дополнительные отчеты и обработки
 
 Работа с почтовыми сообщениями
 
 Отправка SMS
 
 Оценка производительности

См. также

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

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

1800 руб.

21.11.2024    3636    16    15    

18

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

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

27.12.2024    3432    PROSTO-1C    15    

43

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

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

11.12.2024    3900    gorenski    0    

8

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

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

1 стартмани

10.12.2024    993    Iaskeliainen    2    

7

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

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

20.11.2024    3329    milkers    3    

12

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

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

24.10.2024    1678    PROSTO-1C    0    

18

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

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

08.10.2024    1372    PROSTO-1C    4    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. LIL_PIVO 4 27.04.21 13:36 Сейчас в теме
2. DoctorRoza 27.04.21 20:52 Сейчас в теме
На первую часть приложите ссылку, пожалуйста.
3. Rabin 52 28.04.21 10:05 Сейчас в теме
4. Matveev_VS 166 28.04.21 10:18 Сейчас в теме
Согласен, очень полезно это знать.
5. epsilon 29.04.21 13:26 Сейчас в теме
Однозначно в закладки
Bob_Dobr; +1 Ответить
6. wolfsoft 2421 03.05.21 09:04 Сейчас в теме
Ещё бы свести всё это в единое целое и оформить в виде doc-файла.
7. ProfBT 15.09.21 17:49 Сейчас в теме
в шаблон подсказок это не удобнее будет ?
Student1C; +1 Ответить
8. user676027_svikator 125 24.12.21 15:41 Сейчас в теме
9. ikalmykia 13.04.23 16:01 Сейчас в теме
Большая работа! Благодарю!
10. Bob_Dobr 29.06.23 09:39 Сейчас в теме
11. user1553692 17.08.23 23:43 Сейчас в теме
Здравствуйте я что то пропустил или не увидел. а как создать пользователя через БСП?
12. Xershi 1557 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Чел 238 13.11.23 10:02 Сейчас в теме
Сейчас уже 3.1.9 вышла. Автор не планирует обновлять статьи? Или может есть новые других авторов?
14. mikl79 120 06.02.24 12:46 Сейчас в теме
Добрый день, спасибо за труд, уже применил функцию из вашей статьи )))
Возник вопрос - что за типовая конфигурация РТ 2.3? Розница что ли?
Неплохо было бы еще проанализировать из ДО 2.1, 3.0; УНФ 1.6, 3.0
Оставьте свое сообщение