Подскажите, пожалуйста. Есть документ. В нем три реквизита, каждый из которых - три разных документа. Кнопка "Печать". Нужно по нажатию на эту кнопку выводить на экран печатные формы этих трех документов друг под другом (на 1 листе фактически). То есть вопрос, как передать печатные формы этих трех документов в одну печатную форму начального документа?
1С:Предприятие 7.7 для SQL . Конфигурация : своя
Ніяк, якщо відповідати конкретно на це питання. Можно обійти, створивши окрему процедуру друку, яка б містила всі правила друку вказаних документів.
Сначала внимательно смотрим на печатные формы (шаблоны). По колонкам. Они ж разной ширины. И подумать - а как, собственно, разместить на листе (состоящем из колонок, каждая из которых в пределах листа имеет одну и ту же ширину) данные с листов, на которых колонки с одинаковым номером не совпадают по ширине?.. Ответ, конечно, есть, вот он: сначала муторно и нудно перерисовывать печатные формы этих документов таким образом, чтобы на этих печ.формах колонки имели синхронную ширину (здравствуй, глюкавое объединение ячеек!).
Потом уже легче - рисуем обработку, которая на входе принимает СЗ с таблицами, склеивает их "по вертикали" в результирующую таблицу, которую и выводит на экран... но и тут бывают засады - если в компоновке печатных форм участвуют не только ячейки со стандартным оформлением (ну, например, рисунки есть или поля - к этим объектам из внутреннего языка никак не подступиться).
Хотя, лично я для себя этот вопрос решил с помощью ВК-шки "йоксель" (yoksel) - собираю нужные печ.формы на листы книги XLS, а для представления XLS-книги в 1с тоже один раз нарисованная и вылизанная обработка с многозакладочной (по количеству листов) формой и отображением в элементе управления табличного документа, полученного ВК-шкой с листа книги, соответствующего тек.закладке.
В итоге - в такой постановке вопроса... с одной стороны - "за ваши деньги - любой каприз"... а с другой - а нужен ли такой геморрой?..
"вата, кисточка и клей - вот наше оружие!"
вот интересные параметры есть в методах ИсходнаяТаблица() и Показать(). В качестве параметров можно указывать файл. записать в файл, потом открыть для печати этот же, туда же записать... только запишет поверху...
попробуйте еще в зависимости от передаваемого параметра (при открытии формы) вместо Таб.Показать() вызывать Таб.Напечатать() в документах. По идее должно склеить ваши документы выводом сразу на печать
Цитата(Домовик @ 14.11.13, 10:55) необходимо зарегистрироваться для просмотра ссылки
попробуйте еще в зависимости от передаваемого параметра (при открытии формы) вместо Таб.Показать() вызывать Таб.Напечатать() в документах. По идее должно склеить ваши документы выводом сразу на печать
не склеивает, но все равно спасибо)
Тоже когда то заморачивался, ничего не получилось, произвольно изменялась ширина колонок...
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.