Здравствуйте. Помогите пожалуйста. Есть впф для медосмотров, печатается из физ.лица( конф зуп 3.1), как сделать, чтобы у пользователя была возможность выбрать макет формы, который должен печататься( их всего 3, данные одни и те же, просто разное оформление. делать 3 разные печатных формы отдельно не вариант, нужно как то все в 1 запихать) Уже подготовила макеты, только теперь не знаю как правильно сделать, чтобы их можно было выбрать.. ну прикреплю часть с печатью, на всякий случай..
&НаКлиенте
Процедура ПечатьОтладка(Команда)
МассивДанных = Новый Массив;
МассивДанных.Добавить(Объект.СсылкаНаОбъект);
СформироватьПечатнуюФорму(МассивДанных);
КонецПроцедуры
&НаКлиенте
Процедура СформироватьПечатнуюФорму(ОбъектыНазначения)
СсылкаНаОбъект = ОбъектыНазначения[0];
п_Организация = ПолучитьОрганизацию();
Если ТипЗнч(п_Организация) = Тип("СписокЗначений") Тогда
//п_Организация = п_Организация.ВыбратьЭлемент();
п_Организация = п_Организация[0].Значение;
КонецЕсли;
СтруктураПараметров = ПолучитьСтруктуруПараметров(СсылкаНаОбъект, п_Организация);
НазваниеФайла = ПолучитьИмяВременногоФайла("doc");
ДанныеФормы = Объект;
МакетОбъект = ПолучитьМакетНаСервере("Макет1");
МакетОбъект.Записать(НазваниеФайла);
mWordObject = Новый COMObject("Word.Application");
Попытка
WordDoc = mWordObject.Documents.Add(НазваниеФайла);
Исключение
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = ОписаниеОшибки();
Сообщение.Сообщить();
КонецПопытки;
Если СтруктураПараметров = Неопределено Тогда
ТекстСообщения = НСтр("ru = 'Нет данных для печати. Обратитесь к Администратору 1С'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
Возврат;
КонецЕсли;
Попытка
ЗаполнитьПараметрыТрудовогоДоговора(WordDoc, СтруктураПараметров);
mWordObject.Application.Visible = Истина;
mWordObject.Application.WindowState = 2;
mWordObject.Application.WindowState = 1;
mWordObject.Activate();
Исключение
// Если произойдет ошибка, выводятся данные об ошибке и объект закрывается.
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = ОписаниеОшибки();
Сообщение.Сообщить();
mWordObject.Application.Quit();
КонецПопытки;
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьПараметрыТрудовогоДоговора(Документ, СтруктураПараметров)
wdReplaceNone = 00000000;
wdReplaceOne = 00000001;
wdReplaceAll = 00000002;
Замена = Документ.Content.Find;
Замена.Execute("[НаименованиеОрганизацииПолное]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметров.НаименованиеОрганизацииПолное));
//
Замена = Документ.Content.Find;
Замена.Execute("[НаименованиеОКВЭД]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметров.НаименованиеОКВЭД));
Замена = Документ.Content.Find;
Замена.Execute("[АдресОрганизации]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметров.АдресОрганизации));
// Замена = Документ.Content.Find;
//Замена.Execute("[АдресЭП]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметров.АдресЭП));
Замена = Документ.Content.Find;
Замена.Execute("[ФизическоеЛицо]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СокрЛП(СтруктураПараметров.ФизическоеЛицо)));
Замена = Документ.Content.Find;
Замена.Execute("[ДатаРождения]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СокрЛП(СтруктураПараметров.ДатаРождения)));
КонецПроцедуры
#КонецОбласти
#Область ОсновныеПроцедурыИФункции
&НаКлиенте
Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт
СформироватьПечатнуюФорму(МассивОбъектов);
КонецПроцедур
ПоказатьПо теме из базы знаний
- Штрихкодирование документов бухгалтерии - обмен данными "Бухгалтерия предприятия" - "Документооборот"
- ВПФ УПД + ИСФ + Корректировочный счет-фактура для документа Корректировка реализации
- Несколько команд печати у одной внешней печатной формы для разных вариантов отчета для документа Поступление товаров конфигурации Розница 2.2
- API-интеграция 1С с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress для УТ11, КА2, ERP2, УНФ, БП3, Розница, УТ10, УПП1.3
- Печать договора поставки из документа Заказ покупателя (Розница 2.2 - 2.3)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот