Как запросить данные у юзера перед печатью

1. Vitaly1C8 26.10.20 15:58 Сейчас в теме
Добрый день !
Подскажите как правильно запросить данные у юзера перед печатью ?!
в МодульМенеджера Документа я добавляю "свой пункт меню" для печати
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
// В.Ч. Счет-фактура с выбранной подписью
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.МенеджерПечати = "Обработка.ПечатьОбщихФорм";
	КомандаПечати.Идентификатор = "СчетФактура";
	КомандаПечати.Представление = НСтр("ru = 'Счет-фактура с выбранной подписью';
										|en = 'Tax invoice'");
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	КомандаПечати.ДополнительныеПараметры.Вставить("ПечатьВВалюте", Ложь);
	КомандаПечати.ДополнительныеПараметры.Вставить("вчСВыбраннойПодписью", Истина);	// <-------------------------
	КомандаПечати.Порядок = 2;
	// В.Ч. Счет-фактура с выбранной подписью -------------------------------------------------------------------
Показать


Мне необходимо после того как юзер выберет этот пункт меню: запросить у него "Подпись"
вчПараметрыПечати = Новый Структура;		// В.Ч. запрашиваем значение вчВыбраннаяПодпись
	Если ПараметрыПечати.Свойство("вчСВыбраннойПодписью") Тогда
		вчВыбраннаяПодпись = Справочники.ОтветственныеЛицаОрганизаций.ПустаяСсылка();
		Если ВвестиЗначение(вчВыбраннаяПодпись,"Выберите подпись ответственного лица") Тогда		
			вчПараметрыПечати.Вставить("вчВыбраннаяПодпись", вчВыбраннаяПодпись);
		КонецЕсли;
	КонецЕсли;

Вопрос: где мне надо это сделать ?
Потому как в МодульМенеджера документа пишет ошибку
Процедура или функция с указанным именем не определена "ВвестиЗначение" (Проверка: Сервер)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AnryMc 849 26.10.20 16:38 Сейчас в теме
(1)
Процедура или функция с указанным именем не определена "ВвестиЗначение" (Проверка: Сервер)


Интерактивная команда доступная на клиенте у пользователя, соответственно не доступна на сервере...
3. ixijixi 1801 26.10.20 16:48 Сейчас в теме
(2) Кэп, мое почтение)
(1) Добавьте доп. реквизит в документ.
4. AnryMc 849 26.10.20 16:51 Сейчас в теме
(3)
Кэп,


Почему???

Может Командер???
5. ixijixi 1801 26.10.20 17:15 Сейчас в теме
(4) Можно, но Капитан Очевидность более уместен)
12. AnryMc 849 28.10.20 09:36 Сейчас в теме
(5)
но Капитан Очевидность более уместен)


Судя по вопросу в (0)
Потому как в МодульМенеджера документа пишет ошибку
Процедура или функция с указанным именем не определена "ВвестиЗначение" (Проверка: Сервер)


Человек ещё не "врубился" в разделение клиент/сервер - на что я и обратил его внимание...

А конкретного совета не даю, т.к. он зависит от многих входящих условий... как методологических, так и технологических...
6. serg1234 92 26.10.20 17:30 Сейчас в теме
(1) Самый простой способ, это добавить кнопку на форму по которой будет открываться окно ввода информации, а потом печать.

Но если хочется через меню печати, тогда нужно будет корректировать типовые модули для печати.
7. user1464234 26.10.20 17:35 Сейчас в теме
Типовые модули печати рассчитаны на пакетную печать (списка объектов). Предположим, что вводится один вопрос за всех, а затем распечатка.
8. FatPanzer 26.10.20 17:42 Сейчас в теме
Использовать клиентский обработчик печати...
Если НЕ готовы отредактировать типовую - добавить форму для внешней печатной формы и в модуле формы расположить клиентскую экспортную процедуру с именем обработчика, в которой вы вольны работать с интерактивными инструментами. А потом
КомандаПечати.МенеджерПечати = "ВнешняяОбработка.ИмяМоейОбработки";
КомандаПечати.Обработчик = "МойОбработчик";
Если готовы отредактировать типовую - добавьте в модуль основной формы обработки ПечатьОбщихФорм свой экспортный клиентский метод. А потом
КомандаПечати.МенеджерПечати = "Обработка.ПечатьОбщихФорм";
КомандаПечати.Обработчик = "МойОбработчик";

Подробнее - в документации по БСП.

Но учтите, что такие печатные формы нельзя использовать для печати комплектов... Вроде бы.
Vitaly1C8; +1 Ответить
9. KVIKS 400 26.10.20 21:46 Сейчас в теме
Принцип печати в БСП следующий: по кнопке формируется структура параметров для печати, типа какую кнопку нажал, какой макет, какой обработчик печати и пр. Затем есть общая форма "Печать документов", в нее передается структура параметров. "При создании на сервере" вызывается процедура СформироватьПечатныеФормы(ИменаМакетов, Отказ). Проблема в том что все это серверная часть и вклинить вывод диалога проблематично.
Можно проверить какой макет печатается и тогда притормозить процедуру "При создании на сервере", В процедуре "При открытии" (на клиенте) отработать выбор и потом уже отрабатывать СформироватьПечатныеФормы.
Я делал по другому - в печатной форме оставлял место под скан подписи. процедуру печати "При создании на сервере" отрабатывал стандартно, При открытии проверял что за макет и если надо запрашивал подпись и вставлял ее уже в готовый выведенный на форме табдок.
Vitaly1C8; +1 Ответить
10. FatPanzer 26.10.20 22:20 Сейчас в теме
(9) В команде печати есть свойство "Обработчик". Если его использовать, то БСП будет использовать не Печать() из модуля менеджера печати общих форм, а клиентский обработчик печати...
Прикрепленные файлы:
Vitaly1C8; +1 Ответить
11. user633533_encantado 11 27.10.20 09:33 Сейчас в теме
Я бы сделал внешнюю печатную форму с типом команды открытие формы. При открытии формы я бы запрашивал нужные параметры и уже формировал печатную форму.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот