Базовые вещи БСП, которые облегчат жизнь программисту 1С

Публикация № 1286253 30.08.20

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

библиотека стандартных подсистем общий модуль практика программирования

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

 

Введение

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

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

В качестве платформы я использую 1С:Предприятие 8.3.17.1549 (64 бит) и последнюю конфигурацию Розница 2.3.5.32. В указанную конфигурацию встроена БСП 3.1.2.457 версии (отмечу, что не самая последняя, на момент написания статьи - последняя 3.1.3).

Итак, давайте перейдем к описанию:

 

Полезные функции и процедуры общего модуля БСП

 

Работа с данными в базе

Функция 1.1

ЗначенияРеквизитовОбъекта(Ссылка, Знач Реквизиты, ВыбратьРазрешенные = Ложь, КодЯзыка = Неопределено) Экспорт

Данная серверная функция позволяет получить выбранные реквизиты (Знач Реквизиты) по ссылке - Ссылка. Пример применения данной функции вот такой:

&НаСервере
Функция ОбщегоНазначенияОбр(ВыбСсылка)

 ВыбранныеРеквизитыОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ВыбСсылка,"Ссылка, КассаККМ, Магазин, Организация, СуммаДокумента, СуммаВозвратов",Ложь);
 
 Возврат ВыбранныеРеквизитыОбъекта; // Возврат структуры "Ключ - значение"
 
КонецФункции

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

 

Функция 1.2

ЗначенияРеквизитовОбъектов(Ссылки, Знач Реквизиты, ВыбратьРазрешенные = Ложь) Экспорт

Более универсальная функция, повторяющая смысл предыдущей, но в качестве ссылок уже можно передавать массив. Пример такой:

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 МассивСсылок = Новый Массив;
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000001",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000002",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000003",Дата('20160101')));

 ВыбранныеРеквизитыОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(МассивСсылок,"Ссылка, КассаККМ, Магазин, СуммаДокумента",Ложь);
 
 Возврат ВыбранныеРеквизитыОбъекта; // Возврат соответствия "Ключ - значение"
 
КонецФункции

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

 

Функция 1.3

ПроверитьПроведенностьДокументов(Знач Документы) Экспорт

Данная функция возвращает массив непроведенных документов. Если документы проведены - массив пустой. Пример использования:

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 МассивСсылок = Новый Массив;
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000001",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000002",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000003",Дата('20160101')));

 НепроведенныеДокументы = ОбщегоНазначения.ПроверитьПроведенностьДокументов(МассивСсылок);
 
 Возврат НепроведенныеДокументы; // Возврат массив непроведенных документов
 
КонецФункции

Одна из удобных базовых функций для работы, на мой взгляд. В данном примере мне будет возвращен массив с 2 элементами, т.к. 2 документа из 3-х у меня не проведены.

ОбщегоНазначенияОбр(ВыбСсылка).Количество() // 2

 

Функция 1.4

ПровестиДокументы(Документы) Экспорт

Еще одна интересная функция, которая проводит документы, а так же возвращает массив документов с описанием ошибок, если не удалость провести:

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 МассивСсылок = Новый Массив;
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000001",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000002",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000003",Дата('20160101')));

 НепроведенныеДокументы = ОбщегоНазначения.ПровестиДокументы(МассивСсылок);
 
 Возврат НепроведенныеДокументы; // Возврат массив непроведенных документов описанием ошибки проведения
 
КонецФункции

Здесь, функция вернула мне массив такого содержания, где видно какой документ не удалось провести и почему:

Рис.1. Элементы массива содержат структуры с описанием ошибки и ссылки.

 

 

Функция 1.5

ЕстьСсылкиНаОбъект(Знач СсылкаИлиМассивСсылок, Знач ИскатьСредиСлужебныхОбъектов = Ложь) Экспорт

Данная функция осуществляет простую проверку - есть ли ссылки на объект или нет. Возвращает "истину" или "ложь".

&НаСервере
Функция ОбщегоНазначенияОбр(ВыбСсылка)	

 Результат = ОбщегоНазначения.ЕстьСсылкиНаОбъект(ВыбСсылка);
 
 Возврат Результат; // Вернул "Истина" - тк на объект где-то есть ссылка
 
КонецФункции

 

 

Функция 1.6

МестаИспользования(Знач НаборСсылок, Знач АдресРезультата = "") Экспорт

Данная функция возвращает таблицу значений с указанием, где используется передаваемый объект:

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 МассивСсылок = Новый Массив;
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000001",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000002",Дата('20160101')));
 МассивСсылок.Добавить(Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру("ТДРТ-000003",Дата('20160101')));

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

Например, документ "Отчет о розничных продажах" имеет ссылку в документе "Выемка денежных средств из кассы ККМ", что показывает нам результат этот функции:

Рис.2. Строка таблицы значений с результатом использования Ссылки. Ссылка - Данные

 

 

Работа с окружением базы

Функция 2.1

ОписанияПодсистем() Экспорт

Данная функция возвращает массив структур, содержащий информацию о системах и стандартных библиотеках, включенных в конфигурацию (то же самое, что содержимое файла Версии библиотек.txt при поставки конфигурации. Например:

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 Результат = ОбщегоНазначения.ОписанияПодсистем();
 Возврат Результат; // Массив структур с описанием подсистем
 
КонецФункции

Результат такой:

Рис.3. В конфигурацию включена подсистема маркировки 10.1.18.

 

Функция 2.2

ОбщиеПараметрыБазовойФункциональности() Экспорт

Данная функция возвращает структуру с настройками базовой функциональности конфигурации. Интересным содержанием структуры является такие как МинимальнаяВерсияПлатформы и РекомендуемыйОбъемОперативнойПамяти.

Обращение к функции вот так:

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 Результат = ОбщегоНазначения.ОбщиеПараметрыБазовойФункциональности();
 Возврат Результат; // Структура базовой функциональности
 
КонецФункции

 

Функция 2.3

ИнформационнаяБазаФайловая(Знач СтрокаСоединенияИнформационнойБазы = "") Экспорт

Определяем является ли информационная база файловой (Истина) или серверной (Ложь).

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 Результат = ОбщегоНазначения.ИнформационнаяБазаФайловая();
 Возврат Результат; // Вернул "Истина" или "Ложь"
 
КонецФункции

 

 

Функция 2.4

ОперативнаяПамятьДоступнаяКлиентскомуПриложению() Экспорт

Данная функция возвращает объем оперативной памяти, которая доступна приложению (в гигабайтах). Вот у меня в системе доступно 3.9 гб:

&НаСервере
Функция ОбщегоНазначенияОбр(ВыбСсылка)
	
 Результат = ОбщегоНазначения.ОперативнаяПамятьДоступнаяКлиентскомуПриложению();
 Возврат Результат; // Вернул число 3.9 гб
 
КонецФункции

 

Функция 2.5

РедакцияКонфигурации() Экспорт

Данная функция возвращает номер (строка) редакции конфигурации:

&НаСервере
Функция ОбщегоНазначенияОбр(ВыбСсылка)

 Результат = ОбщегоНазначения.РедакцияКонфигурации();
 Возврат Результат; // 2.3
 
КонецФункции

 

Функция 2.6

ЭтоWindowsКлиент() Экспорт

Данная функция возвращает Истина, если пользователь работает по windows на клиенте. Так же есть группа подобных функций, позволяющих определять где работает пользователь: ЭтоWindowsСервер(), ЭтоLinuxКлиент(), ЭтоLinuxСервер(), ЭтоMacOSКлиент(), ЭтоВебКлиент(), ЭтоМобильныйКлиент(), КлиентПодключенЧерезВебСервер(). Все функции работают через привилегированный режим.

 

Работа с датами

Функция 3.1

ПредставлениеЛокальнойДатыСоСмещением(ЛокальнаяДата) Экспорт

Данная функция возвращает дату со смещением по часовому поясу, в описании по формату  "YYYY-MM-DDThh:mm:ssTZD" :

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 Результат = ОбщегоНазначения.ПредставлениеЛокальнойДатыСоСмещением(ТекущаяДата());
 
 Возврат Результат; // 2020-08-30Т15:09+08:00
 
КонецФункции

 

Функция 3.2

ИнтервалВремениСтрокой(ВремяНачала, ВремяОкончания = Неопределено) Экспорт

Полезная функция, возвращающая интервал времени строкой, в пример - вернет "1 день":

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 Результат = ОбщегоНазначения.ИнтервалВремениСтрокой(ТекущаяДата()-24*60*60, ТекущаяДата());
 
 Возврат Результат; // 1 день
 
КонецФункции

 

Функция 3.3

ТекущаяДатаПользователя(ИмяПользователя = Неопределено) Экспорт

Данная функция вернет текущую дату пользователя по его имени:

&НаСервере
Функция ОбщегоНазначенияОбр()
	
 Результат = ОбщегоНазначения.ТекущаяДатаПользователя("Admin");
 
 Возврат Результат; // 30.08.2020 0:00:00
 
КонецФункции

 

Заключение

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

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

 

Предыдущие материалы

Так же, я прошу посмотреть мои предыдущие статьи, посвященные базовым возможностям типовых конфигураций:

Типовые методы конфигурации "Зарплата и управление персоналом", которые пригодятся каждому ЗУП программисту и не только

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

Возможности работы со строками при помощи БСП, которые должен знать каждый программист

 

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

Лучшие комментарии
36. quazare 2808 08.04.22 08:35 Сейчас в теме
Желающие скачать разные примеры работы с БСП и прочее - сделать можно на моем телеграмм канале
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Артано 730 31.08.20 02:30 Сейчас в теме
ПроверитьПроведенностьДокументов() -возвращает массив непроведенных документов из списка переданных ссылок на документы. Интересно, сколько лет нужно этим кхм... людям чтобы научиться именовать методы и объекты.
Риник; firma_unix; dabu-dabu; Jestery; ivanov660; CyberCerber; brr; zqzq; morin; UniversaLL; davdykin; rpgshnik; +12 Ответить
2. davdykin 25 31.08.20 06:45 Сейчас в теме
(1)Я думаю переименований 5-10.. и еще штук 5 перенос из одного модуля в другой...
maksa2005; CrazyVirus; DrAku1a; Артано; morin; +5 Ответить
3. quazare 2808 31.08.20 07:07 Сейчас в теме
По собственному применению БСП, могу сказать что методы в ней последнее время очень быстро устаревают - такая тенденция.
В частности касается работы "длительных операций".

Напишу статью в дальнейшем по применению длительных операций.
4. klimsrv 17 31.08.20 07:38 Сейчас в теме
После того как "ПолучитьНомерНаПечать" уехал в "НомерНаПечать" стараюсь не использовать как БСП, так и вообще разные типовые процедуры и функции конфигураций, становится себе дороже.
maksa2005; user717534; user1346935; slicem; oninfostart; modestry; ybatiaev; AlkB; Yashazz; Serega-artem; Azamatex; surikateg; morin; zqzq; garik79; +15 Ответить
5. Артано 730 31.08.20 09:44 Сейчас в теме
(4) Тут как раз рецепт простой. Любой вызов типового модуля или объекта, нужно оборачивать в свой метод, и если функциональность переедет, то проблем не будет особых
prince64; ubnkfl; Алексей Воробьев; +3 Ответить
7. Darklight 29 31.08.20 10:46 Сейчас в теме
6. Darklight 29 31.08.20 10:44 Сейчас в теме
(4)Может выпустить надстройку над БСП (и другими типовыми библиотеками) - где разместить функциональность в небольшом количестве ) модулей (не 1С Совместимых, зато лаконичных) - так, чтобы минимизировать последующие переносы/удаления функций - а если таковые и будут - то делать обратную совместимость (с указанием obsolete и выводом таких вызовов в ж/р (для последующего выявления и исправления в коде), можно и спец инструмент добавить - анализирующий код на предмет вызовов таких obsolete (устаревших) функций).

Именовать модули можно достаточно лаконично и обобщённо. Я бы выделил несколько общих "классов" - и сосредоточил в них функциональность - как-будто это действительно классы-расширения (хелперы - как их ещё называют в других языках). В принципе - подключив расширения IDE и препроцессор можно было бы даже реализовать авто-привязку этих функций прям к исходным обеъктам (например к документу объекту/ссылке или к печатной форме: расширение IDE бы позволяло бы видеть эти функции именно в контексте объектов которым они привязаны (через точку_, ну а далее либо делать сразу подстановку нужного вызова из общего модуля, либо оставлять так как есть - а замену уже будет делать препроцессор - например при передаче из IDE в ИБ через агента-конфигуратора - как это делает EDT, просто тут возникает доп звено трансляции).
Варианты модулей (спойлер)

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

И никакого деления на отдельные серверные и клиентские модули или модули мобильного приложения (это всё можно разделить внутри директивами препрцессора, например "#ЕСЛИ Клиент ТОГДА #КОНЕЦЕСЛИ" ).

Отдельно нужен будет модуль для универсального вызова сервера (с общей функцией универсального вызова (с преобразованием типов при необходимости), в т.ч для удобного вызова на сервере функциональности из обработок).
Отдельно нужен будет модуль для универсального фонового вызова функции (с общей функцией универсального вызова (с преобразованием типов при необходимости), несмотря на то, что есть модуль "ФоновоеЗаданиеМенеджер", в т.ч для удобного вызова в фоне функциональности из обработок).
Отдельно нужен будет модуль для универсального внешнего вызова функции (с общей функцией универсального вызова как COM таки WS соединений, с кешированием соединений, с преобразованием типов при необходимости, несмотря на то, что есть модуль "ВнешниеСоединениеМенеджер").
Отдельно можно сделать модуль для универсального вызова функции внешней компоненты (с общей функцией универсального вызова, с кешированием внешних компонент, с преобразованием типов при необходимости, несмотря на то, что есть модуль "ВнешнияКомпонентаМенеджер", в т.ч для удобного вызова во внешнем контексте функциональности из обработок).
Отдельно нужен будет модуль для универсального кешированного вызова (с общей функцией универсального вызова, с преобразованием типов при необходимости, несмотря на то, что есть модуль "КешированиеМенеджер").
Это всё-чтобы не плодить кучу лишних модулей и сделать работу с данной функциональностью наиболее удобной!

А вот для привилегированных вызовов такой модуль делать не стоит - ибо это уже вопросы безопасности.


Можно всё это разбить даже на несколько отдельных частей - базовые и расширенные (устанавливаемые путём объединения конфигураций)

Внутри можно либо делать поддержку всех БСП (начиная с какой-то опр редакции - просто проверяя текущую редакцию и перенапрравляя вызов в нужный модуль стандартной библиотеки), либо делать скользящую поддержку (то есть для каждой версии БСП отдельно, но скорее тут тоже гибридно выйдет - например выпускать отельные библиотеки для подредакций БСП (3.0, 3.1, 3.2...), а для релизов - осуществлять уже общую поддержку внутри всех вариантов).

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

Так же можно делать модули с улучшенным функционалом - если сообщество напишет лучшие алгоритмы, чем будут в стандартных библиотеках - именовать переадресацию на их реализацию можно в таких общих модулях (устанавливаемых отдельно):
СтрокаМенеджерРасширение
СтрукутраМенеджерРасширение

Но это только для пересекающегося функционала.


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

Вообще тут много чего ещё можно придумать!
Например привнести поддержку элементов АОП - коли не типовые функции будут вызываться вместо типовых в самом низу иерархии вызовов (с последующей переадресацией) - то этими вызовами можно управлять более расширено!

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

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


ну, а если уж совсем по-хорошему - то для функций такой библиотеки можно будет создать правильные описания (комментарии) и на их основе сгенерировать справку по использованию (а-ля синтаксиис-помошник) - которой ТАК НЕ ХВАТАЕТ для БСП (и других стандартных библиотек), в которой можно будет делать поиск (и видеть для каких версий платформы и БСП предназначена та или иная функциональность - и делать фильтр по этим версиям, и не только по версия - а например по подсистемам тоже).
user598655_ilia-bers; mikleRo; dabu-dabu; nporrep; dock; Артано; +6 Ответить
10. Артано 730 31.08.20 10:54 Сейчас в теме
(6) Да, разумно, правда это еще несколько слоёв абстракции, которые нужно будет поддерживать
user717534; +1 Ответить
12. Darklight 29 31.08.20 11:03 Сейчас в теме
(10)да - 1-2 слоя абстракции тут будет - да нужно будет поддерживать - но это же лучше, чем неожиданно переставший работать алгоритм - из-за того, что 1С куда-то опять перенесла/переименовала функцию или изменила её аргументы.

Хотелось бы чтобы такой проект был открытым - т.е. его смогло бы поддерживать сообщество! (например через GitHub, коли у 1C и у Infostart ещё нет такого сервиса; хотя тут лучше бы подошла функциональность Wikipedia (эдакий "wikihub.ru" - имя, увы, занято) - но такого сервиса мне вообще ещё не известно).

Да, забыл добавить - что считаю, что у каждой функции (как-минимум, которой больше 2-3-х аргументов) в такой библиотеке должна быть версия, принимающая один аргумент "Структура" - в котором должны быть все параметры - во-первых это удобно так вызывать функции с большим числом аргументов - во-вторых это надёжно при дальнейшей модификации таких функций, в-третьих их вызов, в таком виде, становится более лаконичным и понятным - т.к. все аргументы задаются поименовано! В-четвёртых, это упрощает универсальный вызов таких функций!
13. AnderWonder 27 31.08.20 11:08 Сейчас в теме
(10) (12) вы с дуба впали что-ли, никто никогда не будет страдать такой ерундой
asupsam; ixijixi; +2 2 Ответить
14. Darklight 29 31.08.20 11:19 Сейчас в теме
(13)Ну почему - свою БСП (А1Э) тут уже предлагали - не вижу в этом ничего плохого! Если 1С скатывается в помойку - то спасение утопающих - дело рук самих утопающих! Разработка такой библиотеки-прослойки не такая уж сложная задача - ведь речь не идёт и том, чтобы полностью переписать БСП - а речь только об организации статической прослойки-переадресации - и её можно делать постепенно - расширяя охват стандартных библиотек! А если сообщество будет это делать сообщая - то это куда лучше - чем каждый будет это делать для себя - как в (5) или вообще стараться не использовать БСП и писать всё самостоятельно (возможно дёргая код из БСП) как предложено в (4). Ну а будь хорошая справка (а-ля синтаксис-помощник с удобными фильтрами и поиском) - то и не возникла бы такая статья как эта (потому-что для очень многих - БСП сейчас как чёрный ящик с запутанным кодом, в котором сложно разбираться, который сложно устанавливать и поддерживать) - вот и не особо хотят с ним связываться!

Вот на других платформах (языках) сообщество часто рождает свои-параллельные наборы библиотек - как раз когда стандартные это сообщество не очень удовлетворяют! И ничего - бредом это никто не считает - наоборот - это эволюция! Зачастую - подталкивающая к развития и стандартные библиотеки! Которые, правда, в отличии от 1С, обычно гораздо более консервативны!
1С - это просто ХАОС - может даже в рамках разных билдов одного релиза менять API своих библиотек - а это вообще кошмар!

Когда, по хорошему, в рамках одной подредакции должна соблюдаться прочти 100% обратная совместимость (исключение - только критичные ошибки). А в рамках одной редакции - должна, как можно статичнее, выдерживаться общая линия выстраивания API этой редакции - без существенных перестановок алгоритмов!
oninfostart; dabu-dabu; sashad00; leoxz; BackinSoda; Артано; +6 Ответить
15. AnderWonder 27 31.08.20 11:25 Сейчас в теме
(14) в том-то и дело, что предлагают много лет, но только результата нет - не думали почему? А ответ прост: слишком большие трудозатраты. Только новичек может с пылу жару решить - а напишу ка свою БСП - идеальную и оптимальную для всеобщего счасться!))) Профи то знают на самом деле что почем. К тому же БСП на самом деле не так уж плоха, поэтому нет смысла особо дергаться.
16. Darklight 29 31.08.20 11:27 Сейчас в теме
(15)БСП ужасна - и с каждым годом только хуже (как и весь типовой код, в принципе). А постоянные переносы/удаления - это просто кошмар! На мой взгляд - этот гнойный нарыв созрел - уже пора его лечить!
user598655_ilia-bers; +1 Ответить
17. AnderWonder 27 31.08.20 11:33 Сейчас в теме
(16) этот "гнойный нарыв" спокойно переживет любое лечение, если таковое вообще когда-либо будет)
SergeyTerentyev; user598655_ilia-bers; ubnkfl; asupsam; ixijixi; +5 Ответить
18. Darklight 29 31.08.20 11:34 Сейчас в теме
(17)Отравляя, убивая и отпугивая разработчиков от инфраструктуоы 1С
20. AnderWonder 27 31.08.20 11:42 Сейчас в теме
(18) 1. А никто и не обещал что будет легко) 2. Профи таким не напугаешь, а если это отгоняет всяких демпингующих начинающих то для нас это только хорошо.
И между прочим, вы бы посмотрели на библиотеки в той же Java - по сравнению с некоторыми из них БСП покажется воплощением разума и порядка.
AllexSoft; TimkoNzt; asupsam; nporrep; +4 Ответить
22. Darklight 29 31.08.20 16:37 Сейчас в теме
(20)
А никто и не обещал что будет легко)

Точно так же можно ответить и на Ваш пост (15)

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

Ручной обработки функций БСП тут не так уж много - всё связано только с классификацией и постепенным написанием нового кода к ним текстовых описаний - что по силе сообществу при публикации в общий доступ такой конфигурации (или организации web-сайта).

Постепенно можно повышать качество алгоритмов автогенерации.

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


ну а про инструмент поиска мест использования устаревших функций (помеченных именно как obsolete) я уже писал - тут тоже ничего сложного!


Так можно обрабатывать таким инструментом не только БСП и стандартные библиотеки - а вообще любые библиотеки - и навешать на это инструмент много дополнительных расширений функционала для ещё более полезного и широкого применения при обработке не только типового но и не типового кода!

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

А редактировать всё сообща - через предложения и голосования - потипо того, как устроена wikipedia
А потом на основе таких общих решений - генерировать pull-реквксты на Github

Тогда сообщество само может влиять на качество такой библиотеки (конечно под присмотром опытных кураторов)!

По такому пути и на той же инфораструктуре можно дальше разрабатывать и модифицировать и не типовые библиотеки!
23. AnderWonder 27 31.08.20 17:22 Сейчас в теме
(22)
А вообще-то, нет тут ничего сложного - сделать спец конфу по разбору функций типовых модулей и автогенерации для них обёрток

ваша наивность прям таки умиляет. Вернемся к этому обсуждению года через 3.
Eriksson; +1 Ответить
24. Darklight 29 31.08.20 17:43 Сейчас в теме
(6)Префиксы к именам общих модулей, наверное, всё-таки стоит добавить. Особенно учитывая, что ставиться такая прослойка, скорее всего, будет через расширение конфигурации.

Вот только мне КРАЙНЕ НЕ НРАВЯТСЯ ПРЕФИКСЫ СЛЕВА ОТ ИМЕНИ СУЩНОСТИ - Я ЗА ПРЕФИКСЫ В ВИДЕ ОКОНЧАНИЙ - тогда будет как-то так:
СправочникМенеджер_НеБСП
ДокументМенеджер_НеБСП
РегистрСведенийМенеджер_НеБСП
....

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

Префикс СПРАВА - это гораздо удобнее при использовании всплывающих подсказок и ручном наборе тоже!
Я всегда делаю префиксы только СПРАВА!

Префикс "_НеБСП" - это как отсылка к "NoSQL" - т.е. мы пойдём иным путём! ;-)
о можно и другой префикс выбрать, например "_Не1С" :-D

Ещё - у расширений нет пространств имён - поэтому формально каждое расширение должно иметь свой уникальный префикс - это крайне неудобно - поэтому если данная remap-прослойка-библиотека будет составной из нескольких конфигураций - то они должны все сливаться через объединение в одну конфигурацию-расширение с единым префиксом содержимого!
По идеи - пересечения функций должны быть практически исключены - либо должен, в описании, быть задан приоритет установки с замещением или иные пометки - когда нужно вручную совмещать код!

Префиксы - это ЗЛО - 1С с этим боролась и снова напоролась - нужны пространства имён!
Эх... если бы платформа 1С поддерживала ссылки на процедуры/функции - то можно было бы через них сделать эмуляцию пространств имён, и, в т.ч., вложенные пространства имён!

Впрочем, вложенные пространства имён отчасти эмулировать можно через вызов функции - возвращающей ссылку на другой модуль (и так с произвольным уровнем вложенности) - но это не очень красиво архитектурно!
oninfostart; Артано; +2 Ответить
30. Cyberhawk 130 03.09.20 11:05 Сейчас в теме
(24)
мне КРАЙНЕ НЕ НРАВЯТСЯ ПРЕФИКСЫ СЛЕВА ОТ ИМЕНИ СУЩНОСТИ - Я ЗА ПРЕФИКСЫ В ВИДЕ ОКОНЧАНИЙ
Это называется "суффиксы" или (на худой конец) - "постфиксы"
Merkalov; maksa2005; Sindbad_M; dabu-dabu; athena; МимохожийОднако; +6 Ответить
31. Darklight 29 03.09.20 11:28 Сейчас в теме
(30)Я знаю, но вот решил выразиться именно, Вы уж простите
19. sys1c 31.08.20 11:41 Сейчас в теме
(4)а еще бывает функция устаревает, они пишут
//не использовать
а часть кода конфигурации все равно в нее ссылается.
в УТ 11.4 такое встречал
21. Darklight 29 31.08.20 16:36 Сейчас в теме
(19)Я вот сегодня наткнулся на функцию, которую просто внутри заремили и никаких больше приписок не сделали - т.е. после обновления - функция тупо стала возвращать "неопределено" (причём ранее - для неё это было почти легитимно-допустимым значением для возврата), и оставили в общем модуле в таком виде.
Вот и разбирайся потом - почему алгоритм стал работать иначе! Причём без ошибок - просто иначе!
А я тут желал чтобы в ж/р по таким функциям сообщения писались - до такого 1С вообще ещё не скоро дорастёт!

А типовой код продолжает ссылаться - потому-что не успевают везде поправить!
Видать нет такого инструмента поиска вызовов obsolete функций - о котором уже писал я выше (его пока наверное вовсе нет в среде 1С, потому что и функции даже забывают помечать - что они устарели).
А ведь инструмент мог бы не только находить, но и быстро помогать заменять (если описание устаревших функций будет соответстввующим образом составлено).

А пока налицо - полное неуважение к программистам и к пользователям - у которых это всё потом будет выливаться в ошибки и лишние затраты времени!

Вот надо ещё в стандарт "1С Сомевтимо" внести правило - запрещающие использовать obsolete функции, и почаще проверять хотя бы типовые конфигурации на выполнение этих правил!
dabu-dabu; +1 Ответить
25. ixijixi 31.08.20 19:39 Сейчас в теме
(21) И тут Остапа понесло)
AnderWonder; +1 Ответить
27. Артано 730 01.09.20 06:39 Сейчас в теме
(21) типовые конфигурации проверку на 1с Совместимо не проходят, и кажется, никогда не проходили. Многие тиражки с лейблом, спустя определенное время после присвоения, тоже начинают набирать ошибки как снежный ком.
28. Drivingblind 203 01.09.20 11:34 Сейчас в теме
(4) подобная ситуация с "ОбщегоНазначенияКлиентСервер.СообщитьПользователю". Его разделили на "ОбщегоНазначенияКлиент" и "ОбщегоНазначенияСервер" в новых релизах БСП
8. AnderWonder 27 31.08.20 10:47 Сейчас в теме
Бесполезная информация и вот почему.
1. Описание достойное Капитана Очевидности - "Функция 2.3 ..ИнформационнаяБазаФайловая.. Определяем является ли информационная база файловой" - какая неожиданность! Практически все функции БСП не нуждаются в доп. описании, их названия говорят сами за себя ну и уж если возникнет необходимость, то проще прочитать описание в модуле или глянуть в код.
2. Описана незначительная часть функций. Да и не нужно их описывать, все есть в модулях и документации к БСП.
3. Несколько версий БСП, с разными программными интерфейсами. При этом 3-я линейка далеко не самая распространенная.
asupsam; Поручик; nporrep; artbear; +4 2 Ответить
26. Yashazz 4446 31.08.20 23:27 Сейчас в теме
(8) Вдобавок, это всё почти чистый копилефт из официального описания, каковое уж для 80-90% разработчиков давно на сайте доступно. Да, там оно тоже напрочь устаревшее и совершенно неактуальное, но зато подробно)

Бесполезная публикация, сбор хайпа и плюсиков и никакого практического эффекта.
Йожкин Кот; asupsam; +2 Ответить
9. Поручик 4609 31.08.20 10:48 Сейчас в теме
Делали БСП для упрощения работы, оказалось для геморроя.
Merkalov; maksa2005; user598655_ilia-bers; immemor; tka4enk0; Summer_13; Drivingblind; morin; sys1c; Serega-artem; ivanov660; Azamatex; Darklight; +13 1 Ответить
11. AnderWonder 27 31.08.20 11:00 Сейчас в теме
(9) все же геморрой от использования БСП чаще гораздо меньше геморроя когда без него. А проблемы его типичны для большинства программных библиотек.
SergeyTerentyev; Ali1976; ubnkfl; kalyaka; o.nikolaev; nporrep; +6 Ответить
29. Casey1984 3 03.09.20 08:20 Сейчас в теме
Еще часто использую ОбщегоНазначения.СсылкаСуществует(ПроверяемаяСсылка), возвращает Булево - Истина, если ссылка не битая и не пустая.
user598655_ilia-bers; +1 Ответить
32. пользователь 05.09.20 05:50
Сообщение было скрыто модератором.
...
33. МимохожийОднако 140 06.09.20 07:28 Сейчас в теме
Было бы интересно увидеть статью "Как находить нужные функции в БСП?"
user1346935; benzol45; +2 Ответить
34. morin 31 09.11.20 15:47 Сейчас в теме
(33) БСП - это тот ещё шедевр. Но все же ответ на ваш вопрос прост - в документации.
ИТС => Инструкции по разработке на 1С => БСП => Версия => Глава 4. Программный интерфейс.
Очевидно, что можно пользоваться только функциями, которые описаны в программном интерфейсе. А то не редко можно видеть бессмысленные возмущения типо что-там переименовали или переместили в другой модуль - явно это не из программного интерфейса было сделано.
Veetavas; MVK80; +2 Ответить
35. slicem 8 07.04.21 07:21 Сейчас в теме
Делая очередное обновление и имея несколько десятков внешних отчетов, планирую уйти с БСП и больше никогда её не использовать. Переписывать всё каждый раз ради, по сути, рюшечек?
36. quazare 2808 08.04.22 08:35 Сейчас в теме
Желающие скачать разные примеры работы с БСП и прочее - сделать можно на моем телеграмм канале
37. Mark72 19.07.22 17:37 Сейчас в теме
Оставьте свое сообщение

См. также

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

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

Конфигурации в 1С пишутся для пользователей и по их «правилам» (клиент всегда прав), поэтому в основном все конфигурации разные, но достаточно часто в них используются одни и те же объекты, которые незначительно отличаются друг от друга. Действительно, сложно представить конфигурацию, где не фигурировали бы такие сущности как номенклатура, контрагенты, пользователи, валюта. И некоторые задачи являются типичными: возможность базового разграничения прав, работа с электронной почтой, задачи пользователям и т.д. Но...!

03.03.2017    91792    V.Stavinsky    24    

Использование типовых возможностей 1С и их расширение. Часть 1

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

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

29.10.2022    4580    ixijixi    7    

Оценка производительности с помощью БСП

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

В данной статье будут рассмотрены базовые возможности подсистемы "Оценка производительности" в библиотеке стандартных подсистем.

30.06.2022    3403    quazare    8    

Нюансы использования расширений применительно к процедурам, исполняющимся методом ВыполнитьВФоне (БСП)

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

Несколько нюансов при использовании расширений применительно к процедурам, исполняющимся методом ВыполнитьВФоне (БСП)

08.06.2022    1084    sergathome    27    

Разработка конфигурации на основе Библиотеки стандартных подсистем 3.1.6.245

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

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

06.06.2022    4190    user1432326    5    

Базовые принципы работы с регламентными заданиями подсистем БСП

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

В очередной публикации рассмотрим некоторые базовые приемы работы с регламентными заданиями в рамках библиотеки стандартных подсистем

22.05.2022    6166    quazare    24    

Шаблоны сообщений пользователю - подсистема БСП

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

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

15.05.2022    6474    quazare    4    

Еще раз о дополнительных реквизитах и дополнительных сведениях

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бесплатно (free) Бесплатно (free)

Дополнительные реквизиты и сведения существуют давно. Задумка очень хорошая. Суть этих механизмов понятна всем. По этому поводу написано много. Что тут можно сказать нового? Однако бес, как всегда, в деталях. Как создавали реквизиты в объектах типовых конфигураций, так и продолжаем это делать. Почему это происходит? За всех сказать не могу. Могу рассуждать только на своем примере. Являясь убежденным практиком, одно могу сказать вполне определенно. Если что-то на практике недостаточно удобно, то останется оно главным образом в теории... Если не приложить немного усилий.

11.05.2022    7399    user1374747    19    

Модули общего назначения - готовые полезные функции и процедуры конфигураций на БСП

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

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

25.04.2022    8186    quazare    11    

Правила регистрации объектов 1С:БСП

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

Здравствуйте, коллеги! В статье рассмотрим работу с правилами регистрации объектов в библиотеке стандартных подсистем 1С.

20.04.2022    6919    Koder_Line    11    

Многопоточный режим выполнения процедуры с помощью методов БСП - примеры разработки

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

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

01.04.2022    5871    quazare    14    

Необычное решение для хранения настроек внешней обработки

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Платформа 1С v8.3 1С:Комплексная автоматизация 2.х 1С:Комплексная автоматизация 2.х Россия Россия Бесплатно (free) Бесплатно (free)

При написании внешней обработки, например для импорта данных из сторонней базы данных используя HTTP-сервисы, необходимо сохранять настройки соединения с HTTP. Подсказали оригинальный способ сохранения настроек с БД. При использовании "ХранилищеОбщихНастроек" все сильно зависит от прав пользователя. Чтобы читать настройки, сохраненные другим пользователем, необходимы права: "АдминистрированиеДанных". Как-то не хочется раздавать всем пользователям права администратора. Помогает БСП.

25.03.2022    1252    AlexeyRaevsky    7    

Стандартные подсистемы БСП - параметры работы клиента и возможности диалогов

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

В данной небольшой статье рассмотрим обработку параметров работы клиента и режим диалога (выбора вопроса) модулей "стандартные подсистемы" БСП.

22.03.2022    5021    quazare    9    

Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)

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

Мы все любим 1С, не так ли? Вот дает 1С прекрасный механизм возможности модификации макетов печатных форм в БСП. А из всех рекомендаций это получение макета и заполнение параметров областей. И вы спросите: "А что не так... ты печатные формы накодить не можешь без указаний сверху?". Да вот в том то и дело, что я могу все. А вот пользователям от такого механизма пользы 0, если из всех доступных изменений остаются только шрифты, да текст произвольный накинуть. А ведь можно больше, надо только соблюдать несколько правил при подготовке печатных форм...

07.03.2022    7839    vandalsvq    0    

Как поженить типовой RLS и новый документ

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

Создание доступа на уровне записей (RLS) для нового документа средствами библиотеки стандартных подсистем (БСП).

02.02.2022    2690    serg61    4    

Управление доступом - как быстро доработать RLS (БСП)

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

Ранее в своей статье - https://infostart.ru/1c/articles/1535498/, подробно описывал по процессу доработки производительного RLS. Для оперативной доработки RLS может потребоваться значительного времени разбора процесса RLS. Для таких случае 1С в своей поставки БСП разработала удобный помощник для доработки производительного RLS (данная доработка не требует глубокого понимания RLS). Как я увидел, многие не знакомы с данной обработкой, поэтому в данной статье хочу рассказать про данную обработку и её возможности.

31.01.2022    5394    Shining_ninja    4    

Использование отчетов в конфигурациях на базе БСП 3.1.5 на примере 1С: Комплексная автоматизация 2.4

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

Библиотека стандартных подсистем (БСП) постоянно развивается. Разработчики типовых конфигураций постепенно будут переходить на новую версию Библиотеки 3.1.5. Например, пользователи 1С: Комплексная автоматизация (КА) уже заметили некоторые интерфейсные изменения в новой редакции 2.5. При этом не все изменения очевидны. В частности, изменился интерфейс формирования и настройки отчетов. Для тех, кто при пользовании типовыми отчетами умеет больше, чем простое нажатие кнопки Сформировать, будет полезным ознакомиться с основными изменениями.

20.12.2021    1359    Sergey1CSpb    5    

Подключение функционала "Присоединенные файлы" для нового объекта (БСП)

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

Данная статья поможет добавить "скрепку", т.е. возможность пользоваться функционалом БСП для присоединения файлов к любому документу.

24.11.2021    15381    kalyuzhnyyp    28    

Профили управления доступом к объектам в любой конфигурации на БСП

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

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

17.11.2021    5593    quazare    5    

Журнал регистрации - основные методы работы через БСП

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

В данной небольшой статье я привожу практические примеры работы с журналом регистрации средствами и методами библиотеки стандартных подсистем.

11.11.2021    14028    quazare    15    

Базовые приемы работы с кластером 1С при помощи БСП

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

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

26.10.2021    5555    quazare    7    

Подключение нового справочника к подсистемам БСП (дополнительные реквизиты, файлы, запрет редактирования)

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

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

17.08.2021    5614    maraty    14    

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

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

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

27.04.2021    29563    rayastar    8    

Обзор полезных методов БСП 3.1.4

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

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

25.03.2021    78500    rayastar    55    

Печать макета MS Word в любом документе с помощью БСП

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

В данной статье рассмотрим типовой функционал вывода на печать макетов печатных форм MS Word (*.docx) для любого документа конфигурации, основанной на библиотеке стандартных подсистем. Вариант клиент-серверный.

23.02.2021    13092    quazare    19    

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

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

В данной статье рассмотрим базовое применение методов вывода на печать макетов печатных форм с помощью БСП любых типовых или собственных документов.

17.02.2021    19284    quazare    20    

Генерация штрихкодов с помощью БСП для программистов

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

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

09.01.2021    20375    quazare    25    

Асинхронное выполнение длительных операций

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

Демонстрация использования функционала БСП для выполнения длительных операций. Механизм может быть полезен, например, при загрузке/выгрузке больших объемов данных.

28.12.2020    2918    prog_mayskiyse    8    

Сохранение настроек

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

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

22.11.2020    8569    ixijixi    8    

Дополнительные реквизиты формы (простой вариант взаимодействия)

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

Упрощаем взаимодействия с дополнительными реквизитами на форме с помощью фиксированного соответствия.

14.11.2020    4109    samvani    0