Вывод диалога с выбором данных из справочника и даты перед открытием макета печатной формы

1. Arkadag 23.02.19 17:07 Сейчас в теме
Приветствую, форумчане!
1с8.3.6, УФ, самописная

Имеется некий макет печати Акта выполненных работ. В Акте имеются параметры "Город" и "ДатаСоставления"

Как можно перед печатью вывести немодальное окно, где будет спрашиваться выбор города из справочника и дату составления акта???

ВвестиДату, ВвестиСтроку и т.д. крайне неудобны. Ну я не смог их понять, а нужно именно, чтобы запрашивалось 2-а параметра, которые потом бы смогли уйти на макет.

Кроме того, нужно выбрать именно из справочника значение города

Печеть расположена в модуле Менеджера

Функция ПечатьАктаПриемаУслугПоУстановкеИзделия(МассивОбъектов, ОбъектыПечати)
    
    ////ОткрытьФорму("Документ.Заказ.Форма.ФормаОтбора");
    //ДатаАкта = ТекущаяДата();
    //Если
    //    ВвестиДату(ДатаАкта, "Введите дату подписания акта", ЧастиДаты.Дата) = Истина
    //Тогда
    //    Сообщить("Вы родились " + ДатаАкта);
    //КонецЕсли;
    
    
    Если ТипЗнч(МассивОбъектов) = Тип("Массив") Тогда
        Объект = МассивОбъектов[0];
    Иначе
        Объект = МассивОбъектов;
    КонецЕсли; 
    
    Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.АктПриемаУслугПоУстановкеИзделия"); //ПолучитьОбщийМакет("АктПриемаУслугПоУстановкеИзделия");
    
    Таб=Новый ТабличныйДокумент; 
    
    Обл=Макет;
    
    Обл.Параметры.НомерДоговора = Объект.Номер;
    Обл.Параметры.Заказчик = Объект.Заказчик.Наименование;
    Обл.Параметры.ДатаЗаказа = " от "+ Формат(Объект.Дата,"ДЛФ=DD");
    Обл.Параметры.Исполнитель = СокрЛП(Объект.Организации.ПолноеНаименование); //52898
    Обл.Параметры.Отступ = Символы.Таб + Символы.Таб; 


    
    
    Таб.Вывести(Обл);
    
    Таб.ОтображатьСетку = Ложь;
    Таб.Защита = Истина; //42590
    Таб.ТолькоПросмотр = Истина;
    Таб.ОтображатьЗаголовки = Ложь;
    Таб.ПолеСлева=10;
    Таб.ПолеСправа=5;
    Таб.АвтоМасштаб = Истина;
    
    Таб.ИмяПараметровПечати="АктПриемаУслугПоУстановкеИзделия";
    Возврат Таб;
Показать
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Denis_CFO 48 23.02.19 17:26 Сейчас в теме
(1) Если кнопка "Печать" нажимается пользователем, тогда после нажатия кнопки выводи форму которая спрашивает город и адрес, а после её закрытия вызывай функцию печати.
3. Arkadag 23.02.19 17:55 Сейчас в теме
Ну так вроде и пошел

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    ПолучитьФорму("Документ.Заказ.Форма.ФормаОтбора").ОткрытьМодально();    
    
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
        "Документ.Заказ",
        "ПечатьАктУслугУстановки",
        ПараметрКоманды,
        Неопределено);

КонецПроцедуры
Показать


На кнопку, которая печатает добавил код открытия формы с выбором.
Открывает, выбирает город и дату...

Но (если я на верном пути) как передать эти город и дату в менеджер объекта, чтобы эти значения пропечатались в макете?

Обл.Параметры.Город = ????????????????;


Как передать эти значения в менеджер, который доводит печать до конца?
4. Denis_CFO 48 23.02.19 18:09 Сейчас в теме
(3) Ващпе не так.
1.
&НаКлиенте
Функция ЗадатьВопросПередПечатью()
                   СтрукПарам = Новый Структура("ТекстВопроса", "Вы хотите Напечатать документ?);
		Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияФормыВопроса", ЭтаФорма);
ОткрытьФорму("Документ.ПечатьФормы.Форма.ФормаВопроса", СтрукПарам,,,,,Оповещение);
КонецФункции

2.
&НаСервере
Функция НапечататьДокументНаСервере(Рез)
        Возврат Печать();
КонецФункции

3.
&НаКлиенте
Процедура ПослеЗакрытияФормыВопроса(Рез, Доп) Экспорт
Если ТипЗнч(Рез) = Тип("Структура") Тогда	
   Если Рез.Истина Тогда
	ТабДок = НапечататьДокументНаСервере(Рез);
        ТабДок.Показать();
   КонецЕсли;
КонецПроцедуры 


Примерно так.
5. Arkadag 23.02.19 18:19 Сейчас в теме
(4) Разве предложенный Вами метод как-то связан с моим вопросом? Возможно Вы изложили общую концепцию, но я так и не понял как мне это применить в моем случае, не меняя структуру базы.

Как здесь можно передать или запомнить данные из открытой формы?
6. Denis_CFO 48 23.02.19 18:30 Сейчас в теме
(5) Да, некорректно написал.
Вместо
ОткрытьФорму("Документ.ПечатьФормы.Форма.ФормаВопроса", СтрукПарам,,,,,Оповещение);

Используй ПоказатьВопрос()
7. Denis_CFO 48 23.02.19 18:34 Сейчас в теме
+ (6) ОбработкаКоманды(<ПараметрКоманды>, <ПараметрыВыполненияКоманды>)
<ПараметрКоманды>
В параметр передается значение от источника, в котором реализована команда. Может содержать как единичное значение, так и массив значений.
Вот сюда передавай то, что получаешь после закрытия формы
8. Arkadag 23.02.19 18:48 Сейчас в теме
(7) Я наверное не правильно всё объяснил.

Мне абсолютно не нужно задавать вопрос: "Печатать или не Печатать".

У меня был вопрос, как перед печатью открыть некую форму, на которой есть 2а реквизита (город и дата) и после выбора города и даты закрыть эту форму при этом выбранные значения сохранить и передать для печати в модуле менеджера...
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день