Имя: Пароль:
1C
1С v8
Печать с выбором параметра от пользователя
0 1cUser015
 
17.08.17
10:39
Добрый день!
Подскажите, пожалуйста, в чем может быть проблема, была ВПФ, печаталась для документов, теперь нужно сделать так, чтобы при вызове ВПФ открывалась форма с указанием нужного параметра, и уже с учетом этого параметра шла печать. Типа вручную выбрать подписанта.
Сделал такую форму по примеру, форма для указание сотрудника открывается, а вот кнопка печать не работает. Обобщенно выглядит так:

Модуль объекта ВПФ:

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

    ОбъектыПечати = Новый СписокЗначений;
    ОбъектыПечати.ЗагрузитьЗначения(МассивОбъектов);

    ТабДок = Печать_ВП(МассивОбъектов, ОбъектыПечати);
    Возврат ТабДок;
КонецФункции
    


Функция Печать_ВП(МассивОбъектов, ОбъектыПечати)
    
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("ТестВПСП");      
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Прием.Дата,
    |    Прием.ТаблицаДокумента.(
    |        ДатаДоговора
    |    )
    |ИЗ
    |    Документ.Прием КАК Прием
    |ГДЕ
    |    Прием.Ссылка В (&Ссылка)";
    
    Запрос.Параметры.Вставить("Ссылка", МассивОбъектов);
    Выборка = Запрос.Выполнить().Выбрать();
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ТабДок.Очистить();

    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        ВыборкаСотрудник = Выборка.ТаблицаДокумента.Выбрать();
        Пока ВыборкаСотрудник.Следующий() Цикл
            Если ВставлятьРазделительСтраниц Тогда
                ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
            КонецЕсли;
        
            Шапка.Параметры.ДатаДокумента = Формат(Выборка.Дата, "ДЛФ=ДД");
            Шапка.Параметры.ДатаДоговора = Формат(ВыборкаСотрудник.ДатаДоговора, "ДЛФ=ДД");
            Шапка.Параметры.Сотрудник = Сотрудник;
            
            ТабДок.Вывести(Шапка);
            ВставлятьРазделительСтраниц = Истина;
        КонецЦикла;
    КонецЦикла;
    
    ТабДок.ОтображатьСетку        =    Ложь;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ТолькоПросмотр        =    Истина;
    ТабДок.ОтображатьЗаголовки    =    Ложь;
    
    Возврат ТабДок;    
КонецФункции

Модуль Формы:

&НаСервере
Функция ПечатьСерверная()
    МассивДокументов = Параметры.ОбъектыНазначения;
    ЭтотОбъектОбработка = РеквизитФормыВЗначение("Объект");

    ТабДок =ЭтотОбъектОбработка.Печать(МассивДокументов);
    Возврат ТабДок;
КонецФункции

&НаКлиенте
Процедура Печать(Команда)
    ТабДок = ПечатьСерверная();
    ТабДок.Показать();
КонецПроцедуры


Перебор (или недобор) МассиваОбъектов и ОбъектовПечати ?
Или что то еще, параметры формы заданы, кнопка(команда) тоже все есть, форма открывается(
С параметром "ВызовСерверногоМетода", печатается так:
Процедура Печать(МассивОбъектов,КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт        
        ИмяПараметровПечати    = "ПАРАМЕТРЫ_ПЕЧАТИ_ПРИЕМ_ТестВПСП";
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ТестВПСП", "ТестВПСП", Печать_ВП(МассивОбъектов, ОбъектыПечати));
КонецПроцедуры

Спасибо!
1 1cUser015
 
17.08.17
14:26
Или просто лыжи у меня не туда едут?
AdBlock убивает бесплатный контент. 1Сергей