Полезные функции БСП (Часть 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 376 10.03.20 10:43 Сейчас в теме
Продолжение статьи нашего друга spec8s.

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

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

Кстати для получения текущего пользователя на Клиенте:
 ТП = ПользователиКлиентСервер.ТекущийПользователь() ;
Оставьте свое сообщение

См. также

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

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

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

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

04.03.2020    1834    partizand    5       

Подборка программ для взаимодействия с ЕГАИС Промо

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

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

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

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

19.12.2019    6445    1    John_d    8       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

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

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

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

12.10.2019    3522    paulis    4       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

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

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

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

10.10.2019    11390    John_d    14       

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса - повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

40000 рублей

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

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

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

04.06.2019    30151    YPermitin    51       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

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

4900 рублей

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

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

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

23.05.2019    16068    ids79    8       

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

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

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

07.03.2019    40653    ids79    45       

Екатеринбург.Online: Голосование продолжается Промо

Продолжается голосование за доклады на INFOSTART MEETUP Екатеринбург.Online! Лучшие из них попадут в окончательную программу онлайн-митапа! Присоединяйтесь к голосованию и покупайте билеты - 3 000 рублей за 8 часов продуктивной пятницы!

3000

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

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

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

03.02.2019    27616    ids79    9       

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

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

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

14.11.2018    59594    GeterX    101       

Лучшие программы за прошедший месяц Промо

Инфостарт подготовил ТОП-25 самых продаваемых и популярных на текущий момент программ. При формировании списка учитывается аналитика продаж и запросы клиентов за последний месяц.

Добавление команд печати в конфигурациях на БСП 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    59293    bugtester    49       

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

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

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

16.05.2017    26009    herfis    9       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

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

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

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

03.03.2017    61220    V.Stavinsky    21       

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

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

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

23.08.2016    31650    Патриот    28       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500-9500 рублей

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

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

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

29.10.2015    36691    NittenRenegade    23       

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

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

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

17.07.2015    13689    sml    4       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

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

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

11.02.2015    22379    Yashazz    14       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

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

1 стартмани

01.02.2015    54904    50    spec8s    31       

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

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) SMS рассылки

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

26.11.2014    19866    pbazeliuk    5