Skip to content

Latest commit

 

History

History
88 lines (73 loc) · 7.1 KB

БСП.md

File metadata and controls

88 lines (73 loc) · 7.1 KB

БСП

Многопоточность

Подсистема ДлительныеОперации, функции ВыполнитьФункциюВНесколькоПотоков, аналогично процедуру. Параметры порционно складывать в соответствие. #надоСделать найти инфо про динамическое создание порций. Обязательно передавать внешку как двоичные данные. Сколько бы ни было порций, все выполняется в ограниченном (дефолт 3) числе потоков, рулится константой. Один поток - управляющий, так что реально идет в константа - 1 поток. Интерфейс менялся, как минимум брейкинг чейндж был в 3,1,17

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

Статьи:

  1. https://wiki.programstore.ru/ispolzovanie-tipovogo-mexanizma-mnogopotochnosti-bsp/
  2. https://xn----1-bedvffifm4g.xn--p1ai/articles/%D0%BA%D0%B0%D0%BA-%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D1%8C-1%D1%81-%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C/

Вывод окна ожидания с подсказкой прогресса

Для сообщения прогресса нужно 2 момента:

  1. внутри процедуры фонового задания нужно вызывать
    ДлительныеОперации.СообщитьПрогресс(процент, текст, допы);
  1. к стандартному ожиданию завершения:
	ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания)

добавляется обязательное заполнение реквизита

	ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;

Не забывайте, на стандартной форме ожидания прогресс бара нет, но она готов вывести текст в виде "процент (текст)" например

15.325 (153 из 1018)

Подсистемы

Контактная информация

Найти вид КИ по идентификатору для формул: Судя по проверке уникальности допустимо указания одинаковых ИД для разных верхних папок, поэтому в 2 параметра.

Функция ВидКонтактнойИнформацииПоИдентификатору(Идентификатор, РодительВерхнегоУровня)
	Перем Запрос, ТЗ;
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Таблица.Ссылка
	|ИЗ
	|	Справочник.ВидыКонтактнойИнформации КАК Таблица
	|ГДЕ
	|	И Таблица.Ссылка В ИЕРАРХИИ (&РодительВерхнегоУровня)
	|	И Таблица.ИдентификаторДляФормул = &ИдентификаторДляФормул";
	Запрос.УстановитьПараметр("ИдентификаторДляФормул", Идентификатор);
	Запрос.УстановитьПараметр("РодительВерхнегоУровня", РодительВерхнегоУровня);
	
	ТЗ = Запрос.Выполнить().Выгрузить();
	Если ТЗ.Количество() = 0 Тогда
		Рез = Справочники.ВидыКонтактнойИнформации.ПустаяСсылка();
	Иначе
		Рез = ТЗ[0].Ссылка;
	КонецЕсли;
	Возврат Рез;
КонецФункции

Работа с командной строкой

ОбщийМодуль.ФайловаяСистема

Печать

[Встраивание подсистемы] (https://its.1c.ru/db/bsp313doc#content:53:hdoc)

КоллекцияПечатныхФорм

БСП орава изварщенцев, на клиенте они делают массив структур, и в модуле УправлениеПечатьюКлиент нужно использовать массив, который готовится так: КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("БланкАнкетыЭлектронногоИнтервью"); А вот в серверный метод "печать" в объектах нужно готовить таблицу значений: КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("ПФ_MXL_Т2"); Почему в одном месте "новая", а в другом "подготовить" - на совести авторов БСП.

Word

Разработка печатных форм с использованием макетов в формате офисных документов Office Open XML

Шаблон для разработки внешней ПФ

Настройка порядка элементов

Настрока (из Главы 3) Интерфейс Из главы 4 Пользователям гл. 5

Ссылки

Типовые конфигурации