Имя: Пароль:
1C
1С v8
1c печатает 6 листов вместо одного.Это ошибка моя или что-то с принтером?
,
0 Kostik2013
 
12.08.13
11:46
Всем добрый день!Отправляю на печать Реализацию товаров и услуг,выдает печать на шесть листов,но сам документ печатает только на одной странице а остальные вылазят чистыми.Подскажите пожалуйста что это может быть?На  трех принтерах одно и то же.

1С:Предприятие 8.2 (8.2.18.61) Торговля для ЧП

Функция ПечатьСервис() Экспорт

        ТабДок = Новый ТабличныйДокумент;
        Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("Печать");
        
        глТекущийПользователь     = ПараметрыСеанса.ТекущийПользователь.Ссылка;
        АдресМагазина             = Пользователи.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "АдресМагазина");
        ТелефонМагазина           = Пользователи.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ТелефонМагазина");
        ВремяРаботы              = Пользователи.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ВремяРаботы");        
        Телефон                   = ПолучитьДанныеКонтактнойИнформации(Контрагент, Перечисления.ТипыКонтактнойИнформации.Телефон, Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента);
        
        для ИН                = 1 по 2 Цикл    
            
    // Заголовок
            Область = Макет.ПолучитьОбласть("Заголовок");
            
            Область.Параметры.Номер = Номер;
            Область.Параметры.Дата = Дата;
            ТабДок.Вывести(Область);
            // Шапка
            Шапка = Макет.ПолучитьОбласть("Шапка");
            //Шапка.Параметры.Заполнить(ЭтотОбъект);
            
            
    ////Заполняем контактныеДанные магазина
            Шапка.Параметры.АдресМагазина = АдресМагазина;
            Шапка.Параметры.ТелефонМагазина = ТелефонМагазина;
            Шапка.Параметры.ВремяРаботы = ВремяРаботы;
            //Шапка.Параметры.Контакты    = ?(Телефон.Количество() = 0, "", Телефон[0].Представление);
            
            ТабДок.Вывести(Шапка);
    // Сервис
            Область = Макет.ПолучитьОбласть("Сервис");
            ОбластьСервис = Макет.ПолучитьОбласть("Сервис");
            ОбластьСервис.Параметры.Комментарий = Комментарий;
            ОбластьСервис.Параметры.Контакты = Контакты;
            ОбластьСервис.Параметры.Контрагент = Контрагент;
            
            ОбластьСервис.Параметры.Контакты    = ?(Телефон.Количество() = 0, "", Телефон[0].Представление);
            Для Каждого ТекСтрокаСервис Из Сервис Цикл
                ОбластьСервис.Параметры.Заполнить(ТекСтрокаСервис);
                ТабДок.Вывести(ОбластьСервис);
            КонецЦикла;
    // Подвал
            Подвал = Макет.ПолучитьОбласть("Подвал");
            Подвал.Параметры.Заполнить(ЭтотОбъект);
            ТабДок.Вывести(Подвал);
            
        КонецЦикла;
        
        ТабДок.ОтображатьСетку = Ложь;
        ТабДок.Защита = Ложь;
        ТабДок.ТолькоПросмотр = Ложь;
        ТабДок.ОтображатьЗаголовки = Ложь;
        ТабДок.Показать();
        //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
    КонецФункции

    
    // Процедура осуществляет печать документа. Можно направить печать на
    // экран или принтер, а также распечатать необходмое количество копий.
    //
    //  Название макета печати передается в качестве параметра,
    // по переданному названию находим имя макета в соответствии.
    //
    // Параметры:
    //  НазваниеМакета - строка, название макета.
    //
    Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
        
        Если ЭтоНовый() Тогда
            Предупреждение("Документ можно распечатать только после его записи");
            Возврат;
        ИначеЕсли Не Пользователи.РазрешитьПечатьНепроведенныхДокументов(Проведен) Тогда
            Предупреждение("Недостаточно полномочий для печати непроведенного документа!");
            Возврат;
        КонецЕсли;
        
        Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда
            Возврат;
        КонецЕсли;
        
        // Получить экземпляр документа на печать
        Если ИмяМакета = "Накладная" или ИмяМакета="ТоварнаяНакладная" или ИмяМакета = "НакладнаяУслуги" тогда
            // Управленческая печатная форма документа
            ТабДокумент = ПечатьРасходнаяНакладная(ИмяМакета);
        ИначеЕсли ИмяМакета = "Акт" Тогда
            ТабДокумент = ПечатьАктаОбОказанииУслуг();
        ИначеЕсли ИмяМакета = "Доход" Тогда
            ТабДокумент = ПечатьДоход();
        ИначеЕсли ИмяМакета = "Печать" Тогда
            ТабДок = ПечатьСервис ();
        КонецЕсли;
        
        
        РаботаСДиалогами.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект));
        
    КонецПроцедуры // Печать
1 Fish
 
12.08.13
11:48
(0) На предварительном просмотре сколько страниц?
2 Kostik2013
 
12.08.13
11:48
(1) одна
3 Kreont
 
12.08.13
11:49
може на макете вручную перенос страницы указал (6 раз :))
4 Kostik2013
 
12.08.13
11:53
(3) нет
5 Масянька
 
12.08.13
11:55
(4) Покажи макет (из конфигуратора).
6 Kostik2013
 
12.08.13
12:01
7 Масянька
 
12.08.13
12:02
(6) "проблема при загрузке страницы" :(
8 Kostik2013
 
12.08.13
12:03
9 Ёпрст
 
12.08.13
12:03
http://s5.hostingkartinok.com/uploads/images/2013/08/7c601680355acc978b80f017064b62f5.bmp

дык у тя справа разделитель страниц воткнут
10 Kostik2013
 
12.08.13
12:04
(9) убрать и поможет?)
11 Ёпрст
 
12.08.13
12:05
а зачем это ?

>>> для ИН                = 1 по 2 Цикл
12 Kostik2013
 
12.08.13
12:06
(11) это чтоб Две расписки на одном листе печатало
13 Ёпрст
 
12.08.13
12:06
выкини все переводы страниц с макета
14 Масянька
 
12.08.13
12:06
(10) Справа в макете видишь пунктирную линию? Это и есть разделитель. И вообще, кривоват макет :(
15 Kostik2013
 
12.08.13
12:09
Всем спасибо!Сейчас попробую))
16 Kostik2013
 
12.08.13
12:10
(14) Какой попросили такой и сделал,там еще не влезло сверху и снизу)
17 AdrianBerk
 
12.08.13
12:12
Была проблема с  печатью одной страницы плюс две пустых. Решилась обновлением драйвера принтера...
18 Kostik2013
 
12.08.13
12:20
(17) ну я бы поверил,что это драйвер еслиб это было на одном принтере а так,в трёх разных местах и на трех принтерах одинаково
19 Kostik2013
 
12.08.13
12:27
Так убирать нужно?У меня что-то не убирается...

Таблица->Настройки печати->Удалить разрыв страницы
20 Kostik2013
 
12.08.13
12:34
(19) удалился только один разделитель а остальные не хотят,но на печать уже не 6 а 3 выводит
21 Ёпрст
 
12.08.13
12:35
(20) прогресс
22 Ёпрст
 
12.08.13
12:36
таблица -вид - убрать всё нахрен..
23 Ёпрст
 
12.08.13
12:36
ну и левые ячеки из макета тоже и снизу и справа.
24 Kostik2013
 
12.08.13
12:38
(22) не помогает
25 Kostik2013
 
12.08.13
12:46
(24) Нужно было выстроить разделитель в одну длину и все)Всем спасибо за внимание и хорошего дня!
26 Масянька
 
12.08.13
12:52
(25) Ну, вот видишь - все получилось! А говорил - как попросили, так и сделал :)))))))))
27 Kostik2013
 
12.08.13
13:01
(26) :))
Программист всегда исправляет последнюю ошибку.