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