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

Публикация № 1388478 23.02.21

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

БСП клиент-сервер печать макет word docx

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

 

Введение

Привет всем! В данной статье предлагаю разобрать методику вывода макетов печатных форм в формате MS Word (*.docx) с применением самых актуальных методов библиотеки стандартных подсистем (БСП). Данная методика позволит вам создавать печатные формы MS Word (*.docx) для любых документов в конфигурациях, основанных на БСП. Актуальная версия БСП на момент написания статьи - это версия 3.1.4.159 - середина февраля 2021 года.

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

 

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

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

 

Шаг 1. Регистрация документа в общем модуле - УправлениеПечатьюПереопределяемый:

Создаем документ - ДокументWord. Добавляем запись о нашем документе в процедуру

ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт. Выглядит это так:

 
 Регистрация документа в общем модуле УправлениеПечатьюПереопределяемый

 

Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
	
	// _Демо начало примера
	СписокОбъектов.Добавить(Справочники._ДемоКонтактныеЛицаПартнеров);
	СписокОбъектов.Добавить(Справочники._ДемоКонтрагенты);
	СписокОбъектов.Добавить(Справочники._ДемоОрганизации);
	СписокОбъектов.Добавить(Справочники._ДемоПартнеры);
	СписокОбъектов.Добавить(Справочники._ДемоФизическиеЛица);
	СписокОбъектов.Добавить(Документы._ДемоОприходованиеТоваров);
	СписокОбъектов.Добавить(Документы._ДемоПеремещениеТоваров);
	СписокОбъектов.Добавить(Документы._ДемоРеализацияТоваров);
	СписокОбъектов.Добавить(Документы._ДемоСписаниеТоваров);
	СписокОбъектов.Добавить(Документы._ДемоСчетНаОплатуПокупателю);
	СписокОбъектов.Добавить(Документы._ДемоРасходныйКассовыйОрдер);
	
	СписокОбъектов.Добавить(Документы.ДокументWord); // это наш документ

	// _Демо конец примера
	
КонецПроцедуры

 

Шаг 2. Добавление события выполнения печати в ФормуДокумента (в данной статье будем ставить кнопку печати только в "ФормеДокумента"):

 
 Добавление события выполнения печати в ФормуДокумента

 


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте 
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры 

&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат)
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры 

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры  
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

 

Шаг 3. Добавляем команду печати и ее обработку, а так же функцию "ПолучитьДанныеПечати" в модуль менеджера документа:

 
 Добавляем команду печати, процедуру печати и функция "ПолучитьДанныеПечати" в модуль менеджера

 

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
		
	// В формате Microsoft Word.
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ТестовыйДокументВорд";  // ид
	КомандаПечати.Представление = НСтр("ru = 'Документ пример Ворд'");
	КомандаПечати.Картинка = БиблиотекаКартинок.ФорматWord2007; // картинка на кнопку
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина; // проверка проведения

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


Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
		
	ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ТестовыйДокументВорд");
	
        // ****** **** ****
		
КонецПроцедуры


Функция ПолучитьДанныеПечати(Знач Согласия, Знач МассивИменМакетов) Экспорт
	
	ДанныеПоВсемОбъектам = Новый Соответствие;
	
	// **** **** ****
	
	Возврат ДанныеПечати;
	
КонецФункции

 

Шаг 4. Подготовим шаблон документа MS Word и загрузим его в макет с типом бинарные данные.

Здесь я приведу небольшой код шаблона документа MS Word, который разбит по областям с параметрами. Макет назовем "ТестовыйПечатныйМакетРу". Выглядит он вот так:

 
 Шаблон макета MS WORD

 

{v8 Область.НомерДата}
{v8 ДатаСогласия}
{/v8 Область.НомерДата}

{v8 Область.Преамбула}
{v8 ФИО}, именуемый в дальнейшем «Субъект персональных данных», разрешает {v8 ОрганизацияВДательномПадеже}, в лице ответственного за обработку персональных данных {v8 ОтветственныйЗаОбработкуПерсональныхДанныхВРодительномПадеже}, далее «Оператор», обработку персональных данных, приведенных в пункте 2 настоящего согласия на следующих условиях:
{/v8 Область.Преамбула}

 

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

 

Получение макета MS Word, его заполнение и вывод на печать.

В данном разделе мы доработаем нашу процедуру 

Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт и функцию ПолучитьДанныеПечати(Знач Согласия, Знач МассивИменМакетов) Экспорт

 

Код процедуры вот такой:

 
 Формирует печатные формы.

 

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
		
	ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ТестовыйДокументВорд");
	Если ПечатнаяФорма <> Неопределено Тогда
		ИмяМакета = "ТестовыйДокументВорд";
		МакетИДанныеОбъекта = УправлениеПечатьюВызовСервера.МакетыИДанныеОбъектовДляПечати("Документ.Документ2", ИмяМакета, МассивОбъектов);
		
		ОфисныеДокументы = Новый Соответствие;
		
		Шаблон = НСтр("ru = 'Заголовок документа  (№[Номер] получено [Дата])'");
		
		ЗначенияРеквизитовДокументов = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(МассивОбъектов, "Номер,Дата,Ссылка");
		
		Для Каждого Ссылка Из МассивОбъектов Цикл
			ЗначенияРеквизитовДокумента = ЗначенияРеквизитовДокументов[Ссылка];
			
			
			ЗначенияРеквизитовДокумента.Дата = Формат(ЗначенияРеквизитовДокумента.Дата, "ДЛФ=D");
			
			// используем стандартную подсистему - префиксация объектов
			Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрефиксацияОбъектов") Тогда
				МодульПрефиксацияОбъектовКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПрефиксацияОбъектовКлиентСервер");
				ЗначенияРеквизитовДокумента.Номер = МодульПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ЗначенияРеквизитовДокумента.Номер);
			КонецЕсли;
			
			
			ИмяДокумента = СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку(Шаблон, ЗначенияРеквизитовДокументов[Ссылка]);
			
			АдресХранилищаОфисныйДокумент = НапечататьСогласиеНаОбработкуПерсональныхДанныхСубъекта(Ссылка, МакетИДанныеОбъекта, ИмяМакета);
			
			ОфисныеДокументы.Вставить(АдресХранилищаОфисныйДокумент, ИмяДокумента);
		КонецЦикла;
		
		ПечатнаяФорма.СинонимМакета    = НСтр("ru = 'Тестовый документ Ворд (документ MS Word)'");
		ПечатнаяФорма.ОфисныеДокументы = ОфисныеДокументы;
	КонецЕсли;
		
КонецПроцедуры

Далее, дорабатываем функцию:

 
 Подготавливает данные объекта к выводу на печать.

 

Функция ПолучитьДанныеПечати(Знач Согласия, Знач МассивИменМакетов) Экспорт
	
	ДанныеПоВсемОбъектам = Новый Соответствие;
	
	СоответствиеПоСогласиям = СоответствиеДанныхДляПечатиСогласий(Согласия);
	
	Для Каждого ОбъектСсылка Из Согласия Цикл
		ДанныеОбъектаПоМакетам = Новый Соответствие;
		Для Каждого ИмяМакета Из МассивИменМакетов Цикл
			ДанныеОбъектаПоМакетам.Вставить(ИмяМакета, СоответствиеПоСогласиям[ОбъектСсылка]);
		КонецЦикла;
		ДанныеПоВсемОбъектам.Вставить(ОбъектСсылка, ДанныеОбъектаПоМакетам);
	КонецЦикла;
	
	ОписаниеОбластей = Новый Соответствие;
	ДвоичныеДанныеМакетов = Новый Соответствие;
	
	Для Каждого ИмяМакета Из МассивИменМакетов Цикл
		Если ИмяМакета = "ТестовыйДокументВорд" Тогда
			ДвоичныеДанныеМакетов.Вставить(ИмяМакета, УправлениеПечатью.МакетПечатнойФормы("Документ.Документ2.ТестовыйПечатныйМакетРу"));
		КонецЕсли;
		ОписаниеОбластей.Вставить(ИмяМакета, ОписаниеОбластейМакетаОфисногоДокумента());
	КонецЦикла;
	
	Макеты = Новый Структура("ОписаниеОбластей, ДвоичныеДанныеМакетов");
	Макеты.ОписаниеОбластей = ОписаниеОбластей;
	Макеты.ДвоичныеДанныеМакетов = ДвоичныеДанныеМакетов;
	
	ДанныеПечати = Новый Структура("Данные, Макеты");
	ДанныеПечати.Данные = ДанныеПоВсемОбъектам;
	ДанныеПечати.Макеты = Макеты;
	
	Возврат ДанныеПечати;
	
КонецФункции

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

 
 Вспомогательные функции

 

Функция ОписаниеОбластейМакетаОфисногоДокумента()
	
	ОписаниеОбластей = Новый Структура;
	
	УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "НомерДата",			"Общая");
	УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Преамбула",			"Общая");
	
	Возврат ОписаниеОбластей;
	
КонецФункции


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


Функция СоответствиеДанныхДляПечатиСогласий(Согласия)
	
	Соответствие = Новый Соответствие;
	
	ДанныеДляПечати = ДанныеДляПечатиСогласий(Согласия);
	
	Для Каждого ОписаниеСогласия Из ДанныеДляПечати Цикл
		Соответствие.Вставить(ОписаниеСогласия.ДокументОснование, ОписаниеСогласия);
	КонецЦикла;
	
	Возврат Соответствие;
	
КонецФункции

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


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

Все. Теперь, мы доработали модуль менеджера нашего документа для работы с макетами MS Word. Переходим к заключению и делаем выводы.

 

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

В данной статье мы рассмотрели базовый стандарт разработчика (в рамках БСП) по выводу печатных форм в формате MS Word. Данный алгоритм - клиент-серверный. Разработка примера велась на библиотеке стандартных подсистем 3.1.4.159 и Платформе 1с 8.3.18.1208.

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

Спасибо, что прочитали данную статью, надеюсь, что она внесет ясность работы с формами MS Word.

 

 

Другие мои материалы по БСП

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

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

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

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

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

Типовые методы конфигурации "Зарплата и управление персоналом", которые пригодятся каждому ЗУП программисту и не только

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

Лучшие комментарии
9. quazare 2801 17.04.22 15:36 Сейчас в теме
Все кто желает - разные примеры работы с БСП и другие ссылки на статье - находятся на моем телеграмм канале
user1379552; +1 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. lepth 25.02.21 12:17 Сейчас в теме
Спасибо за материал!
Беспокоит один вопрос - использование областей в макете обязательно? Бывали случаи, когда макет Word нужно сформировать строго под фиксированный бланк (например вкладыш в диплом). Указание "{v8 Область.Преамбула}" сильно затрудняет эту задачу.
2. quazare 2801 25.02.21 12:22 Сейчас в теме
(2) здравствуйте! в рамках системы БСП - да, предлагается использование областей. Но есть другие (я знаю еще 2 честных способа) вывода макета ворд и без областей и БСП. В статье сделан акцент на использование библиотеки.
3. user891149 09.09.21 19:40 Сейчас в теме
А можно ли и как при этом вставить в макет не текстовое поле, а картинку, например логотип организации? При этом для разных организаций он разумеется разный, то есть это тоже параметр.
10. MrWashington 12.07.22 11:34 Сейчас в теме
(3)Вот тоже пробывал, так и не разобрался как вывести картинку в макет WORD.
4. mariya.mary.00 14.12.21 17:28 Сейчас в теме
Добрый день!

А не подскажите, можно ли как-то сделать вывод печатных форм по условию - например, для одного документа необходимо выводить одновременно 2 макета, а для другого - один, в зависимости от условий.
5. quazare 2801 14.12.21 17:39 Сейчас в теме
(4) возможно, почему же нет
6. mariya.mary.00 14.12.21 21:30 Сейчас в теме
(5) я делаю ВПФ, подскажите, пожалуйста. Если в идентификаторе объявляю несколько макетов(например,3), то при печати 2 по условию, получаю ошибку, что для 3 - не сформирована печатная форма.
Вот код, который у меня в процедуре печати:
    Если  Тогда
            Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_DOC_ПечатьДокументWordФК") Тогда
            ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ПФ_DOC_ПечатьДокументWordФК"); //Идентификатор формы в команде
            Если ПечатнаяФорма <> Неопределено Тогда
                ОфисныеДокументы = НапечататьАктСписанияФК(МассивОбъектов);
                ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент;
                ПечатнаяФорма.СинонимМакета    = НСтр("ru = 'Печать документа Word'");
                ПечатнаяФорма.ОфисныеДокументы = ОфисныеДокументы;
            КонецЕсли;
            КонецЕсли;

        ИначеЕсли 
            Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_DOC_ПечатьДокументWordОбычные") Тогда
            ПечатнаяФорма1 = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ПФ_DOC_ПечатьДокументWordОбычные"); //Идентификатор формы в команде
            Если ПечатнаяФорма1 <> Неопределено Тогда
                ОфисныеДокументы1 = НапечататьАктСписанияОбычные(МассивОбъектов);
                ПечатнаяФорма1.ТабличныйДокумент = Новый ТабличныйДокумент;
                ПечатнаяФорма1.СинонимМакета    = НСтр("ru = 'Печать документа Word'");
                ПечатнаяФорма1.ОфисныеДокументы = ОфисныеДокументы1;
            КонецЕсли;
            КонецЕсли;

        КонецЕсли;
    КонецЦикла;
Показать
7. mariya.mary.00 25.01.22 17:10 Сейчас в теме
Добрый день!

Не подскажите, есть ли способ как программно пересохранить созданный файл word в pdf?
Т.е чтобы при нажатии кнопки печати вместо word открывался pdf файл?
8. fizs 21.02.22 18:00 Сейчас в теме
Скажите, а если не из документа, а из внешней обработки нужна печать макета Word, то как это сделать?
9. quazare 2801 17.04.22 15:36 Сейчас в теме
Все кто желает - разные примеры работы с БСП и другие ссылки на статье - находятся на моем телеграмм канале
user1379552; +1 Ответить
11. AbadaTouro 8 03.08.22 13:22 Сейчас в теме
Так и не понятно из статьи как вставить картинку програмно
12. AbadaTouro 8 03.08.22 13:41 Сейчас в теме
(10) (11) Хотя
посмотрел по коду оказывается для того что бы вывести картинку в такой шаблон WORD достаточно получить ссылку на двоичные данные файла

СтруктураКартинки = ПрисоединенныеФайлы.ПолучитьДанныеФайла(ФаксимилеПодписи);
Картинка = СтруктураКартинки.СсылкаНаДвоичныеДанныеФайла;

ДанныеПодвала1Лист.Вставить("ФаксимилеПодписи",Картинка);
Mouse85; MrWashington; +2 Ответить
13. MrWashington 03.08.22 17:19 Сейчас в теме
(12)Супер, проверил, работает ! Можно КП или прайс делать в WORD. @AbadaTouro, спасибо
16. WorkerPavel 27.09.22 17:41 Сейчас в теме
(12)
ДанныеПодвала1Лист

А тип области у вас какой?
14. user1336105 07.09.22 18:06 Сейчас в теме
очень хелп!!!!!
В конечном документе параметры начинаются с табуляции. Как с этим бороться???
15. WorkerPavel 27.09.22 17:14 Сейчас в теме
Подложку с помощью механизмов БСП напечатать можно?
В макете она есть а на печать не выводится.
17. AbadaTouro 8 28.09.22 13:39 Сейчас в теме
(16) Как какой .
ДанныеПодвала1Лист = Новый Структура;
18. WorkerPavel 28.09.22 14:14 Сейчас в теме
(17)Я имел ввиду это:
УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Лого",					"Общая");

Т.е. я предполагал что может тип области для картинок есть специальный, но оказалось что и с "Общая" работает.
19. user788141 13.11.22 02:01 Сейчас в теме
(18) а есть варианты расположения картинки в шаблоне ворда, так что бы регулировать размер или положение на странице? размер печати в png вроде правильные а в ворде выводит больше размером, и положение поменять в обычной области не получится...
Оставьте свое сообщение

См. также

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

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

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

03.03.2017    91746    V.Stavinsky    24    

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

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

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

29.10.2022    4559    ixijixi    7    

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

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

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

30.06.2022    3380    quazare    8    

Нюансы использования расширений применительно к процедурам, исполняющимся методом ВыполнитьВФоне (БСП)

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

Несколько нюансов при использовании расширений применительно к процедурам, исполняющимся методом ВыполнитьВФоне (БСП)

08.06.2022    1078    sergathome    27    

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

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

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

06.06.2022    4170    user1432326    5    

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

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

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

22.05.2022    6114    quazare    24    

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

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

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

15.05.2022    6454    quazare    4    

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

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

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

11.05.2022    7337    user1374747    19    

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

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

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

25.04.2022    8147    quazare    11    

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

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

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

20.04.2022    6863    Koder_Line    11    

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

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

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

01.04.2022    5855    quazare    14    

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

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

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

25.03.2022    1251    AlexeyRaevsky    7    

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

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

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

22.03.2022    5008    quazare    9    

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

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

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

07.03.2022    7799    vandalsvq    0    

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

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

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

02.02.2022    2681    serg61    4    

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

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

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

31.01.2022    5367    Shining_ninja    4    

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

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

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

20.12.2021    1354    Sergey1CSpb    5    

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

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

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

24.11.2021    15298    kalyuzhnyyp    28    

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

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

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

17.11.2021    5580    quazare    5    

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

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

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

11.11.2021    13933    quazare    15    

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

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

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

26.10.2021    5546    quazare    7    

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

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

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

17.08.2021    5595    maraty    14    

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

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

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

27.04.2021    29506    rayastar    8    

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

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

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

25.03.2021    78332    rayastar    55    

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

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

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

17.02.2021    19226    quazare    20    

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

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

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

09.01.2021    20323    quazare    25    

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

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

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

28.12.2020    2917    prog_mayskiyse    8    

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

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

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

22.11.2020    8539    ixijixi    8    

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

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

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

14.11.2020    4100    samvani    0