Имя: Пароль:
1C
1С v8
Как вывести макет в ВПФ в два разных окна (для двух разных контрагентов)
0 SelivanovMusic
 
07.09.17
06:19
Если такая возможность?

В Таб части есть список номенклатуры от разных контрагентов.

Группирую номенклатуру по контрагентам и вывожу через разделитель страниц.

Но есть ли возможность вывести это в две разных формы в разных окнах?

(Это нужно для отправки пакета документов двум разным контрагентам)
1 mehfk
 
07.09.17
06:37
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)

<Уникальность> (необязательный)

Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
Ложь - искать форму с ключом уникальности по умолчанию, Истина - не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск.
Значение по умолчанию: Ложь.
2 SelivanovMusic
 
07.09.17
06:45
Конфа УНФ 1.6 Упр формы

Макет формируется в СформироватьНакладную(ТабличныйДокумент, ТекущийДокумент)
Тут нет нигде вызова ОткрытьФорму.
Получается что после выполнения всех действий в ВПФ он отправляет макет на печать, а если макетов несколько, то печатает последний.

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) экспорт
    Перем Ошибки;
    Для ч=1 по 3 Цикл
        Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаказПокупателя") Тогда
            
            УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаказПокупателя", "Расходная накладная", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ЗаказПокупателя"));
            
        КонецЕсли;
        УправлениеНебольшойФирмойСервер.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
    КонецЦикла;
КонецПроцедуры


Функция ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета)
    Перем Ошибки;
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    
    ПервыйДокумент = Истина;
    
    Для Каждого ТекущийДокумент Из МассивОбъектов Цикл
        
        Если Не ПервыйДокумент Тогда
            ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        ПервыйДокумент = Ложь;
        
        НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
        
        //Если ИмяМакета = "Накладная" ИЛИ ИмяМакета = "НакладнаяСУслугами" Тогда
        
        СформироватьНакладную(ТабличныйДокумент, ТекущийДокумент);
        
        //КонецЕсли;
        
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ТекущийДокумент);
        
    КонецЦикла;
    
    ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки);
    
    Возврат ТабличныйДокумент;
    
КонецФункции
3 mehfk
 
07.09.17
07:46
(2) Тебе придется отказаться от типового кода печати.
4 SelivanovMusic
 
11.09.17
03:00
Получилось.
В ВПФ, вместо ВызовСерверногоМетода использовал ВызовКлиентскогоМетода и на форме сделал обход нужных значений.
Выводится столько окон, сколько нужно.

Но! При вызове клиентского метода, отвалился механизм заполнения формы отправки по почте.

Т.е. при нажатии в форме печати кнопки "Отправить по почте", заполнения не происходит. Контакты пустые, тема и текст тоже. Наименование отправляемого файла тоже пустое ".pdf".

При вызове серверного метода заполнялись: тема, контактное лицо, наименование файла "Расходная накладная...pdf