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

Публикация № 1625217 01.04.22

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

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

 

Введение

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

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

Переходим к первой части статьи.

 

Напишем процедуру, которая будет использоваться в многопоточном запуске

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

 
 ОбщийМодуль1.ПроцедураМногопоток
&НаСервере
Процедура ПроцедураМногопоток(Поток, Параметры) Экспорт
  
	КоличествоСозданныхОбъектов = 0;
	
	Если Параметры.ТипОбработки = "Вариант 1" Тогда // Создадим 500 документов поступления  (можно и загрузить)
		
		Для Счетчик = 1 по 500 Цикл
			
			НовДок = Документы._ДемоПоступлениеТоваров.СоздатьДокумент();
			НовДок.Дата = ТекущаяДата();
			НовДок.Организация = Параметры.Организация;
			НовДок.Валюта = Справочники.Валюты.НайтиПоКоду("643"); 
			НовДок.Комментарий = Параметры.КомментарийДокумента;
			
			Попытка      
				НовДок.Записать(РежимЗаписиДокумента.Запись);
			Исключение
				
			КонецПопытки;	
			
			КоличествоСозданныхОбъектов = КоличествоСозданныхОбъектов + 1; 
			
		КонецЦикла;
		
	ИначеЕсли Параметры.ТипОбработки = "Вариант 2" Тогда	// Создадим 1000 записей справочника "Номенклатура"

		Для Счетчик = 1 по 1000 Цикл
			
			НовСпр = Справочники._ДемоНоменклатура.СоздатьЭлемент();
			НовСпр.Наименование = "Новая номенклатура_"+Строка(Счетчик);
			НовСпр.НаименованиеДляПечати = "Новая номенклатура_"+Строка(Параметры.ОписаниеСправочника);
			НовСпр.Записать();
			
		КонецЦикла;
		
		КоличествоСозданныхОбъектов = КоличествоСозданныхОбъектов + 1;
		
	КонецЕсли;
	
КонецПроцедуры

 

 

При первом типе обработке - "Вариант 1", процедура - будет создать 500 документов. При втором типе - "Вариант 2" - запустим цикл по созданию 1000 элементов справочника "Номенклатура".

Теперь, перейдем к коду обработки, использующим ДлительныеОперации, запускающим ж

 

Описание функционала запуска с помощью функции "ВыполнитьПроцедуруВНесколькоПотоков"

 

Для начала нарисуем вот такую форму:

Рис.1 Форма тестирования многопотоковой функции в БСП

 

Напишем процедуру клиентского запуска. Выглядит она вот так:

 Многопоток
&НаКлиенте
Процедура ЗапуститьМногопоток(Команда)
	
	ОповещениеОПрогрессеВыполнения = Новый ОписаниеОповещения("ПрогрессВыполнения", ЭтотОбъект);
	
	
	Задание = СоздадимПотокиНаСервере(УникальныйИдентификатор);
	
	ИдентификаторЗадания = Задание.ИдентификаторЗадания;
	
	НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
	НастройкиОжидания.ВыводитьОкноОжидания = Ложь;
	НастройкиОжидания.ОповещениеОПрогрессеВыполнения = ОповещениеОПрогрессеВыполнения;
	НастройкиОжидания.ВыводитьПрогрессВыполнения = Истина;
	

	Обработчик = Новый ОписаниеОповещения("ОбработатьДанные", ЭтотОбъект);
	ДлительныеОперацииКлиент.ОжидатьЗавершение(Задание, Обработчик, НастройкиОжидания);
	
	
КонецПроцедуры

 

 

Далее, опишем функцию СоздадимПотокиНаСервере(УИД)

 
 Создадим потоки на сервере

 

&НаСервере
Функция СоздадимПотокиНаСервере(УникальныйИдентификатор)

	ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
	ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Выполнение многопоточной функции'");
	ПараметрыВыполнения.ЗапуститьВФоне = Истина;
	
	ПараметрыМетода = Новый Соответствие();

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

	
	Возврат ФоновоеЗадание;	
	
КонецФункции

&НаСервере
Функция ПараметрыМногопоточнойФункции()
	
	Результат = Новый Структура();
	Результат.Вставить("ТипОбработки", 0);
	Результат.Вставить("ОписаниеСправочника", "");
	Результат.Вставить("КомментарийДокумента", "");
	Результат.Вставить("Организация", Справочники._ДемоОрганизации.ПустаяСсылка());
	Результат.Вставить("ЗагружатьПорциями", Истина);
	Возврат Результат;
	
КонецФункции

 

Здесь, я обозначаю условные параметры для двух потоков "Поток 1" и "Поток 2". Далее, использую Функцию "ВыполнитьПроцедуруВНесколькоПотоков" с этими параметрами.

 

Далее, опишем функции "ПрогрессВыполнения" и "ОбработатьДанные" (это будут чисто-условные "полупустые" функции)

 
 ПрогрессВыполнения и ОбработатьДанные

 

&НаКлиенте
Процедура ПрогрессВыполнения(Результат, ДополнительныеПараметры) Экспорт
	
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПрочитатьПрогресс(ИдентификаторЗадания)
	Возврат ДлительныеОперации.ПрочитатьПрогресс(ИдентификаторЗадания);
КонецФункции

&НаКлиенте
Процедура ОбработатьДанные(Задание, ДополнительныеПараметры) Экспорт

	Если Задание = Неопределено Тогда
		Возврат;
	КонецЕсли;  
	
	ЭтаФорма.РезультатВыполнения = СокрЛП(Задание.Статус) +" "+СокрЛП(ПолучитьИЗВременногоХранилища(Задание.АдресРезультата));

	
КонецПроцедуры

 

Весь код модуля формы обработки вот такой (можно скопипастить):

 
 Весь код модуля формы обработки

 


&НаСервере
Функция ПараметрыМногопоточнойФункции()
	
	Результат = Новый Структура();
	Результат.Вставить("ТипОбработки", 0);
	Результат.Вставить("ОписаниеСправочника", "");
	Результат.Вставить("КомментарийДокумента", "");
	Результат.Вставить("Организация", Справочники._ДемоОрганизации.ПустаяСсылка());
	Результат.Вставить("ЗагружатьПорциями", Истина);
	Возврат Результат;
	
КонецФункции	

&НаКлиенте
Процедура ЗапуститьМногопоток(Команда)
	
	ОповещениеОПрогрессеВыполнения = Новый ОписаниеОповещения("ПрогрессВыполнения", ЭтотОбъект);
	
	
	Задание = СоздадимПотокиНаСервере(УникальныйИдентификатор);
	
	//ИдентификаторЗадания = ПолучитьИЗВременногоХранилища(Задание.АдресРезультата).Получить("Поток 1").ИдентификаторЗадания;//Задание.ИдентификаторЗадания;
	
	ИдентификаторЗадания = Задание.ИдентификаторЗадания;
	//Сообщить(ИдентификаторЗадания);
	
	НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
	НастройкиОжидания.ВыводитьОкноОжидания = Ложь;
	НастройкиОжидания.ОповещениеОПрогрессеВыполнения = ОповещениеОПрогрессеВыполнения;
	НастройкиОжидания.ВыводитьПрогрессВыполнения = Истина;
	

	Обработчик = Новый ОписаниеОповещения("ОбработатьДанные", ЭтотОбъект);
	ДлительныеОперацииКлиент.ОжидатьЗавершение(Задание, Обработчик, НастройкиОжидания);
	
	
КонецПроцедуры

&НаСервере
Функция СоздадимПотокиНаСервере(УникальныйИдентификатор)

	ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
	ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Выполнение многопоточной функции'");
	ПараметрыВыполнения.ЗапуститьВФоне = Истина;
	
	ПараметрыМетода = Новый Соответствие();

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

	
	Возврат ФоновоеЗадание;	
	
КонецФункции	

&НаКлиенте
Процедура ПрогрессВыполнения(Результат, ДополнительныеПараметры) Экспорт
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПрочитатьПрогресс(ИдентификаторЗадания)
	Возврат ДлительныеОперации.ПрочитатьПрогресс(ИдентификаторЗадания);
КонецФункции

&НаКлиенте
Процедура ОбработатьДанные(Задание, ДополнительныеПараметры) Экспорт

	Если Задание = Неопределено Тогда
		Возврат;
	КонецЕсли;  
	
	ЭтаФорма.РезультатВыполнения = СокрЛП(Задание.Статус) +" "+СокрЛП(ПолучитьИЗВременногоХранилища(Задание.АдресРезультата));
	
КонецПроцедуры


 

 

На видео исполнение процедуры выглядит вот так (не смог разместить здесь гиф-ку - поэтому ссылка на облако):

Открыть видео по ссылке

 

Заключение и выводы

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

 

 

 

Предыдущие материалы по выполнению функций и процедур в асинхронном режиме

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

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

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

БСП - рабочие примеры асинхронного запуска функций и процедур

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

 

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

Спасибо всем, кто прочитал до данного момента.

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

 

Возможности администрирования баз и кластера с помощью библиотеки стандартных подсистем:

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

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

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

 

Работа со штрихкодами и печатными макетами с помощью библиотеки стандартных подсистем:

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

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

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

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

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

 

Разные прикладные разработки:

Генератор маршрута по "документам отгрузки" в Google.Maps

Честный знак - запрос содержания упаковки по ее коду [табачная продукция]

Универсальный журнал документов для типовых конфигураций

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

Отзывы
10. quazare 2984 03.04.22 18:04 Сейчас в теме
и еще момент - если хотите следить за моими новыми статьями БСП и не только - присоединяйтесь на мой канал телеграм
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ImHunter 268 01.04.22 15:14 Сейчас в теме
Спасибо огроменное! Как раз хотел в ближайшей перспективе экспериментировать с многопотоком от БСП. Вы мне немного времени сэкономили.
2. TheOldGuard 9 01.04.22 15:59 Сейчас в теме
Интересная статья, интересно раз это новый функционал, то какие подводные камни он в себе держит)
3. Totoro 568 01.04.22 16:48 Сейчас в теме
Если брать БСП, то это с БСП 3.1.6:
Новые возможности для разработчиков в версии 3.1.6
Базовая функциональность

Для ускорения выполнения длительных операций предусмотрена возможность выполнить обработчик длительной операции в несколько потоков. Для этого необходимо:
- Разделить данные на наборы, где каждый элемент набора будет обработан в отдельном фоновом задании.
- Из программного интерфейса общего модуля ДлительныеОперации для запуска процедуры длительной операции вызвать функцию ВыполнитьПроцедуруВНесколькоПотоков (или ВыполнитьФункциюВНесколькоПотоков), передав третьим параметром сформированный набор данных. Подробное описание параметров см. в комментарии к этим функциям.
- Максимально допустимое количество одновременно работающих фоновых заданий может быть задано администратором в разделе Администрирование - Общие настройки - Многопоточные длительные операции
- В файловой информационной базе и при работе в модели сервиса длительные операции всегда выполняются в один поток.
- Пример см. в демонстрационной конфигурации в форме ЗагрузкаАдресногоКлассификатора регистра сведений АдресныеОбъекты.
Angealtor; user1704444; mrChOP93; Dach; Gilev.Vyacheslav; JohnyDeath; Созинов; +7 Ответить
4. PowerBoy 3237 01.04.22 18:11 Сейчас в теме
Не увидел что здесь нового, и так можно было запустить фоновые задания в цикле со своим набором обработки данных, вот тебе и многопоток.
memfree; SerVer1C; quazare; mikl79; +4 Ответить
6. starik-2005 2808 01.04.22 23:23 Сейчас в теме
(4)
Не увидел что здесь нового
5 лет назад под такими статьями писали, что 1С не многопоточна, и что никакой прибавки к скорости не будет ))) Сейчас риторика поменялась, что-то в голове разработчиков подвинулось в нужную сторону. Видимо повлияло засилие процессоров с овер дофига ядер/потоков ))))
5. sanjabor 17 01.04.22 19:32 Сейчас в теме
Спасибо.

А никакой формы для визуализации прогресса многопоточной обработки не намечается? Только ПрочитатьПрогресс() и рисовать самому?
7. insurgut 206 02.04.22 17:58 Сейчас в теме
А профит есть? Не увидел в статье результатов сравнения производительности.
SlavaKron; DmitrichenkoInfoStart; +2 Ответить
13. ya.Avoronov 114 04.04.22 17:56 Сейчас в теме
(7) откуда появится разница, коли это старые рельсы, только параллельно?
8. qwed557 30 02.04.22 23:04 Сейчас в теме
А сколько созданных объектов показывает при создании справочника номенклатура? У вас подсчет количество созданных объектов за циклом идет.
9. quazare 2984 03.04.22 13:10 Сейчас в теме
Товарищи, всем задающим вопросы - далее я попробую развить эту тему в отдельной статье.

И да, основа подхода - это фоновое задание в «цикле»… в бсп, на мой взгляд - выполнено более красиво.
10. quazare 2984 03.04.22 18:04 Сейчас в теме
и еще момент - если хотите следить за моими новыми статьями БСП и не только - присоединяйтесь на мой канал телеграм
11. Jimbo 9 04.04.22 16:37 Сейчас в теме
В 2016-2017 сами писали на несколько потоков, например делили период год на месяцы и запрашивали по подразделениям, потом как все потоки завершатся - склеивали эти данные, полученные с каждого потока ТаблицуЗначений в один отчет
12. ya.Avoronov 114 04.04.22 17:53 Сейчас в теме
Каждый "даже не тру" разраб уже давным-давно сколхозил себе многопоточку.

ИМХО

* Перейдешь сейчас на новую БСП-шную, а она в новой версии БСП отвалится, как это и бывает подчас :(
* Кидаться и переписывать все под новый стандарт - пустая трата времени!
* Однако, конечно полезно изучить что-то новое!
maksa2005; +1 Ответить
14. pstrig 07.04.22 09:41 Сейчас в теме
Многопоточка? Интересно. Посмотрим
Оставьте свое сообщение

См. также

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

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

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

29.10.2022    5039    ixijixi    7    

54

Система контроля ведения учета [БСП]

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

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

18.07.2022    4689    quazare    8    

92

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

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

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

30.06.2022    3869    quazare    8    

53

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

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

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

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

06.06.2022    4956    user1432326    5    

25

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

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

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

22.05.2022    7446    quazare    24    

52

Работа с 1С:Аналитика Промо

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

4500 рублей

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

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

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

15.05.2022    7373    quazare    5    

95

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

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

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

11.05.2022    8448    user1374747    19    

48

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

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

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

25.04.2022    8990    quazare    11    

125

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

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

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

20.04.2022    8461    Koder_Line    11    

30

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

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

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

25.03.2022    1303    AlexeyRaevsky    7    

5

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

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

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

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

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

25.03.2022    1728    ixijixi    0    

11

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

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

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

22.03.2022    5492    quazare    10    

79

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

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

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

07.03.2022    8755    vandalsvq    0    

56

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

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

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

02.02.2022    3023    serg61    4    

30

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

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

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

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

31.01.2022    5985    Shining_ninja    4    

83

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

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

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

20.12.2021    1445    Sergey1CSpb    5    

6

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

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

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

24.11.2021    17592    kalyuzhnyyp    29    

59

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

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

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

17.11.2021    6210    quazare    5    

101

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

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

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

11.11.2021    15772    quazare    15    

83

Готовые переносы данных из различных конфигураций 1C Промо

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

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

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

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

26.10.2021    5957    quazare    7    

101

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

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

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

17.08.2021    6096    maraty    15    

58

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

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

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

10.08.2021    9249    Yashazz    0    

19

Универсальный журнал документов для типовых конфигураций

Универсальные обработки Платформа 1С v8.3 1С:Розница 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Бухгалтерский учет Налоговый учет Управленческий учет Абонемент ($m)

Представляю вам универсальный журнал документов типовых баз за выбранный период. Журнал представлен для Бухгалтерия предприятия 3.0, Управление торговлей 11.4, Управление нашей фирмой 1.6 и Розница 2.3.

3 стартмани

08.07.2021    8246    29    quazare    10    

18

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

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

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

21.06.2021    10163    quazare    4    

61

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

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

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

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

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

27.04.2021    30764    rayastar    8    

309

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

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

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

25.03.2021    82689    rayastar    56    

890

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

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

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

23.02.2021    13851    quazare    21    

110

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

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

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

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

17.02.2021    20498    quazare    20    

142

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

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

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

09.01.2021    21711    quazare    25    

108

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

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

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

28.12.2020    2958    prog_mayskiyse    8    

20

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

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

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

22.11.2020    9094    ixijixi    8    

66