Имя: Пароль:
1C
1С v8
Изменить имя файла при сохранении внешней печатной формы
0 Gisfox
 
07.12.19
11:49
Привет всем!
Видела темы похожие на форуме, перепробовала, все что нашла, но проблема так и не решилась. При сохранении печатной формы имя файла "Акт выполненных работ внешний", но нужно, что бы вместо внешний он подставлял № акта и дату.

Понимаю, что имя файла для сохранения формируется тут:

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

Функция ПодготовитьТабличныйДокумент(МассивОбъектов)
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Макет             = ПолучитьМакет("АктОбОказанииУслуг1");
    
    Запрос       = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
                   |    РеализацияТоваровУслуг.Номер,
                   |    РеализацияТоваровУслуг.Дата,
                   |    РеализацияТоваровУслуг.Организация.НаименованиеПолное КАК ОрганизацияНаименование,
                   |    РеализацияТоваровУслуг.Контрагент.НаименованиеПолное КАК КонтрагентНаименование,
                   |    РеализацияТоваровУслугУслуги.НомерСтроки КАК НомерСтроки,
                   |    РеализацияТоваровУслугУслуги.Содержание КАК Содержание,
                   |    РеализацияТоваровУслугУслуги.Количество,
                   |    РеализацияТоваровУслугУслуги.Цена,
                   |    ЕСТЬNULL(РеализацияТоваровУслугУслуги.Сумма, 0) КАК Сумма
                   |ИЗ
                   |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
                   |        ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугУслуги.Ссылка
                   |ГДЕ
                   |    РеализацияТоваровУслуг.Ссылка В(&МассивОбъектов)
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Ссылка,
                   |    НомерСтроки
                   |ИТОГИ
                   |    СУММА(Сумма)
                   |ПО
                   |    Ссылка";

    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    
    ВыборкаЗапросаДокумент = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");
    Пока ВыборкаЗапросаДокумент.Следующий() Цикл
        
        ОбластьПечати = Макет.ПолучитьОбласть("Шапка");
        ОбластьПечати.Параметры.Заполнить(ВыборкаЗапросаДокумент);
        ОбластьПечати.Параметры.ТекстЗаголовка = "Акт №" + ВыборкаЗапросаДокумент.Номер + " от " + Формат(ВыборкаЗапросаДокумент.Дата, "ДФ=dd.MM.yyyy");
        ТабличныйДокумент.Вывести(ОбластьПечати);
        
        ВыборкаДетальныеЗаписи = ВыборкаЗапросаДокумент.Выбрать();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            ОбластьПечати = Макет.ПолучитьОбласть("Строка");
            ОбластьПечати.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
            ТабличныйДокумент.Вывести(ОбластьПечати);            
            
        КонецЦикла;          
    КонецЦикла;
    
    Возврат ТабличныйДокумент;
    
КонецФункции

Не могу разобраться что нужно подставить в процедуру печати.

Конфигурация 8.3.16
1 mmmarat
 
07.12.19
12:59
(0) Сформируйте нужное представление из первого элемента массива ссылок МассивОбъектов[0].
Проверки не забудьте добавить, когда ссылок больше чем одна, например при печати из формы списка нескольких документов.
2 Кац
 
07.12.19
13:00

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
        КоллекцияПечатныхФорм,
        "АктОбОказанииУслуг",
        "Акт об оказании услуг Внешний" + "№ акта и дата",
        ПодготовитьТабличныйДокумент(МассивОбъектов)
    );
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.