XacTLa, 1. Зачем выбирать 2 экземпляра документа ? 2. Зачем поиск в результате запроса - у Вас уже все есть в выборке ? 3. Покажите код, где Вы формируете массив документов.
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(salton @ 29.09.17, 8:19)
фишку с передачей массива в параметр печати придумали вы. А вот сам код формирования массива ему никто не написал)))
Поскольку тема в 8.3, то никакого кода формирования массива (в стандартной ситуации) не требуется, если в списке выделить необходимые строки, и вызвать стандартную команду печати, то в неё уже будет передан массив выделенных строк.
Личные бесплатные консультации не даю, для этого есть форум!
"Это" вернет Вам готовый ТабличныйДокумент. Если Вы будете вызывать функцию печати с параметром "СсылкаНаОбъект" в момент перебора массива (который будет содержать ссылки на документы типа "ПоступлениеТоваровУслугТовары") то получите на выходе готовую процедуру печати. Тоесть взяли массив с доками, перебираем, внутри запускаем функцию Печать(СсылкаНаОбъект), которая возвращает нам ТабличныйДокумент, а мы его тут же отправляем на печать без предпросмотра и возвращаемся к началу цикла для нового вызова функции печати и получения нового ТабличногоДокумента.
Процедура ПакетнаяПечать() //получаем массив с документами
Для Каждого ЭлементМассива из Массив Цикл ГотовыйТабличныйДокумент = Печать(ЭлементМассива); ГотовыйТабличныйДокумент.Напечатать(); КонецЦикла;
XacTLa @ Сегодня, 11:56
, дайте полную строку описания ошибки...
зы. по поводу использовать ли перебор/цикл по массиву - если Вы передадите в "СсылкаНаОбъект" сам Массив с доками, а в условии корректно укажите МаршрутныйЛистПроизводства.Ссылка в (&Ссылка) то естественно Вам перебор/цикл по Массиву не нужен )))
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(221)}: Слишком много фактических параметров ВнешняяОбработкаОбъект.Печать(
ну и? что там дальше в ошибке? можно полный текст? Такое впечатление, что у Вас не сходится количество параметров которые Вы передаете в момент вызова функции Печать()... Тоесть вместо Печать(СсылкаНаОбъект) Вы вызываете Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
// Проверим, все ли макеты были сформированы Для Каждого Стр Из КоллекцияПечатныхФорм Цикл Если Стр.ТабличныйДокумент = Неопределено Тогда ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'В обработчике печати не был сформирован табличный документ для: %1'"), Стр.ИмяМакета); ВызватьИсключение(ТекстСообщенияОбОшибке); КонецЕсли;
ошибка типо тут : ВнешняяОбработкаОбъект.Печать( ПараметрыИсточника.ОбъектыНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
да. тут. У Вас в ВнешняяОбработкаОбъект.Печать(ПараметрыИсточника.ОбъектыНазначения,КоллекцияПечатныхФорм,ОбъектыПечати,ПараметрыВывода) аж 4 параметра, а в написанной Вами функции печати всего один Печать(СсылкаНаОбъект).
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9
XacTLa @ Сегодня, 16:54
, В модуле менеджера должна располагаться экспортная процедура "Печать" с пятью параметрами. Внутри этой процедуры исходя из полученных параметров осуществляется вызов локальных процедур печати. Почему у вас процедура "Печать" имеет один параметр - не понятно.
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Это Ваша новая написанная функция печати - Печать(СсылкаНаОбъект, ПараметрыИсточника, КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода) СсылкаНаОбъект - это раз ПараметрыИсточника - это два КоллекцияПечатныхФорм - это три ОбъектыПечати - это четыре ПараметрыВывода - это пять Итого пять параметров.
Это функция печати которая вызывается из модуля - ВнешняяОбработкаОбъект.Печать(ПараметрыИсточника.ОбъектыНазначения,КоллекцияПечатныхФорм,ОбъектыПечати,ПараметрыВывода); ПараметрыИсточника.ОбъектыНазначения - это раз КоллекцияПечатныхФорм - это два ОбъектыПечати - это три ПараметрыВывода - это четыре. Итого четыре параметра.
Четыре параметра - не пять. Потому Вы передавая функции излишнее или недостаточное количество параметров ставите ее в тупик. Количество параметров должно быть равным! Можно так Печать(ПараметрыИсточника.ОбъектыНазначения,,,) - если остальные параметры Вам не нужны. При этом ПараметрыИсточника.ОбъектыНазначения - у Вас должен быть Ваш массив с доками.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!