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