С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/35: Рейтинг темы: голосов - 35, средняя оценка - 4.71
4 / 4 / 4
Регистрация: 12.07.2011
Сообщений: 669
1

Табличный документ печатается с пустыми страницами

19.03.2015, 09:03. Показов 7212. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Вывожу на печать документ в собственной конфигурации 1с 8.3. Команду печати создал конструктором и потом переделал под свои нужды. Вот что получилось:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    //Макет = Документы.ОценочнаяВедомость.ПолучитьМакет("Печать");
Макет = Документы.ОценочнаяВедомость.ПолучитьМакет("ПечатнаяФормаВедомости");    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   ОценочнаяВедомость.Должность,
    |   ОценочнаяВедомость.ИтоговыйПоказательЭффективности,
    |   ОценочнаяВедомость.ОценкаРаботы,
    |   ОценочнаяВедомость.Подразделение,
    |   ОценочнаяВедомость.Сотрудник,
    |   ОценочнаяВедомость.КритерииОценки.(
    |       НомерСтроки,
    |       Критерий,
    |       НольБаллов,
    |       ОдинБалл,
    |       ДваБалла,
    |       ТриБалла,
    |       БаллСотрудника,
    |       КомментарийСотрудника,
    |       БаллРуководителя,
    |       КомментарийРуководителя,
    |       ВесовойКоэффициент,
    |       Итог
    |   ),
    |   ОценочнаяВедомость.ОтчетныйПериод,
    |   ОценочнаяВедомость.ПроцентВыполненияРуководителя
    |ИЗ
    |   Документ.ОценочнаяВедомость КАК ОценочнаяВедомость
    |ГДЕ
    |   ОценочнаяВедомость.Ссылка В(&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
 
    //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    //Шапка = Макет.ПолучитьОбласть("Шапка");
    //ОбластьКритерииОценкиШапка = Макет.ПолучитьОбласть("КритерииОценкиШапка");
    //ОбластьКритерииОценки = Макет.ПолучитьОбласть("КритерииОценки");
    //Подвал = Макет.ПолучитьОбласть("Подвал");
Заголовок = Макет.ПолучитьОбласть("Заголовок");
Ведомость = Макет.ПолучитьОбласть("Ведомость");
ВедомостьШапка = Макет.ПолучитьОбласть("ВедомостьШапка");
    ИтогиВедомости = Макет.ПолучитьОбласть("ИтогиВедомости");
Подвал=Макет.ПолучитьОбласть("Подвал");
    ТабДок.Очистить();
 
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        Заголовок.Параметры.Заполнить(Выборка);
        ИтогиВедомости.Параметры.Заполнить(Выборка);
        //Подвал.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Заголовок, Выборка.Уровень());
        ТабДок.Вывести(ВедомостьШапка);
        //ТабДок.Вывести(Подвал);
    //ТабДок.Вывести(Заголовок, Выборка.Уровень());
        //ТабДок.Вывести(ОбластьКритерииОценкиШапка);
        ВыборкаКритерииОценки = Выборка.КритерииОценки.Выбрать();
        ИтогСотрудника=0;
 
        ИтогРуководителя=0;
        ИтогКоэффициент=0;
        ОбщийИтог=0;
        Пока ВыборкаКритерииОценки.Следующий() Цикл
            //Ведомость.Параметры.Заполнить(ВыборкаКритерииОценки);
            Ведомость.Параметры.НомерСтроки=ВыборкаКритерииОценки.НомерСтроки;
            Ведомость.Параметры.Критерий=ВыборкаКритерииОценки.Критерий;
            Ведомость.Параметры.НольБаллов=ВыборкаКритерииОценки.НольБаллов;
            Ведомость.Параметры.ОдинБалл=ВыборкаКритерииОценки.ОдинБалл;
            Ведомость.Параметры.ДваБалла=ВыборкаКритерииОценки.ДваБалла;
            Ведомость.Параметры.ТриБалла=ВыборкаКритерииОценки.ТриБалла;
            Ведомость.Параметры.БаллСотрудника=ВыборкаКритерииОценки.БаллСотрудника;
            ИтогСотрудника=ИтогСотрудника+ВыборкаКритерииОценки.БаллСотрудника;
            Ведомость.Параметры.КомментарийСотрудника=ВыборкаКритерииОценки.КомментарийСотрудника;
            Ведомость.Параметры.БаллРуководителя=ВыборкаКритерииОценки.БаллРуководителя;
            ИтогРуководителя=ИтогРуководителя+ВыборкаКритерииОценки.БаллРуководителя;
            Ведомость.Параметры.КомментарийРуководителя=ВыборкаКритерииОценки.КомментарийРуководителя;
            Ведомость.Параметры.ВесовойКоэффициент=ВыборкаКритерииОценки.ВесовойКоэффициент*100;
            ИтогКоэффициент=ИтогКоэффициент+Ведомость.Параметры.ВесовойКоэффициент;
            Ведомость.Параметры.Итог=ВыборкаКритерииОценки.Итог;
            ОбщийИтог=ОбщийИтог+ВыборкаКритерииОценки.Итог;
            ТабДок.Вывести(Ведомость, ВыборкаКритерииОценки.Уровень());
        КонецЦикла;
 
        ИтогиВедомости.Параметры.ИтогСотрудника=ИтогСотрудника;
        ИтогиВедомости.Параметры.ИтогРуководителя=ИтогРуководителя;
        ИтогиВедомости.Параметры.ИтогКоэффициент=ИтогКоэффициент;
        ИтогиВедомости.Параметры.ОбщийИтог=ОбщийИтог;
        Подвал.Параметры.Сотрудник=Выборка.Сотрудник;
        Подвал.Параметры.Должность=Выборка.Должность;
        //ИтогиВедомости.Параметры.ПроцентВыполненияРуководителя=Выборка.ППроцентВыполненияРуководителя;
        //ИтогиВедомости.Параметры.ПроцентВыполненияРуководителя=Выборка.ПроцентВыполненияРуководителя;
//      ИтогиВедомости.Параметры.ИтоговыйПоказательЭффективности=Выборка.ИтоговыйПоказательЭффективности;
        ТабДок.Вывести(ИтогиВедомости);
        ТабДок.Вывести(Подвал);
                ТабДок.РазмерСтраницы="A4"; 
        //ИтогиВедомости.Параметры.Заполнить(Выборка);
        //ТабДок.Вывести(Подвал);
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //ТабДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
    //}}
КонецПроцедуры
Вот текст команды:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    ТабДок = Новый ТабличныйДокумент;
    Печать(ТабДок, ПараметрКоманды);
 
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Напечатать();
    //}}
КонецПроцедуры
 
&НаСервере
Процедура Печать(ТабДок, ПараметрКоманды)
    Документы.ОценочнаяВедомость.Печать(ТабДок, ПараметрКоманды);
КонецПроцедуры
Проблема заключается вот в чем: при выводе на печать получаются пустые листы: заполненный, пустой, заполненный пустой и т.д через один... документ из2-х листов печатается на четырех листах, где 2-й и 4-й пустые... в чем ошибка? никак понять не могу... помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
19.03.2015, 09:03
Ответы с готовыми решениями:

Табличный Документ
Доброго времени суток проблемка заключается в следующем имеется код Процедура...

Из офиса печатается только один документ
Здравствуйте. На одном из наших предприятий обнаружилась одна неприятнейшая проблема. Имеем...

Табличный документ, обход
Здравствуйте. 1с8.1 Есть табличный документ с группировками(1 уровня). Нужно найти дубли текста...

макет - табличный документ
Доброго времени суток! С 1с встречаюсь впервые. Вообщем мне необходимо создать документ и вывести...

3
858 / 657 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
19.03.2015, 09:49 2
У меня тоже как-то было так, долго мучился. В Свойстве области (которая первая на страницу выводится или последняя, я уже не помню), есть раздел Параграф и там стояла галочка ВыводитьСоСледующим, я её убрал и страницы перестало пропускать
0
4 / 4 / 4
Регистрация: 12.07.2011
Сообщений: 669
19.03.2015, 10:38  [ТС] 3
просмотрел все области макета - ни в одной эта галочка не стоит. Галочка называется "ВместеСоСледующим". причем разрывается область "Ведомость", в которую таблица выводится...попробовал я у разных областей "ВместеСоСледующим" включать -еще хуже: то по одной области на страницу выводит, то пустыхлистов еще больше откуда то появляется...
0
858 / 657 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
19.03.2015, 17:16 4
А у тебя области пустых колонок не имеют в конце? Может они просто не влазят на страницу
0
19.03.2015, 17:16
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
19.03.2015, 17:16
Помогаю со студенческими работами здесь

Табличный документ автомасштаб
Здрасти. создал табДок = новый табличный документ. ТабДок.Автомасштаб = Истина; при выводе на...

Табличный документ и макет
Вопрос такой, как области из макета выводить так, чтоб они шли в одну строку, друг за другом... ...

Табличный документ оформление
Подскажите как можно изменить цвет выводимой области макета при построении (Например если значение...

Табличный документ - скролл
День добрый, не могу реализовать банальную весчь: есть форма с полем табличного документа, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru