Универсальная пакетная печать документов / справочников для типовых конфигураций 1С 8.2 - 8.3

18.02.24

Задачи пользователя - Пакетная печать

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

Скачать файлы

Наименование Файл Версия Размер
Универсальная пакетная печать документов
.epf 19,99Kb
232
.epf 1.0 19,99Kb 232 Скачать
Универсальная пакетная печать документов для платформы от 8.3.24.1201
.epf 23,88Kb
0
.epf 23,88Kb Скачать
Расширение для УТ 11 исправляет ошибку печати Товарно-транспортная накладная (1-Т)
.cfe 5,94Kb
2
.cfe 5,94Kb 2 Скачать

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

А теперь с самого начала разберемся, как она работает по внутренностям.

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

#Область СобытияФормы

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	//Производим первоначальную инициализацию элементов при сохраненной настройке ВидОбъекта
	Если ЗначениеЗаполнено(ВидОбъекта) Тогда
		ВидДокументовПриИзмененииСервер();
	КонецЕсли;	
		
КонецПроцедуры

#КонецОбласти

#Область СобытияЭлементовФормы

&НаКлиенте
Процедура ВидДокументовПриИзменении(Элемент)
	
	ВидДокументовПриИзмененииСервер();
	
КонецПроцедуры

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

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

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

&НаКлиенте
Процедура Печать(Команда)
	
	Если Не ЗначениеЗаполнено(ВидОбъекта) Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Не заполнен вид документа / справочника";
		Сообщение.Поле = "ВидДокументов";
		Сообщение.Сообщить();
		Возврат;
	КонецЕсли;	
	
	СписокДокументов = ПолучитьДокументыПоДинамическомуСписку();
	
	СтрокиПечать = ПолучитьПараметрыПечатиСервер();
	
	ВыполнитьПечатьПоСпискуДокументовКлиент(СписокДокументов, СтрокиПечать);
	
КонецПроцедуры

&НаКлиенте
Процедура ПечатьВыделенные(Команда)
	
	Если Не ЗначениеЗаполнено(ВидОбъекта) Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Не заполнен вид документа / справочника";
		Сообщение.Поле = "ВидДокументов";
		Сообщение.Сообщить();
		Возврат;
	КонецЕсли;	
	
	СписокДокументов = Элементы.ТаблицаДокументов.ВыделенныеСтроки;	
	СтрокиПечать = ПолучитьПараметрыПечатиСервер();
	
	ВыполнитьПечатьПоСпискуДокументовКлиент(СписокДокументов, СтрокиПечать);
	
КонецПроцедуры

&НаКлиенте
Процедура СнятьВсе(Команда)	

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

&НаКлиенте
Процедура СохранитьНастройку(Команда)
	
	СохранитьНастройкиСервер();
	
КонецПроцедуры

#КонецОбласти

#Область ПрограмныйИнтерфейс

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

		Если Эл.Имя = "Номер" Тогда
			Продолжить;
		КонецЕсли;		
		
		Если Эл.Имя = "ПометкаУдаления" Тогда
			Продолжить;
		КонецЕсли;
		
		Если Эл.Имя = "Проведен" Тогда
			Продолжить;
		КонецЕсли;		
		
		Если Эл.Имя = "Владелец" Тогда
			Продолжить;
		КонецЕсли;			
		
		Если Эл.Имя = "Родитель" Тогда
			Продолжить;
		КонецЕсли;	
		
		Если Эл.Имя = "ЭтоГруппа" Тогда
			Продолжить;
		КонецЕсли;	
		
		Если Эл.Имя = "ПометкаУдаления" Тогда
			Продолжить;
		КонецЕсли;		
		
		Если Эл.Имя = "Предопределенный" Тогда
			Продолжить;
		КонецЕсли;			
		
		Если Эл.Имя = "ИмяПредопределенныхДанных" Тогда
			Продолжить;
		КонецЕсли;		
		
		НоваяКолонкаТаблицы = Элементы.Добавить(Эл.Имя, Тип("ПолеФормы"), Элементы.ТаблицаДокументов);    
		НоваяКолонкаТаблицы.ПутьКДанным = "ТаблицаДокументов." + Эл.Имя;

		Если Эл.Имя = "Ссылка" Тогда
			Если ДанныеОбъекта.ТипОбъекта = "Документы" Тогда
				НоваяКолонкаТаблицы.Заголовок = "Документ"; 
			ИначеЕсли ДанныеОбъекта.ТипОбъекта = "Справочники" Тогда 
				НоваяКолонкаТаблицы.Заголовок = "Справочник"; 
            Иначе 
				НоваяКолонкаТаблицы.Заголовок = ДанныеОбъекта.ТипОбъекта; 				
            КонецЕсли;							
		КонецЕсли;		
		
	КонецЦикла;	
	
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПечатныеФормыНаСервере()
	
	ПечатныеФормы.Очистить();    	
	
	ТаблКомандПечати = ПолучитьКомандыПечатиСервер(ВидОбъекта);
		
	ВосстановитьНастройку(ТаблКомандПечати);
	
КонецПроцедуры

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

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

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

//Выполняем печать испольуя сначала функцию УправлениеПечатьюСлужебныйКлиент 
//в случае выдачи исключительной ситуации заполняем ОписаниеКоманды.Обработчик,
//для печатный форм не из менеджера объекта производим печать вызывая ПроизвестиПечатьИзОткрытыхОкон
&НаКлиенте
Процедура ВыполнитьПечатьПоСпискуДокументовКлиент(СписокДок, СтрокиПечать) 

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

			Отказ = Ложь;
			
			Попытка
				УправлениеПечатьюСлужебныйКлиент.ОбработчикКоманды(ОбъектыПечати, СтрПечФорма);
				ПроизвестиПечатьИзОткрытыхОкон(СписокОконДоПечати, СтрПечФорма.Количество);
			Исключение
				Отказ = Истина;
			КонецПопытки;
			
			Если Отказ Тогда
				
				СтрПечФорма.ОписаниеКоманды.Обработчик = ОбработчикПечати;	
				
				Попытка
					УправлениеПечатьюСлужебныйКлиент.ОбработчикКоманды(ОбъектыПечати, СтрПечФорма);			
				Исключение
					Сообщить("При печати печатной формы" 
					+ СтрПечФорма.Представление 
					+ " по документу "
					+ Строка(Эл) 
					+ " возникла ошибка: " 
					+  ОписаниеОшибки());
				КонецПопытки;
				
				ПроизвестиПечатьИзОткрытыхОкон(СписокОконДоПечати, СтрПечФорма.Количество);
				
			КонецЕсли;				
			
		КонецЦикла;	
		
	КонецЦикла;
			
КонецПроцедуры

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

//Разделяя строку ВидОбъекта через . получаем ИмяОбъекта и ТипОбъекта
&НаСервереБезКонтекста
Функция ПолучитьДанныеВидаОбъекта(Знач ВидОбъекта)
	
	РазделеннаяСтрокаВидаОбъекта = СтрРазделить(ВидОбъекта, ".");
	
	Если РазделеннаяСтрокаВидаОбъекта.ВГраница() < 1 Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Перевыберите вид документа / справочника";
		Сообщение.Поле = "ВидОбъекта";
		Сообщение.Сообщить();
		Возврат Неопределено;
	КонецЕсли;	
	
	ТипОбъекта = РазделеннаяСтрокаВидаОбъекта[0];	
	
	Если ТипОбъекта = "Справочник" Тогда
		ТипОбъекта = "Справочники";
	ИначеЕсли ТипОбъекта = "Документ" Тогда
		ТипОбъекта = "Документы";
	КонецЕсли;	
	
	ИмяОбъекта = РазделеннаяСтрокаВидаОбъекта[1];
	
	СтруктураРезультат = Новый Структура("ТипОбъекта, ИмяОбъекта",
	ТипОбъекта, ИмяОбъекта);
	
	Возврат СтруктураРезультат;
	
КонецФункции	

#КонецОбласти

#Область НастройкиПользователя

//Сохраним настройки ПечатныеФормы в ХранилищеОбщихНастроек
&НаСервере
Процедура СохранитьНастройкиСервер()
	
	ТаблПечатныеФормы = ПечатныеФормы.Выгрузить();
	
	ХранилищеОбщихНастроек.Сохранить("УниверсальнаяПакетнаяПечатьДокументов",
	ВидОбъекта,
	ТаблПечатныеФормы);		
	
КонецПроцедуры		

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

&НаСервере
Процедура ТаблицаДокументовПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка)
	
	Элементы.ТаблицаДокументов.СоздатьЭлементыФормыПользовательскихНастроек(Элементы.СписокКомпоновщикНастроекПользовательскиеНастройки,
	РежимОтображенияНастроекКомпоновкиДанных.БыстрыйДоступ);

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

//Сохраним в ХранилищеПользовательскихНастроекДинамическихСписков ПользовательскиеНастройки для ТаблицаДокументов
&НаСервере
Процедура ТаблицаДокументовПриСохраненииПользовательскихНастроекНаСервере(Элемент, Настройки)
	
	Если ЗначениеЗаполнено(ТаблицаДокументов.КлючТекущихПользовательскихНастроек) Тогда
		ХранилищеПользовательскихНастроекДинамическихСписков.Сохранить("УППД", 
		ТаблицаДокументов.КлючТекущихПользовательскихНастроек,
		ТаблицаДокументов.КомпоновщикНастроек.ПользовательскиеНастройки, 
		, 
		ПараметрыСеанса.ТекущийПользователь);	
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПечатныеФормыПриИзменении(Элемент)
	
	СохранитьНастройкиСервер();
	
КонецПроцедуры

//Скопируем строчку печатной формы и сохраним настройки
&НаКлиенте
Процедура СкопироватьПечатнуюФорму(Команда)
	
	ТекСтр = Элементы.ПечатныеФормы.ТекущиеДанные;
	
	Если ТекСтр = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	НоваяСтрока = ПечатныеФормы.Вставить(ПечатныеФормы.Индекс(ТекСтр) + 1);
	ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтр);
	
	СохранитьНастройкиСервер();
	
КонецПроцедуры

//Удалим строчку печатной формы и сохраним настройки
&НаКлиенте
Процедура УдалитьПечатнуюФорму(Команда)
	
	ТекСтр = Элементы.ПечатныеФормы.ТекущиеДанные;
	
	Если ТекСтр = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ИндексТекущейСтроки = ПечатныеФормы.Индекс(ТекСтр);
	
	Отб = Новый Структура("Идентификатор, Представление");
	
	ЗаполнитьЗначенияСвойств(Отб, ТекСтр);
	
	НайденныеСтроки = ПечатныеФормы.НайтиСтроки(Отб);
	
	Если НайденныеСтроки.Количество() < 2 Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Последняя строчка печатной формы не удаляется";
		Сообщение.Поле = "ПечатныеФормы[" + Формат(ИндексТекущейСтроки, "ЧГ=0") + "]";
		Сообщение.Сообщить();
		Возврат;
	КонецЕсли;	
	
	ПечатныеФормы.Удалить(ИндексТекущейСтроки);
	
	СохранитьНастройкиСервер();
	
КонецПроцедуры

#КонецОбласти

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

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.5.13.109

Печатаем полной пачкой на принтер

См. также

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7297    21    6    

39

Программа групповой печати чеков ККМ Атол и Штрих из текстового файла, поддержка 54-ФЗ от 01.07.19

Пакетная печать ККМ Кассовые операции Загрузка и выгрузка в Excel Россия Бухгалтерский учет Платные (руб)

Предназначена для групповой печати чеков. Что печатать в теле чека описано в текстовом файле с разделителем запятая (CSV) Подходит для любого языка программирования который умеет записывать в текстовый файл

2000 руб.

26.07.2019    24960    38    17    

23

Групповая печать чеков из банковской выписки с настройкой (БП 3.0)

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

Обработка для групповой печати чеков ККМ с настройкой, загруженных из банковской выписки. На основании документа Поступление на расчетный счет!

4800 руб.

21.08.2019    19817    69    10    

23

Журнал учета ТТН (исходящих и от поставщика) для Бухгалтерии предприятия, редакция 3.0

Пакетная печать Документооборот и делопроизводство (СЭД) Оптовая торговля Печатные формы Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка содержит новую форму Транспортной накладной с 01.01.2021 г. (в ред. Постановления Правительства РФ от 30.11.2021 № 2116) В отличие от внешних печатных форм, подключаемых к документу реализации, позволяет вести отдельный журнал документов. Дополнительным преимуществом является возможность формирования документов за поставщика.

2280 руб.

15.04.2014    52564    50    50    

38

Групповая пакетная печать документов "Реализация товаров и услуг" и связанных с ними "Счетов-фактур"

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

Работаете с сетями, у каждой из которых свои требования к оформлению документов? Клиент попросил перепечатать документы за год? Печатаете по 100-500 документов в день, тогда эта обработка Вам просто необходима. Данная обработка позволит Вам сэкономить время при больших объемах печати документов по отгрузке товаров и не только.

1000 руб.

29.09.2016    35801    20    5    

22

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

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

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

2 стартмани

22.08.2023    2071    21    progmaster    7    

3

Пакетная выгрузка стандартных бухгалтерских отчетов

Пакетная печать Регламентированный учет и отчетность Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Быстрое формирование сразу нескольких видов стандартных бухгалтерских отчетов - .Анализ счета, Карточка счета, Оборотно-сальдовая ведомость по счету, Отчет по проводкам. В периоды проведения проверок со стороны ФНС в деятельности предприятий часто возникает необходимость предоставления сведений из бухгалтерского учета. Обработка сократит время на формирование отчетов бухгалтеру.

6000 руб.

30.03.2023    6076    4    0    

6

Печать на стороне сервера при помощи Ghostscript

Инструментарий разработчика Пакетная печать Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пример выполнения печати на принтер на сервере 1С используя библиотеку Ghostscript

1 стартмани

17.10.2022    4020    19    prog-1s    1    

8
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. LavinVladik 214 07.01.16 05:15 Сейчас в теме
не мешало бы добавить , флаг для выбора документов в левом окне

на
1С:Предприятие 8.3 (8.3.6.2390)
Бухгалтерия предприятия, редакция 3.0 (3.0.41.51

выдает ошибку
{ОбщийМодуль.УправлениеПечатью.Модуль(1274)}: При формировании печатной формы "УниверсальныйПередаточныйДокумент" возникла ошибка. Обратитесь к администратору.
{ОбщийМодуль.УправлениеПечатью.Модуль(1274)}: При формировании печатной формы "СчетФактура" возникла ошибка. Обратитесь к администратору.

если раскопаю в чем причина дополнительно напишу
2. Free_Danial 53 07.01.16 14:37 Сейчас в теме
Спасиб за комментарий.
Баги пификсены, модератор скоро выложит свежую версию.
Флаг для выбора документов ожидает скоро в новых версиях.
3. spec8s 825 07.01.16 19:52 Сейчас в теме
4. LavinVladik 214 07.01.16 23:20 Сейчас в теме
(3) spec8s,

наверно в этом
"UPD: Для Бухгалтерии 3.0 обработки не будет, ввиду ограничения самой конфигурации."
5. jobkostya1c_ERP 100 31.05.16 12:34 Сейчас в теме
Плюс автору что не поленился описать типовые алгоритмы для пакетной печати. Сейчас сам думаю как лучше начать. Надо чтоб для БП 2.0 было, но на управляемой форме и чтоб безболезненно перевести на БП 3.0. Пока надо изучить типовые механизмы.
6. gitty 1 09.11.18 06:18 Сейчас в теме
в обработке, которую я скачала есть только две кнопки печати, ни выбора документа/справочника ни выбора печатных форм, какой смысл было выкладывать это для скачивания?
11. Free_Danial 53 05.07.21 15:36 Сейчас в теме
выбор типа документа при открытии вначале, обратиться можете в скайп в демонстрации покажу как пользоваться
7. ys_2008 15 11.03.20 16:54 Сейчас в теме
Плюсую - спасибо большое. Кучу времени сэкономило.
8. Letos 266 29.06.21 23:33 Сейчас в теме
Как можно напечатать список документов, но с сортировкой указанной на форме?
Дело в том что при печати печатные фомры сортируются по Дате документа, а не по у казанной сортировке.
9. Letos 266 05.07.21 10:45 Сейчас в теме
(8) В БУХ 3.0 на 05.07.2021 это сделать не возможно. Нужно редактировать тексты запросов которые получаются при печати. Чаще всего они находятся в МодулеМенеджера, документа который вы печатаете и имеют название, что-то тип: ТекстЗапросаПечать[Название печатной формы]. В этом тексте установлена сортировка по Дате.
12. Free_Danial 53 05.07.21 15:53 Сейчас в теме
Версия с возможностью печати по сортировке из списка скоро будет выложена, на данный момент находится на модерации.
10. Free_Danial 53 05.07.21 14:57 Сейчас в теме
На конфигурациях где возможна реализация печати по сортировке из списка в скором времени будет реализована печать с сортировкой из списка
13. Free_Danial 53 21.08.21 11:06 Сейчас в теме
Выложена новая версия с реализованной сортировкой из списка, добавлением возможности сохранения настроек.
14. Free_Danial 53 10.10.21 12:00 Сейчас в теме
Как считаете, потребуется ли кому нибудь, указание количества печатных форм перед печатью?
15. Winlin 17.01.22 04:14 Сейчас в теме
Обработка группирует печатные формы по документу? Т.е. на принтер отправляет как штатная при массовой печати, сначала все упд потом все накладные, например. Или по каждому документу свой набор, упд+накладная, упд+накладная и т.д. ?
16. Free_Danial 53 17.01.22 08:27 Сейчас в теме
Печатает по документы сначала все печатные формы, потом по другому документу.
17. Winlin 02.02.22 04:03 Сейчас в теме
(16)
Печатает по документы сначала все печатные формы, потом по другому документу.

не могу написать в личные. Можете ответить на почту
rr.yy.88Собакаbk.ru ?
18. Free_Danial 53 02.02.22 07:59 Сейчас в теме
(17)сначала печатает все выбранные печатные формы по одному документу, потом все выбранные печатные формы по другому документу т.е. берется один документ для него все печатается и переходится к другому документу
19. Winlin 02.02.22 10:42 Сейчас в теме
Это я понял :) . Просто связаться хотел, чтобы не писать тут.
20. Winlin 04.02.22 15:17 Сейчас в теме
Не подскажите в чем может быть проблема. Встроенные печатные формы при флаге "Сразу на принтер" уходят сразу на печать, а вот внешние вызывают диалог выбора принтера, и печатают по одному экземпляру, вызывая диалог выбора принтера столько раз , сколько задано экземпляров.
Из встроенной в УТ пакетной печати все уходит сразу на принтер.
22. Free_Danial 53 04.02.22 19:25 Сейчас в теме
(20)можете ли прислать образец вашей печатной формы под нее отлажу пакетную печать
21. Winlin 04.02.22 15:50 Сейчас в теме
Пока вышел из положения так. Настроил встроенный комплект печати и его уже отправляю из обработки. Печатает все сразу на принтер.
23. Winlin 05.02.22 04:48 Сейчас в теме
24. Free_Danial 53 10.02.22 18:40 Сейчас в теме
(23)В обработке устранен недостаток по лишнему вызову диалога выбора принтера, новая версия на модерации и скоро будет доступна для скачивания.
25. Free_Danial 53 10.02.22 18:41 Сейчас в теме
(23)Спасибо вам за обращение, обратная связь от вас помогает улучшать обработку.
26. Вова 108 17.03.22 23:47 Сейчас в теме
Добрый вечер, подскажите, (24). Если при печати поставить, например, Товарных накладных -2 шт. Счет фактура -2 шт. они в таком же порядке и на принтере распечатаются?
29. Free_Danial 53 19.03.22 10:05 Сейчас в теме
(26)Печать будет порядке указания сначала все печатные формы формы по одному документу потом все печатные формы по другому документу.
27. Вова 108 18.03.22 18:40 Сейчас в теме
Значение не является значением объектного типа (Имя)
{ВнешняяОбработка.УниверсальнаяПакетнаяПечатьДокументов.Форма.Форма.Форма(314)}: КомандыПечатиФормы = УправлениеПечатью.КомандыПечатиФормы(ВидОбъекта + ".Форма." + ФормаОбъекта.Имя);
{ВнешняяОбработка.УниверсальнаяПакетнаяПечатьДокументов.Форма.Форма.Форма(258)}: ТаблПечать = ПолучитьКомандыПечатиСервер(ВидОбъекта);
{ВнешняяОбработка.УниверсальнаяПакетнаяПечатьДокументов.Форма.Форма.Форма(53)}: ЗаполнитьПечатныеФормыНаСервере();
{ВнешняяОбработка.УниверсальнаяПакетнаяПечатьДокументов.Форма.Форма.Форма(32)}: ВидДокументовПриИзмененииСервер();
В чем проблема, подскажите?
28. Free_Danial 53 19.03.22 10:04 Сейчас в теме
(27)Проблема с документом, какая у вас конфигурация и какой документ выбираете?
30. Free_Danial 53 19.03.22 10:09 Сейчас в теме
(27)Можете мне в личку написать адаптирую обработку под вас.
Вова; +1 Ответить
31. Вова 108 20.03.22 00:55 Сейчас в теме
32. Free_Danial 53 20.03.22 12:55 Сейчас в теме
Ошибка исправлена, публикация на модерации и скоро будет доступна для скачивания.
Вова; +1 Ответить
33. Free_Danial 53 20.03.22 15:30 Сейчас в теме
Вышла новая версия с исправленным порядком печати при печати сразу на принтер.
Вова; +1 Ответить
34. Sanario 26 23.03.22 21:27 Сейчас в теме
Работает только для встроенных печатных форм? Или внешние подхватывать может?
35. Free_Danial 53 24.03.22 09:34 Сейчас в теме
(34)Внешние тоже подхватывает
36. JuLyAk 23.05.22 07:57 Сейчас в теме
Здравствуйте, в Унф 1.6.25.166 выдает ошибку Метод объекта не обнаружен (ВыполнитьПодключаемуюКомандуПечатиЗавершение)
37. Free_Danial 53 23.05.22 18:48 Сейчас в теме
(36)Добрый вечер. Что печатаете, из какого документа?
38. JuLyAk 26.05.22 07:55 Сейчас в теме
Здравствуйте, разобралась спасибо, а можно как то отборы задавать не через "Еще" а вытащить на форму сразу например по организациями?
39. Free_Danial 53 28.05.22 12:01 Сейчас в теме
(38)Добрый день. Добавление отборов в процессе реализации.
40. Free_Danial 53 28.05.22 19:18 Сейчас в теме
(38)Добрый вечер. Добавлена возможность помещать настройки в быстрый доступ.
41. JuLyAk 06.07.22 09:23 Сейчас в теме
Здравствуйте, подскажите пожалуйста каким образом можно в табличной части вывести столбцы помимо даты и номера еще например контрагента и сумму документа?
42. Free_Danial 53 08.07.22 21:20 Сейчас в теме
(41)Добрый вечер. Возможность добавления пользователями колонок в список на реализации и ожидается в следующих релизах.
43. Free_Danial 53 09.07.22 14:26 Сейчас в теме
(41)Выпущена новая версия в ней через Еще - Изменить форму - Встать на документ или справочник - Добавить поля, сможете добавлять реквизиты документов или справочников в форму списка.
44. Vitvarg51 30.11.22 09:37 Сейчас в теме
Добрый день! Подскажите, можно ли в Вашей обработке задавать определённую последовательность выводимых на печать документов?
45. Free_Danial 53 01.12.22 11:19 Сейчас в теме
(44) Ожидается в будущих версиях
46. Free_Danial 53 04.12.22 16:23 Сейчас в теме
(44)Выпушена свежая версия с возможностью менять порядок печатных форм, так же возможно отсортировать документы в настройках списка.
47. leriko 3 05.12.22 09:46 Сейчас в теме
Добрый день! Очень просят пользователи такой порядок документов: УПД, Сертификаты, Транспортная накладная и ещё раз УПД. А можно в обработке доработать возможность добавления в список печатной формы повторно?
48. Free_Danial 53 05.12.22 19:09 Сейчас в теме
(47)Добрый вечер. Возможно получится реализовать в будущих версиях.
49. Free_Danial 53 25.12.22 11:22 Сейчас в теме
(47)Доброе утро!
В новой версии добавлена возможность произвольной настройки порядка печатных форм.
50. AlexK_2012 27.01.23 16:52 Сейчас в теме
Добрый день! Подскажите можно ли как-то сделать чтобы каждый документ из массива документов отдельно на принтер отправлялся?
Этой обработкой или типовой функционал доработать.

Конфигурация БП
Есть проблема с друхсторонней печатью.
Пример:
Печатают 2шт ТОРГ12 по 3 страницы, контрагент один, грузополучатели разные, в результате печатается 3 листа, а нужно чтобы получилось 4, т.е. 1лист - стр 1+2, 2 лист - стр 3, 3й лист - стр 1+2, 4й лист - стр 3.
52. Free_Danial 53 29.01.23 12:55 Сейчас в теме
(50)Выложена новая версия с добавленной настройкой по документной печати для отправки на печать версий печатных форм по отдельности.
51. Free_Danial 53 28.01.23 16:47 Сейчас в теме
(50) Добрый день. На данный момент каждый документ вызывается на печать отдельно, при этом количество различных копий объединяется в пакет печати, вероятно у вас количество экземпляров более 1 и при объединении в пакет происходит некорректная печать. Можно проверить, точно ли при объединении нескольких экземпляров происходит ошибочное объединение в пакет напечатав один документ с несколькими экземплярами, если в этом месте ошибка то можно добавить отправку на печать каждого экземпляра отдельно в обработке или разобраться в БСП конфигурации или платформе где ошибка.
53. ELbailador 30.01.23 12:49 Сейчас в теме
Здравствуйте. В вашей обработке имеется возможность сохранять печатную форму документов в файлы без открытия самой печатной формы. Скажем пакетное сохранение документов в pdf ?
64. Free_Danial 53 18.02.24 16:53 Сейчас в теме
(53) Добрый день. Выпущена версия обработки "Универсальная пакетная печать документов для платформы от 8.3.24.1201" с возможностью настройки печати с сохранением в каталог.
54. Free_Danial 53 31.01.23 09:02 Сейчас в теме
(53) На данный момент такого функционала нет, в будущих версиях возможно появится.
55. skylinegtr 02.10.23 14:09 Сейчас в теме
Добрый день
В свежих версиях БСП формирование печатных форм выполняется в фоне, из-за этого обработка перестала отправлять печатные формы сразу на принтер. Подскажите, вы планируете дорабатывать обработку под новые версии БСП, чтобы можно было выводить доки сразу на принтер?
57. Free_Danial 53 07.10.23 16:17 Сейчас в теме
(55)Добрый день.
В какой версии БСП у вас не отправляется на принтер?
У вас проблема с типовой конфигурацией или самописная на основе БСП?
58. skylinegtr 07.10.23 16:59 Сейчас в теме
(57)Добрый день
типовой ЗУП КОРП. Проблема в том, что теперь сначала вылазит окошко длительной операции "Подготовка печатных форм. Пожалуйста, подождите...", и обработка пытается "распечатать" табличный документ из него и вываливается в исключение на строке ФормаОткрытая.Копий = ЧислоЭкземпляров
59. Free_Danial 53 07.10.23 18:45 Сейчас в теме
(58)А на какой печатной форме какого документа ошибка?
60. skylinegtr 08.10.23 03:41 Сейчас в теме
(59)на любой печатной форме любого документа при установленной галке "на принтер" документ не выводится на принтер. Печатная форма просто отображается на экране. Версия зупа 3.1.27.90, но повторюсь, что это из-за БСП и фоновой печати документов
63. Free_Danial 53 16.10.23 13:46 Сейчас в теме
Обработка адаптирована для печати фоновом режиме, после прохождения модерации будет доступна для скачивания.
56. Free_Danial 53 02.10.23 19:24 Сейчас в теме
(55) Добрый день.
В будущих версиях обработки планируется адаптация под новые версии БСП функционала печати сразу на принтер.
61. skylinegtr 09.10.23 11:33 Сейчас в теме
62. Free_Danial 53 15.10.23 21:52 Сейчас в теме
(60)Обработка адаптирована для печати фоновом режиме, после прохождения модерации будет доступна для скачивания.
Оставьте свое сообщение