У меня есть задание, задать печать двух актов на одном А4. То есть что бы два одинаковых акта печатались на одном листе. Делается с целью удобства пропечатывания актов, так как их огромное количество. Пробивал задать данные параметры в свойствах самой печати, уменьшивал размер листа и задавал печать двух экземпляров на страницу, но ничего так и не помогло, либо при печати разрывает сам акт на два А4 либо печатает два экземпляра на двух листах. Второй подход к снаряду открыл для меня табличную часть документа и модуль печати в конфигураторе но там я так же не нашел параметр - "печать двух экземпляров на одной странице" или что то в этом роде.
Уважаемые знатоки. Подскажите пожалуйста куда еще следует копнуть?
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Нужно ковырять саму процедуру печати. В цикле вывести два раза печать и после чего выполнить команду печати/просмотра сформированного листа,т.е. если раньше было
Для Инд = 1 По 2 Цикл Таб.ВывестиСекцию("Шапка|Исполнитель"); Таб.ПрисоединитьСекцию("Шапка|"+СекцияКонтрагента); Таб.ВывестиСекцию("Заголовок|Все"); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если (ВидНДС.Код = "БезНДС") Тогда Таб.ВывестиСекцию("СтрокаБезНДС|Все"); Иначе Таб.ВывестиСекцию("Строка|Все"); КонецЕсли; КонецЦикла; Если (ВидНДС.Код = "БезНДС") Тогда Таб.ВывестиСекцию("БезНДС|Все"); Иначе Таб.ВывестиСекцию("Итог|Все"); КонецЕсли; Таб.ВывестиСекцию("Дно|Исполнитель"); Таб.ПрисоединитьСекцию("Дно|"+СекцияКонтрагента); КонецЦикла;
Напечатало за один раз два акта но каждый на отдельном листе. Укажите пожалуйста на ошибку.
// БиТ 20.08.2009 Если ВыбЗначение = 1 Тогда ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\"+ПрефиксФайла+СуффиксФайла+".mxl"; Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы); Иначе Таб.ИсходнаяТаблица("Таблица"+СуффиксТаблицы); КонецЕсли; Иначе ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\"+ПрефиксФайла+"Fax"+СуффиксФайла+".mxl"; Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы); Иначе Таб.ИсходнаяТаблица("ТаблицаФакс"+СуффиксТаблицы); КонецЕсли; КонецЕсли; // БиТ 20.08.2009
ЗаказИнфо = ""; Если Заказ.Выбран() = 1 Тогда Если Заказ.Вид() = "Счет" Тогда ЗаказИнфо = ?(фУкр = 1, " по рахунку № "," по счету № ") + СокрЛП(Заказ.НомерДок) + ?(фУкр = 1, " від "," от ") + Заказ.ДатаДок; ИначеЕсли Заказ.Вид() = "Договор" Тогда ЗаказИнфо = " по договору № " + СокрЛП(Заказ.НомерДоговора) + ?(фУкр = 1, " від "," от ") + Заказ.ДатаДок; КонецЕсли; КонецЕсли;
НДССтр = "0.00 грн"; Если ВидНДС.Ставка.Получить(ДатаДок) <> 0 Тогда НДССтр = "20% - " + глФРМВал(Итог("НДС"), Гривня, 1); КонецЕсли;
СекцияКонтрагента = ?(Контрагент.ВидКонтрагента = Перечисление.ВидыКонтрагентов.ЧастноеЛицо, "ЧастноеЛицо", "Организация"); Для Инд = 1 По 2 Цикл Таб.ВывестиСекцию("Шапка|Исполнитель"); Таб.ПрисоединитьСекцию("Шапка|"+СекцияКонтрагента); Таб.ВывестиСекцию("Заголовок|Все"); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если (ВидНДС.Код = "БезНДС") Тогда Таб.ВывестиСекцию("СтрокаБезНДС|Все"); Иначе Таб.ВывестиСекцию("Строка|Все"); КонецЕсли; КонецЦикла; Если (ВидНДС.Код = "БезНДС") Тогда Таб.ВывестиСекцию("БезНДС|Все"); Иначе Таб.ВывестиСекцию("Итог|Все"); КонецЕсли; Таб.ВывестиСекцию("Дно|Исполнитель"); Таб.ПрисоединитьСекцию("Дно|"+СекцияКонтрагента); КонецЦикла; // БиТ 20.08.2009 Если Реж = 0 Тогда Таб.Защита(Константа.ФлагЗащитыТаблиц); Таб.ТолькоПросмотр(1); Таб.Опции(0,0,,); Таб.Показать("ПЕЧАТЬ: Акт сдачи-приемки работ",""); Иначе ИмяКаталога = СокрЛП(КаталогПользователя()); Если ПустоеЗначение(ИмяКаталога) = 1 Тогда ИмяКаталога = КаталогИБ(); КонецЕсли; ИмяФайла = СокрЛП(НомерДок)+"_"+Прав(Строка(ДатаГод(ДатаДок)),2)+?(ДатаМесяц(ДатаДок)<10,"0","")+Строка(ДатаМесяц(ДатаДок))+?(ДатаЧисло(ДатаДок)<10,"0","")+Строка(ДатаЧисло(ДатаДок)); Если ФС.СуществуетФайл(ИмяФайла+".xls") = 1 Тогда ФС.УдалитьФайл(ИмяФайла) КонецЕсли; ИмяФайла = ИмяКаталога +"\"+ ИмяФайла; Попытка Таб.Записать(ИмяФайла,"XLS"); глКомментарий("Сохранен файл: "+ ИмяФайла +".xls",2,Контекст,"!"); Исключение Сообщить("Не удалось сохранить файл: " + ИмяФайла +".xls"); КонецПопытки;
Кажется что то похожие выдало. Результат следующий: напечатало два А4, но на первом поместилась еще треть второго акта, а на втором листе уже остальная часть. Подскажите пожалуйста, название процедуры или функции для сдвига/уменьшения отступа или самого размера страницы, чтоб в итоге поместилось два акта на один А4
так воно ж цю сторінку на пополам ділить тобто виходить поливна накладної
Ніколи такого не буде. Маштаб макету автоматично зменшується, щоб дві сторінки вмістились на одному А4. (так само як, наприклад, з Microsoft Office Word можна друкувати декілька сторінок (2.4.8,9) тексту на одному А4)
Там де Ви виставили 2 екземпляри (в настройках 1С) потрібно поставити "Авто". А "два екземляти на сторінку" потрібно поставити в настройках самого принтера!!!
Группа: Пользователи
Сообщений: 27
Спасибо сказали: 1 раз
Рейтинг: 0
ну і саме фото
Цитата(volodya1122 @ 27.07.11, 10:08)
Там де Ви виставили 2 екземпляри (в настройках 1С) потрібно поставити "Авто". А "два екземляти на сторінку" потрібно поставити в настройках самого принтера!!!
Понятно, таким способом також піде тільки треба своїх бухгалтерів навчити так робити, а це проблема.. ))
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!