Внимание! Плановые работы 22.05.2022 c 20:00 по 20:30 МСК. Возможны проблемы с доступностью ресурса.

Базовые вещи БСП, которые облегчат жизнь программисту 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 2040 08.04.22 08:35 Сейчас в теме
Желающие скачать разные примеры работы с БСП и прочее - сделать можно на моем телеграмм канале
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Артано 724 31.08.20 02:30 Сейчас в теме
ПроверитьПроведенностьДокументов() -возвращает массив непроведенных документов из списка переданных ссылок на документы. Интересно, сколько лет нужно этим кхм... людям чтобы научиться именовать методы и объекты.
firma_unix; dabu-dabu; Jestery; ivanov660; CyberCerber; brr; zqzq; morin; UniversaLL; davdykin; rpgshnik; +11 Ответить
2. davdykin 25 31.08.20 06:45 Сейчас в теме
(1)Я думаю переименований 5-10.. и еще штук 5 перенос из одного модуля в другой...
maksa2005; CrazyVirus; DrAku1a; Артано; morin; +5 Ответить
3. quazare 2040 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. Артано 724 31.08.20 09:44 Сейчас в теме
(4) Тут как раз рецепт простой. Любой вызов типового модуля или объекта, нужно оборачивать в свой метод, и если функциональность переедет, то проблем не будет особых
prince64; ubnkfl; Алексей Воробьев; +3 Ответить
7. Darklight 27 31.08.20 10:46 Сейчас в теме
6. Darklight 27 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. Артано 724 31.08.20 10:54 Сейчас в теме
(6) Да, разумно, правда это еще несколько слоёв абстракции, которые нужно будет поддерживать
user717534; +1 Ответить
12. Darklight 27 31.08.20 11:03 Сейчас в теме
(10)да - 1-2 слоя абстракции тут будет - да нужно будет поддерживать - но это же лучше, чем неожиданно переставший работать алгоритм - из-за того, что 1С куда-то опять перенесла/переименовала функцию или изменила её аргументы.

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Бесполезная публикация, сбор хайпа и плюсиков и никакого практического эффекта.
Йожкин Кот; asupsam; +2 Ответить
9. Поручик 4574 31.08.20 10:48 Сейчас в теме
Делали БСП для упрощения работы, оказалось для геморроя.
maksa2005; user598655_ilia-bers; immemor; tka4enk0; Summer_13; Drivingblind; morin; sys1c; Serega-artem; ivanov660; Azamatex; Darklight; +12 1 Ответить
11. AnderWonder 25 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 29 09.11.20 15:47 Сейчас в теме
(33) БСП - это тот ещё шедевр. Но все же ответ на ваш вопрос прост - в документации.
ИТС => Инструкции по разработке на 1С => БСП => Версия => Глава 4. Программный интерфейс.
Очевидно, что можно пользоваться только функциями, которые описаны в программном интерфейсе. А то не редко можно видеть бессмысленные возмущения типо что-там переименовали или переместили в другой модуль - явно это не из программного интерфейса было сделано.
Veetavas; MVK80; +2 Ответить
35. slicem 3 07.04.21 07:21 Сейчас в теме
Делая очередное обновление и имея несколько десятков внешних отчетов, планирую уйти с БСП и больше никогда её не использовать. Переписывать всё каждый раз ради, по сути, рюшечек?
36. quazare 2040 08.04.22 08:35 Сейчас в теме
Желающие скачать разные примеры работы с БСП и прочее - сделать можно на моем телеграмм канале
Оставьте свое сообщение

См. также

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

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

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

03.03.2017    86678    V.Stavinsky    22    

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

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

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

сегодня в 09:00    475    quazare    2    

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

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

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

15.05.2022    2741    quazare    2    

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

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

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

11.05.2022    1396    user1374747    5    

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

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

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

25.04.2022    3400    quazare    11    

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

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

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

20.04.2022    1099    Koder_Line    6    

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

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

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

01.04.2022    3571    quazare    14    

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

БСП (Библиотека стандартных подсистем) v8 КА2 Россия Бесплатно (free)

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

25.03.2022    995    AlexeyRaevsky    7    

Получение контактной информации из отбора

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

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

25.03.2022    1075    the1    0    

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

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

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

22.03.2022    3276    quazare    7    

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

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

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

07.03.2022    3492    vandalsvq    0    

Подключение подсистемы исправления документов и регистров в конфигурации ЗУП 3.1

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций v8::СПР 8.3.14 ЗКГУ3.0 ЗУП3.x Беларусь Россия Бесплатно (free)

Описание шагов для того, чтобы подключить разработанный документ к подсистеме исправления в конфигурации ЗУП 3.1.

01.03.2022    1573    maraty    5    

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

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

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

02.02.2022    1216    serg61    2    

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

БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права 1cv8.cf Бесплатно (free)

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

31.01.2022    2975    Shining_ninja    4    

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

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

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

20.12.2021    882    Sergey1CSpb    5    

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

БСП (Библиотека стандартных подсистем) v8 v8::УФ БП3.0 Россия Бесплатно (free)

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

24.11.2021    5616    kalyuzhnyyp    24    

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

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

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

17.11.2021    3284    quazare    3    

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

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

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

11.11.2021    6658    quazare    10    

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

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

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

26.10.2021    4229    quazare    6    

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

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

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

17.08.2021    3599    maraty    13    

Запуск Wscript.Shell и Shell.Application. Заметки

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

Некоторые примечания по работе с запуском приложений.

10.08.2021    4127    Yashazz    0    

Префиксация объектов - полезный типовой функционал БСП

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

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

21.06.2021    6775    quazare    4    

Особенности online-обмена между старыми и новыми типовыми

Обмен между базами 1C БСП (Библиотека стандартных подсистем) v8 8.3.14 8.3.6 8.3.8 КА1 КД ДО Бесплатно (free)

Столкнулся с неприятной особенностью потери части данных при обмене УСО (УПП) - ДО.

01.06.2021    3646    echo77    9    

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

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

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

27.04.2021    22036    rayastar    8    

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

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

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

25.03.2021    57057    rayastar    53    

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

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

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

23.02.2021    8635    quazare    9    

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

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

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

17.02.2021    13435    quazare    20    

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

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

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

09.01.2021    14078    quazare    24    

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

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

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

28.12.2020    2596    prog_mayskiyse    8    

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

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

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

22.11.2020    5974    the1    8    

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

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

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

14.11.2020    2778    samvani    0    

Запуск почти любых процедур и функции конфигураций в асинхронном режиме - БСП - Длительные операции [Часть 2]

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

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

30.10.2020    9159    quazare    5    

Программное создание характеристик с дополнительными реквизитами в УНФ 1.6

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

В статье опишу порядок создания объектов и вариант их заполнения.

29.10.2020    2804    malikov_pro    7    

Гарантированно рабочий пример использования длительных операций на БСП с отображением прогресса. [Часть 1]

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

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

29.10.2020    16205    quazare    37    

Простой пример разработки регулярного обмена с использованием БСП на примере ERP 2.4 и УПП 1.3

БСП (Библиотека стандартных подсистем) Обмен между базами 1C v8 1cv8.cf УПП1 КД ERP2 Россия Бесплатно (free)

Данный вариант подойдет тем, кто хочет настроить "свой" регулярный обмен с добавлением "своих" планов обмена с использованием правил обмена на КД 2.1.

27.10.2020    9056    improg    39    

Разработка функционала обмена с несколькими внешними точками

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

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

21.09.2020    1397    Sergey1CSpb    2    

Работаем с контактной информацией в конфигурациях на БСП

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

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

14.09.2020    32833    quazare    27    

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

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

Использование БСП для выполнения внешних обработок в управляемом и обычном приложении

06.08.2020    19793    RPGrigorev    0    

RLS добавление ограничения доступа к данным по произвольному справочнику через штатные механизмы

БСП (Библиотека стандартных подсистем) Информационная безопасность Роли и права v8 КА2 Россия УУ Бесплатно (free)

Решал задачу ограничения доступ к объектам по справочнику "Банковские счета" штатными средствами БСП. Конфигурация КА 2.2. В остальных на БСП должно работать так же. Хотел сделать инструкцию для себя на будущее, решил поделиться.

05.08.2020    5159    ER34    2    

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

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

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

05.07.2020    16569    quazare    38