Имя: Пароль:
1C
1С v8
передача массива в метод УправлениеПечатьюКлиент.ВыполнитьКомандуПечати()
0 s-n-a-y
 
04.12.14
10:23
пишу такой код

УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Справочник.Контроль", "КонтрольнаяКарточка", ОбъектПечати, ЭтотОбъект);

когда объект печати это Справочник.Контроль - все нормально, выводится макет
когда объект печати это массив типа Справочник.Контроль - выдает какую-то ошибку

{Справочник.Контроль.МодульМенеджера(33)}: Поле объекта не обнаружено (Ссылка)
    Если  МассивОбъектов.Ссылка.Исполнители.Количество()<=1 тогда

а мне надо, чтобы все карточки выводились в один макет, может параметр печати какой надо указать?
1 pessok
 
04.12.14
10:39
(0) Справочник.Контроль в текущей реализации не поддерживает печать массива объектов. Надо правильно переписать функцию печати
2 pessok
 
04.12.14
10:39
+(1) судя по коду, это нетленка, так что переписывай смело
3 s-n-a-y
 
04.12.14
11:48
я переписал, заработало, я молодец)
4 s-n-a-y
 
04.12.14
11:58
не верите?

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