Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Печать двух актов на одном А4 2 страниц V   1 2 >          
grechina Подменю пользователя
сообщение 15.09.10, 16:05
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день

У меня есть задание, задать печать двух актов на одном А4. То есть что бы два одинаковых акта печатались на одном листе. Делается с целью удобства пропечатывания актов, так как их огромное количество.
Пробивал задать данные параметры в свойствах самой печати, уменьшивал размер листа и задавал печать двух экземпляров на страницу, но ничего так и не помогло, либо при печати разрывает сам акт на два А4 либо печатает два экземпляра на двух листах.
Второй подход к снаряду открыл для меня табличную часть документа и модуль печати в конфигураторе но там я так же не нашел параметр - "печать двух экземпляров на одной странице" или что то в этом роде.

Уважаемые знатоки. Подскажите пожалуйста куда еще следует копнуть?

Заранее спасибо.

Batchir Подменю пользователя
сообщение 15.09.10, 16:25
Сообщение #2

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Нужно ковырять саму процедуру печати.
В цикле вывести два раза печать и после чего выполнить команду печати/просмотра сформированного листа,т.е.
если раньше было

таб.ВывестиСекцию("Шапка");
таб.ВывестиСекцию("Строка");
таб.ВывестиСекцию("Подвал");
таб.Показать();


То нужно сделать
Для Инд = 1 По 2 Цикл
      таб.ВывестиСекцию("Шапка");
      таб.ВывестиСекцию("Строка");
      таб.ВывестиСекцию("Подвал");
КонецЦикла;
таб.Показать();

grechina Подменю пользователя
сообщение 15.09.10, 17:09
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

Сделал следующие

Для Инд = 1 По 2 Цикл 
    Таб.ВывестиСекцию("Шапка|Исполнитель");
    Таб.ПрисоединитьСекцию("Шапка|"+СекцияКонтрагента);
    Таб.ВывестиСекцию("Заголовок|Все");
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        Если (ВидНДС.Код = "БезНДС") Тогда      
            Таб.ВывестиСекцию("СтрокаБезНДС|Все");
        Иначе
            Таб.ВывестиСекцию("Строка|Все");
        КонецЕсли;
    КонецЦикла;          
    Если (ВидНДС.Код = "БезНДС") Тогда      
        Таб.ВывестиСекцию("БезНДС|Все");
    Иначе
        Таб.ВывестиСекцию("Итог|Все");
    КонецЕсли;
    Таб.ВывестиСекцию("Дно|Исполнитель");
    Таб.ПрисоединитьСекцию("Дно|"+СекцияКонтрагента);
КонецЦикла;


Напечатало за один раз два акта но каждый на отдельном листе.
Укажите пожалуйста на ошибку.

Batchir Подменю пользователя
сообщение 16.09.10, 6:26
Сообщение #4

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Покажите всю процедуру печати

grechina Подменю пользователя
сообщение 16.09.10, 7:01
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

На печать выводится - "Стандартная форма"

// ===============================
Процедура Печать(Реж, АвтоВыбор)
    // БиТ 20.08.2009
    Перем ВыбЗначение;
    Если АвтоВыбор = 0 Тогда
        ВариантыПечати = СоздатьОбъект("СписокЗначений");
        ВариантыПечати.ДобавитьЗначение(1,"Стандартная форма");
        ВариантыПечати.ДобавитьЗначение(2,"С факсимильной печатью");
        Если ВариантыПечати.ВыбратьЗначение(выбЗначение,"",,,1) <> 1 Тогда
            Возврат;
        КонецЕсли;
    Иначе
        ВыбЗначение = АвтоВыбор;
    КонецЕсли;    
    // БиТ 20.08.2009

    Таб = СоздатьОбъект("Таблица");
    фУкр = ?(Константа.ФормыНаУкраинском = Да, 1, 0);
    СуффиксТаблицы = ?(фУкр = 1, "_Укр", "");
    СуффиксФайла = ?(фУкр = 1, "_ukr", "");
    ПрефиксФайла = "RNAk";
    
    // БиТ 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");
        КонецПопытки;    

        ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"\Rom-Mail.dll");
        _SMTP(ТекущийДокумент(), Контрагент, ЗаголовокПисьма, ТелоПисьма, ИмяФайла+".xls");
    КонецЕсли;    
    // БиТ 20.08.2009
        
    глУстПропись(Гривня);
КонецПроцедуры

grechina Подменю пользователя
сообщение 24.09.10, 17:28
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

Я пытался еще раз сделать все то что вы мне советовали, но у меня так и нечего не получилось.

Подскажите еще какой то метод

Спасибо.

Batchir Подменю пользователя
сообщение 24.09.10, 20:36
Сообщение #7

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

ХЗ, как по коду, так должны печататься два акта сразу. Разделителей страниц нет. Больше похоже на мистику.

Спасибо сказали: grechina,

grechina Подменю пользователя
сообщение 27.09.10, 9:37
Сообщение #8

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

Кажется что то похожие выдало.
Результат следующий:
напечатало два А4, но на первом поместилась еще треть второго акта, а на втором листе уже остальная часть.
Подскажите пожалуйста, название процедуры или функции для сдвига/уменьшения отступа или самого размера страницы, чтоб в итоге поместилось два акта на один А4

Заранее спасибо.

grechina Подменю пользователя
сообщение 27.09.10, 10:26
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

В принципе разобрался, поигрался с полями и все получилось.
Остался один вопрос, как уменьшить шрифт в самом акте?

Vofka Подменю пользователя
сообщение 27.09.10, 10:33
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата
Остался один вопрос, как уменьшить шрифт в самом акте?

В самой таблице уменьшайте

Спасибо сказали: grechina,

grechina Подменю пользователя
сообщение 27.09.10, 10:37
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

Batchir and Vofka большое спасибо!

Все получилось!

Vofka Подменю пользователя
сообщение 27.09.10, 12:47
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Пожалуйста smile.gif

tomol22 Подменю пользователя
сообщение 27.07.11, 8:59
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 27
Спасибо сказали: 1 раз
Рейтинг: 0

а для податкових накладних також треба в конфігураторі правити чи є інші можливості?

logist Подменю пользователя
сообщение 27.07.11, 9:07
Сообщение #14

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Немає інших можливостей, для будь якої форми друку треба правити конфігурацію.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

volodya1122 Подменю пользователя
сообщение 27.07.11, 9:14
Сообщение #15

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

Цитата(tomol22 @ 27.07.11, 9:59) *
а для податкових накладних також треба в конфігураторі правити чи є інші можливості?


А що заважаэ поставити в настройках принтера "два экземпляра на страницу"?

tomol22 Подменю пользователя
сообщение 27.07.11, 9:37
Сообщение #16

Общительный
**
Группа: Пользователи
Сообщений: 27
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(volodya1122 @ 27.07.11, 9:14) *
А що заважаэ поставити в настройках принтера "два экземпляра на страницу"?

так воно ж цю сторінку на пополам ділить тобто виходить поливна накладної

volodya1122 Подменю пользователя
сообщение 27.07.11, 9:48
Сообщение #17

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

Цитата(tomol22 @ 27.07.11, 10:37) *
так воно ж цю сторінку на пополам ділить тобто виходить поливна накладної


Ніколи такого не буде. Маштаб макету автоматично зменшується, щоб дві сторінки вмістились на одному А4. (так само як, наприклад, з Microsoft Office Word можна друкувати декілька сторінок (2.4.8,9) тексту на одному А4)

tomol22 Подменю пользователя
сообщение 27.07.11, 9:48
Сообщение #18

Общительный
**
Группа: Пользователи
Сообщений: 27
Спасибо сказали: 1 раз
Рейтинг: 0

от так виглядає 2 екземпляри на 1стр.
[удалено т.к. пользователю лень читать правила форума]

volodya1122 Подменю пользователя
сообщение 27.07.11, 10:08
Сообщение #19

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

Цитата(tomol22 @ 27.07.11, 10:48) *
от так виглядає 2 екземпляри на 1стр.

Там де Ви виставили 2 екземпляри (в настройках 1С) потрібно поставити "Авто". А "два екземляти на сторінку" потрібно поставити в настройках самого принтера!!!

Спасибо сказали: dementorsun, tomol22,

tomol22 Подменю пользователя
сообщение 27.07.11, 10:15
Сообщение #20

Общительный
**
Группа: Пользователи
Сообщений: 27
Спасибо сказали: 1 раз
Рейтинг: 0

ну і саме фото


Цитата(volodya1122 @ 27.07.11, 10:08) *
Там де Ви виставили 2 екземпляри (в настройках 1С) потрібно поставити "Авто". А "два екземляти на сторінку" потрібно поставити в настройках самого принтера!!!

Понятно, таким способом також піде тільки треба своїх бухгалтерів навчити так робити, а це проблема.. ))

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 13:50
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!