Полезные функции БСП (Часть 2)

Публикация № 1207488

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

функции БСП

Список полезных функций из состава Библиотеки стандартных подсистем 3.1.

Список полезных функций из состава Библиотеки стандартных подсистем 3.1
Продолжение статьи нашего друга spec8s. (1 Часть)

1.

 // Преобразует текст указанного формата XML в таблицу значений,
// при этом колонки таблицы формируются на основе описания в XML.

ОбщегоНазначения.ПрочитатьXMLВТаблицу(XML)

Пример:

ТаблицаЗначений = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ЧтениеXML);


2.

// Выполняет попытку проведения документов.

ОбщегоНазначения.ПровестиДокументы(Документы)

Пример:

РезультатПроведения = ОбщегоНазначения.ПровестиДокументы(Запрос.Выполнить()Выгрузить());

3.

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

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

Пример:

Массив = новый Массив;
Массив.Добавить(ДокументСсылка);
	
ТаблицаИспользованияСсылки = ОбщегоНазначения.МестаИспользования(Массив);
	

4.

// Дополняет массив МассивПриемник значениями из массива МассивИсточник.

ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивПриемник, МассивИсточник, ТолькоУникальныеЗначения = Ложь)

// Дополняет соответствие значениями из другого соответствия.

ОбщегоНазначенияКлиентСервер.ДополнитьСоответствие(Приемник, Источник, Заменять = Неопределено)

// Дополняет структуру значениями из другой структуры.

ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Приемник, Источник, Заменять = Неопределено)

// Дополняет таблицу значений - приемник данными из таблицы значений - источника.
// Типы ТаблицаЗначений, ДеревоЗначений, ТабличнаяЧасть не доступны на клиенте.

ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ТаблицаИсточник, ТаблицаПриемник)

// Дополняет таблицу значений Таблица значениями из массива Массив.

ОбщегоНазначенияКлиентСервер.ДополнитьТаблицуИзМассива(Таблица, Массив, ИмяПоля)

Пример:


ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивПриемник, МассивИсточник)

ОбщегоНазначенияКлиентСервер.ДополнитьСоответствие(СоответствиеПриемник, СоответствиеИсточник, ложь)

ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(СтруктураПриемник, СтруктураИсточник, ложь)

ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ТаблицаИсточник, ТаблицаПриемник)

ОбщегоНазначенияКлиентСервер.ДополнитьТаблицуИзМассива(Таблица, Массив, "ИмяПоляТаблицы")

5.

// Создает напоминание с произвольным временем или расписанием выполнения.

НапоминанияПользователя.УстановитьНапоминание(Текст, ВремяСобытия, ИнтервалДоСобытия = 0, Предмет = Неопределено, Идентификатор = Неопределено)

Пример:

Время = НачалоДня(ТекущаяДата()) + 50400; //14:00
ТаблицаИспользованияСсылки = НапоминанияПользователя.УстановитьНапоминание("Совещание в 14:00!",Время,3600)

6.

// Возвращает структуру, содержащую сведения об организации.

ОрганизацииСервер.СведенияОбОрганизации(Знач Организация, Знач Поля = "", Знач Дата = Неопределено)

Пример:

ОсновнаяОрганизация = Справочники.организации.ОрганизацияПоУмолчанию();
СведенияОбОрганизацииСтруктура = ОрганизацииСервер.СведенияОбОрганизации(ОсновнаяОрганизация);

7.

// Отправляет SMS через настроенного поставщика услуги, возвращает идентификатор сообщения.

ОтправкаSMS.ОтправитьSMS(НомераПолучателей, Знач Текст, ИмяОтправителя = Неопределено, ПеревестиВТранслит = Ложь)

 Пример:

Если ОтправкаSMS.ДоступнаОтправкаSMS() тогда
	Массив = новый Массив;
	Массив.Добавить("+79990000333");
		
	РезультатОтправки = ОтправкаSMS.ОтправитьSMS(Массив,"Тестовое SMS", "Администратор")	
КонецЕсли;

8.

// Производит замену ссылок во всех данных информационной базы. 
//
// Параметры:
//     Параметры - Структура - где:
//       * ПарыЗамен - Соответствие - Пары замен.
//           * Ключ     - ЛюбаяСсылка - Что ищем (дубль).
//           * Значение - ЛюбаяСсылка - На что заменяем (оригинал).
//           Ссылки сами на себя и пустые ссылки для поиска будут проигнорированы.
//       * СпособУдаления - Строка - Необязательный. Что делать с дублем после успешной замены.
//           ""                - По умолчанию. Не предпринимать никаких действий.
//           "Пометка"         - Помечать на удаление.
//           "Непосредственно" - Удалять непосредственно.
//     АдресРезультата - Строка - адрес временного хранилища, куда будет помещен результат замены - ТаблицаЗначений:
//       * Ссылка - ЛюбаяСсылка - Ссылка, которую заменяли.
//       * ОбъектОшибки - Произвольный - Объект - причина ошибки.
//       * ПредставлениеОбъектаОшибки - Строка - Строковое представление объекта ошибки.
//       * ТипОшибки - Строка - Маркер типа ошибки. Возможны варианты:
//                              "ОшибкаБлокировки"  - при обработке ссылки некоторые объекты были заблокированы
//                              "ДанныеИзменены"    - в процессе обработки данные были изменены другим пользователем
//                              "ОшибкаЗаписи"      - не смогли записать объект
//                              "НеизвестныеДанные" - при обработке были найдены данные, которые
//                                                    не планировались к анализу, замена не реализована
//                              "ЗаменаЗапрещена"   - обработчик ВозможностьЗаменыЭлементов вернул отказ.
//       * ТекстОшибки - Строка - Подробное описание ошибки.

ПоискИУдалениеДублей.ЗаменитьСсылки(Параметры, Знач АдресРезультата)

 Пример:

		СтруктураПараметровЗамены = новый Структура;
		
		ПарыЗамен = новый Соответствие;
		ПарыЗамен.Вставить(Справочники.Пользователи.НайтиПоКоду("01"),Справочники.Пользователи.ПустаяСсылка());
		
		СтруктураПараметровЗамены.Вставить("ПарыЗамен",ПарыЗамен);
		СтруктураПараметровЗамены.Вставить("СпособУдаления","Пометка");
		
		Адрес = "";
		
		ПоискИУдалениеДублей.ЗаменитьСсылки(СтруктураПараметровЗамены,Адрес);
		
		Результат = ПолучитьИзВременногоХранилища(Адрес);

9.

// Возвращает текущего пользователя.

Пользователи.ТекущийПользователь();

//ПРИМЕР

ТекущийПользователь = Пользователи.ТекущийПользователь()

10.

// Определяет форму ФИО в заданном падеже.

СклонениеПредставленийОбъектов.ПросклонятьФИО(ФИО,Падеж,Объект,Пол)

 Пример:

ФИО = "Иванов Иван Иванович";
Падеж = 2; //Родительный
Объект = Справочники.ФизическиеЛица.НайтиПоКоду("01");
Пол = 1;   //Мужской
		
Результат = СклонениеПредставленийОбъектов.ПросклонятьФИО(ФИО,Падеж,Объект,Пол)
		

 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Hans 1 10.03.20 10:27 Сейчас в теме
2. user5300 475 10.03.20 10:43 Сейчас в теме
Продолжение статьи нашего друга spec8s.

https://infostart.ru/public/327028/
(1)
3. PLAstic 252 10.03.20 17:32 Сейчас в теме
Мне кажется, не надо было такую свежую версию БСП брать. Что-нибудь из 3.0.х было бы более востребовано.
Хотя, далеко не все описанные методы являются "свежими".
4. user5300 475 10.03.20 19:03 Сейчас в теме
(3) Я описал наиболее полезные функции которые помогут в решении многих задач. конечно это далеко не весь список, будем дополнять по мере возможности новыми процедурами и функциями)
БСП использовал наиболее актуальную, но большая часть используется и в 3.0 ) спасибо
5. user598128_able123 5 11.03.20 03:25 Сейчас в теме
ждем третью часть))
user5300; +1 Ответить
6. ImHunter 192 11.03.20 06:48 Сейчас в теме
(0) А где же ОбщегоНазначенияКлиентСервер: Проверить(...) и ПроверитьПараметр(...) ?...
Соблюдение контрактов - это наше все;)
user5300; +1 Ответить
7. Sla 11.03.20 08:08 Сейчас в теме
Спасибо, отличная тема для циклов статей!
Предложение: указывать тип возвращаемого значения (для функций), было бы удобно)
AlexandrSmith; +1 Ответить
8. user5300 475 11.03.20 10:15 Сейчас в теме
(7) Вообще в модулях описывается каждая процедура и функция )
но постараюсь дополнить в статье в ближайшее время!)
9. killermss 11.03.20 10:30 Сейчас в теме
Интересные функции из БСП 👍
user5300; +1 Ответить
10. parshin 71 12.03.20 08:24 Сейчас в теме
Спасибо!
Добавьте, пожалуйста, ссылку на первую часть.
11. parshin 71 12.03.20 08:24 Сейчас в теме
12. AlexeyT1978 92 16.03.20 13:22 Сейчас в теме
13. BigB 179 24.03.20 21:36 Сейчас в теме
А не лучше ли вместо
Пользователи.ТекущийПользователь()
использовать
ПараметрыСеанса.ТекущийПользователь
14. user5300 475 25.03.20 08:10 Сейчас в теме
(13) От перестановки слагаемых сумма не меняется)

Результат такой же - решения разные.

Кстати для получения текущего пользователя на Клиенте:
 ТП = ПользователиКлиентСервер.ТекущийПользователь() ;
15. resonance 21.04.20 17:36 Сейчас в теме
Спасибо, очень познавательно.
user5300; +1 Ответить
Оставьте свое сообщение

См. также

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

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

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

03.03.2017    63778    0    V.Stavinsky    21    

Мастер-класс "Ведение проектов в типовых конфигурациях 1С"

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

При адаптации типовой конфигурации под особенности учета в компании важно обеспечить возможность легкого обновления поставки. Как организовать архитектуру решения и продумать процесс быстрой и эффективной разработки без ущерба типовой функциональности, на конференции Infostart Event 2019 Inception рассказал ведущий программист компании BIA-Teсhnologies Алексей Князьков.

05.06.2020    1173    0    AKnyazkov    1    

Способ хранения данных расширения или дополнительной обработки

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

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

01.06.2020    1667    0    Sedaiko    13    

Переопределение настроек отчета на СКД. 1С: БСП

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

Изменение настроек СКД отчета без доработки модулей БСП

24.04.2020    2088    0    klimsrv    6    

Полезные функции БСП Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

01.02.2015    58081    24    spec8s    31    

Картинка в форме списка номенклатуры для УТ 11.4

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

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

23.03.2020    1317    0    malikov_pro    1    

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

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

В публикации опишу вариант переноса файлов для БСП 2.4+

22.03.2020    1194    0    malikov_pro    2    

Механизмы проведения документов при обмене по универсальному формату

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

Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.

04.03.2020    3003    0    partizand    6    

[БСП] Внешняя печатная форма: как перед печатью выводить форму настроек

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

Во внешней печатной форме перед печатью нужно выводить форму настроек. Для примера рассматриваю печатную форму "Акт сверки взаимных расчетов " .

19.12.2019    8489    0    John_d    8    

Реализация печати QR кодов "Библиотека стандартных подсистем", редакция 3.1 (3.1.1.151)

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

Рассмотрим, как реализовать печать QR кодов с помощью механизмов БСП.

16.10.2019    5620    0    paulis    4    

Реализация команды печати "Библиотека стандартных подсистем", редакция 3.1 (3.1.1.151)

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

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

12.10.2019    4527    0    paulis    4    

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм

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

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

10.10.2019    13725    0    John_d    14    

От чего можно отказаться при разработке расширений 1С

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

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

23.09.2019    9631    0    independ    24    

БСП: Дополнительные отчеты и обработки - одна обработка, несколько форм

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

Как в одной дополнительной обработке разместить несколько форм с типом команды "ОткрытиеФормы"?

29.07.2019    9178    0    dsdred    9    

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

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

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    34722    0    YPermitin    52    

Подсистема БСП «Управление доступом», основные объекты и регистры

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

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

23.05.2019    18277    0    ids79    8    

Как программно открыть внешний отчет из "Дополнительных отчетов и обработок" и передать параметры (при помощи БСП)

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

Пример, как при помощи БСП программно открыть внешний отчет/обработку из "Дополнительные отчеты и обработки" и передать параметры...

25.03.2019    18330    14    ellavs    11    

Добавление отчетов в типовые конфигурации 1С

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

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

07.03.2019    45433    0    ids79    45    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

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

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    31764    0    ids79    9    

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке

Универсальные функции Зарплата Управление персоналом (HRM) Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Бесплатно (free)

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

14.11.2018    69011    0    GeterX    112    

Добавление команд печати в конфигурациях на БСП 2.4.3 (в частности, в самописных документах в Бухгалтерии 3.0 после релиза 3.0.52.35)

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

В статье https://infostart.ru/public/237013/ пользователя nick max рассматривался список действий для подключения команд печати в Бухгалтерии 3.0, работающей на БСП 2.3.6. В новом релизе Бухгалтерии 3.0.52.35 от 15.09.2017г. стала использоваться БСП 2.4.3, из-за чего произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

18.09.2017    62689    0    bugtester    49    

Фоновое формирование отчета СКД на УФ средствами БСП

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

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

16.05.2017    26897    0    herfis    9    

Используем механизмы обмена данными БСП для произвольного обмена

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

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

23.08.2016    32810    0    Патриот    28    

Отладка конвертации данных 2.1 в конфигурациях, построенных на БСП 2.1 (БП 3.0, УТ 11 etc.)

Практика программирования Распределенная БД (УРИБ, УРБД) Обмен через XML БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Отладка процесса выгрузки/загрузки данных при проведении синхронизации в новых конфигурациях 1С может вызвать (у меня вызвала) некоторые затруднения. О них и пойдёт речь.

29.10.2015    38068    0    NittenRenegade    23    

Обмен при помощи Библиотеки Стандартных Подсистем (БСП) конфигурации ЗУП 2.5

Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем) v8 ЗУП2.5 Бесплатно (free)

Как организовать автообмен данными из базы Зарплата и Управление Персоналом 2.5? Очень просто. Кодирование нужно лишь для одной команды - всего несколько строчек кода.

17.07.2015    14222    0    sml    4    

Авторегистрация внешних отчётов/обработок средствами БСП

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

Вы сделали клиенту красивую печатную форму, или доп.обработку, или заполнение таб.части; но надо ещё зарегистрировать её. Клиенту это не всегда объяснишь, дистанционно не всегда сделаешь. А дальше её ещё обновлять каждый раз... Предлагаю код, который исключительно штатным образом "сделает всё сам".

11.02.2015    22947    0    Yashazz    14    

БСП: добавление нового провайдера SMS

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

Небольшая статья о том, как добавить нового провайдера SMS на примере конфигурации "Управление торговлей 11", используя библиотеку стандартных подсистем (БСП)

26.11.2014    20345    0    pbazeliuk    5    

Использование подсистемы "Управление доступом" из состава БСП версии 2.2+

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

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

18.11.2014    64927    0    Bassgood    84