Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 03:04

Вызов команды Печать

Автор ppkmlite, 12 ноя 2018, 19:29

0 Пользователей и 1 гость просматривают эту тему.

ppkmlite

здравствуйте.
Пытаюсь создать печатную форму(учебный вариант) и вызвать ее через команду.
Не появляется в пользовательском режиме кнопка печать.
в модуле менеджера
роцедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

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


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


В модуле объекта
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма)

КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)

УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект)

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

Кнопки нет форме все равно

ppkmlite

Добавила команду на форму,
&НаСервере
Функция ПечатьпечатнойформыНаСервере()   
табдок = новый табличныйдокумент;   
ЭтотОбъект=РеквизитФормыВЗначение("Объект");

Макет = ЭтотОбъект.ПолучитьМакет("Макет");
       
Запрос = НОвый Запрос;

., теперь ошибка Поле объекта недоступно для записи (ЭтотОбъект)

oleg-x

"ЭтотОбъект=" убери, это лишнее
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Norfolk

1) если добавляете команду, то нужно назначить пользователю возможность использовать данную команду. Ветка "Роли": нажимаете правую кнопку и выбираете "Все роли". Далее находите свою команду у документа и галочку ставите у пользователя на просмотр.
2) никогда не называйте таким образом переменные. У вас "ЭтотОбъект" - это форма. Назвовите переменную ДокОб, к примеру.

Kamor

Пропишите свой документ в общем модуле "УправлениеПечатьюПереопределяемый"
Вот это в модуле пишите:
Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт

СписокОбъектов.Добавить(Документы.СобытиеСотрудника);

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


А это пример из модуля менеджера документа

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати                 = "Документ.СобытиеСотрудника";
КомандаПечати.Идентификатор                  = "Акт передачи товаров";
КомандаПечати.Представление                  = НСтр("ru = 'Акт передачи товаров'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;

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

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

Для каждого стр из КоллекцияПечатныхФорм цикл
ПроверкаПечатнаяФорма = стр.имямакета;
КонецЦикла;

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

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

Функция ПечатьМакета(МассивОбъектов, ОбъектыПечати)

КонецФункции // ПечатьДокумента()



oleg-x

//Если все это нужно чтобы получить макет, то сделай по другому
ЭтотОбъект=РеквизитФормыВЗначение("Объект");
Макет = ЭтотОбъект.ПолучитьМакет("Макет")

//Так:
Макет = ДокументОбъект.ПолучитьМакет("Макет"); //ОтчетОбъект, если это отчет а не документ.
//Либо еще можно так:
Макет = Документы.НужныйДокумент.ПолучитьМакет("Макет");
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск