Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
Augusto
70 / 70 / 1
Регистрация: 18.12.2012
Сообщений: 390
1

ВПФ Счет-фактуры

16.04.2013, 10:30. Просмотров 1671. Ответов 2
Метки нет (Все метки)

Проблема с печатной формой. Выводится на 2-ую страницу шапка таблицы после строки (на скрине подробно).
Сначала была проблема как в этой теме Оптимизация вывода Таб дока
Поковырял процедуру
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Процедура ПроверитьВыводСчетаФактурыНаСтраницу(ТабДокумент, ОбластьТекСтроки, ЭтоПоследняяСтрока, Макет)
    
    // Проверим возможность вывода табличного документа
    СтрокаСПодвалом = Новый Массив;
    СтрокаСПодвалом.Добавить(ОбластьТекСтроки);
    Если ЭтоПоследняяСтрока Тогда
        // Если последняя строка, то должен поместиться еще итог и подвал
        СтрокаСПодвалом.Добавить(Макет.ПолучитьОбласть("Итого"));
        СтрокаСПодвалом.Добавить(Макет.ПолучитьОбласть("Подвал"));
    КонецЕсли;
    
    Если НЕ ОбщегоНазначенияБПВызовСервера.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаСПодвалом) Тогда
        // Вывод разделителя и заголовка таблицы на новой странице
        ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        ТабДокумент.Вывести(Макет.ПолучитьОбласть("ЗаголовокТаблицы"));
    КонецЕсли;
    
КонецПроцедуры
Пробовал удалять
1C
1
2
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        ТабДокумент.Вывести(Макет.ПолучитьОбласть("ЗаголовокТаблицы"));
тогда переносится норм, но шапку таблицы не выводит на следующую страницу.
Как можно сделать, чтоб верхнюю строку на 2 странице пихало под шапку?
0
Миниатюры
ВПФ Счет-фактуры   ВПФ Счет-фактуры  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2013, 10:30
Ответы с готовыми решениями:

изменения счет-фактуры
Просмотрела форум, но не нашла обсеждения последних изменений по сч.-ф. Что нужно изменить в...

Счет-фактуры не открываются
Обновил, все нормально прошло, данные есть, а счет-фактуры не открываются... пишет ошибки какие-то...

Печатная форма Счет-фактуры
Такая вот проблема. В 1С есть печатная форма Счета-фактуры. И в ней надо убрать несколько строк, в...

Внешняя печатная форма счет-фактуры
Как сделать внешнюю печатную форму счет-фактуры полученной, чтобы печатать ее из документа...

Подключение Счет Фактуры К Конфигурации 1c 7.7 Аналит Фармация
Здравствуйте, как всем известно вышла новая версия счет-фактуры, на нашем предприятии используют...

2
Augusto
70 / 70 / 1
Регистрация: 18.12.2012
Сообщений: 390
16.04.2013, 10:33  [ТС] 2
Вот сама функция формирования таб дока
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Функция ПечатьСчетовФактур1137(МассивОбъектов, ОбъектыПечати, ТекстЗапросаПоСчетамФактурам) Экспорт
 
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.АвтоМасштаб         = Истина;
    ТабДокумент.ПолеСверху          = 0;
    ТабДокумент.ПолеСнизу           = 0;
    ТабДокумент.ОриентацияСтраницы  = ОриентацияСтраницы.Ландшафт;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура1137";
    
    СисИнфо = Новый СистемнаяИнформация;
    Если ПустаяСтрока(СисИнфо.ИнформацияПрограммыПросмотра) Тогда 
        ТабДокумент.ПолеСлева          = 0;
        ТабДокумент.ПолеСправа         = 0;
    Иначе
        ТабДокумент.ПолеСлева          = 10;
        ТабДокумент.ПолеСправа         = 10;
    КонецЕсли;
 
 
    Макет = ПолучитьМакет("ПФ_MXL_СчетФактура1137");
    
    ДанныеСчетовФактур = ПолучитьДанныеДляПечатиСчетаФактуры1137(МассивОбъектов, ТекстЗапросаПоСчетамФактурам);
    
    ПервыйДокумент = Истина;
    
    Для Каждого ВыборкаСФ ИЗ ДанныеСчетовФактур Цикл
        
        ТаблицаДокумента = ВыборкаСФ.ТаблицаДокумента;
        Если ТаблицаДокумента = Неопределено Тогда
            Продолжить;
        КонецЕсли;
        
        Если НЕ ПервыйДокумент Тогда
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        ПервыйДокумент = Ложь;
 
        // Запомним номер строки, с которой начали выводить текущий документ.
        НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
 
        // Вывод шапки
 
        ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
        ДанныеШапки   = ВыборкаСФ.ДанныеШапки;
        
        ОбластьМакета.Параметры.Номер = "Счет-фактура № " + ДанныеШапки.Номер + " от " + Формат(ДанныеШапки.Дата, "ДЛФ='ДД'");
        ОбластьМакета.Параметры.НомерИсправления = "Исправление № " + ДанныеШапки.НомерИсправления + " от " + Формат(ДанныеШапки.ДатаИсправления, "ДЛФ='ДД'");
        ОбластьМакета.Параметры.ПредставлениеПоставщика = "Продавец: " + ДанныеШапки.ПредставлениеПоставщика;
        ОбластьМакета.Параметры.АдресПоставщика = "Адрес: " + ДанныеШапки.АдресПоставщика;
        ОбластьМакета.Параметры.ИННПоставщика = "ИНН/КПП продавца: " + ДанныеШапки.ИННПоставщика + ?(ЗначениеЗаполнено(ДанныеШапки.КПППоставщика), "/" + ДанныеШапки.КПППоставщика, "");
        ОбластьМакета.Параметры.ПредставлениеГрузоотправителя = "Грузоотправитель и его адрес: " + ДанныеШапки.ПредставлениеГрузоотправителя;
        ОбластьМакета.Параметры.ПредставлениеГрузополучателя = "Грузополучатель и его адрес: " + ДанныеШапки.ПредставлениеГрузополучателя;
        ОбластьМакета.Параметры.ПоДокументу = "К платежно-расчетному документу № " + ДанныеШапки.ПоДокументу;
        ОбластьМакета.Параметры.ПредставлениеПокупателя = "Покупатель: " + ДанныеШапки.ПредставлениеПокупателя;
        ОбластьМакета.Параметры.АдресПокупателя = "Адрес: " + ДанныеШапки.АдресПокупателя;
        ОбластьМакета.Параметры.ИННПокупателя = "ИНН/КПП покупателя: " + ДанныеШапки.ИННПокупателя + ?(ЗначениеЗаполнено(ДанныеШапки.КПППокупателя), "/" + ДанныеШапки.КПППокупателя, "");
        ОбластьМакета.Параметры.Валюта = "Валюта: наименование, код " + ДанныеШапки.ВалютаНаименование;
 
        ТабДокумент.Вывести(ОбластьМакета);
 
        // Вывод информации о комиссионере по договорам комиссии на закупку
        
        Если ЗначениеЗаполнено(ДанныеШапки.ПредставлениеКомиссионера) Тогда
        
            ОбластьМакета = Макет.ПолучитьОбласть("РеквизитыКомиссионера");
            ОбластьМакета.Параметры.ПредставлениеКомиссионера = ДанныеШапки.ПредставлениеКомиссионера;
            ТабДокумент.Вывести(ОбластьМакета);
        
        КонецЕсли;
 
        // Вывод заголовка таблицы
 
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
        ТабДокумент.Вывести(ОбластьМакета);
 
        // Вывод табличной части
        
        ОбластьМакета = Макет.ПолучитьОбласть("Строка");
 
        НомерСтроки = 0;
        КоличествоСтрок = ТаблицаДокумента.Количество();
        Для каждого СтрокаДокумента Из ТаблицаДокумента Цикл
            
            НомерСтроки = НомерСтроки + 1;
            ОбластьМакета.Параметры.Заполнить(СтрокаДокумента);
            ДозаполнитьСтрокуСчетаФактуры1137(ОбластьМакета, ВыборкаСФ.ВидСчетаФактуры);
            ПроверитьВыводСчетаФактурыНаСтраницу(ТабДокумент, ОбластьМакета, (НомерСтроки = КоличествоСтрок), Макет);
            ТабДокумент.Вывести(ОбластьМакета);
 
        КонецЦикла;
 
        ТабДокумент.Область(ТабДокумент.ВысотаТаблицы,,ТабДокумент.ВысотаТаблицы,).ВместеСоСледующим = Истина;
        
        // Вывод итоговых сумм
 
        ОбластьМакета = Макет.ПолучитьОбласть("Итого");
        Если ВыборкаСФ.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс
            ИЛИ ВыборкаСФ.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАвансКомитента Тогда
            ОбластьМакета.Параметры.ИтогоСтоимость = "--";
        Иначе
            ОбластьМакета.Параметры.ИтогоСтоимость = ТаблицаДокумента.Итог("Стоимость");
        КонецЕсли;
        Если ВыборкаСФ.СчетФактураБезНДС Тогда
            ОбластьМакета.Параметры.ИтогоСуммаНДС = "без НДС";
        Иначе
            ОбластьМакета.Параметры.ИтогоСуммаНДС = ТаблицаДокумента.Итог("СуммаНДС");
        КонецЕсли;
        ОбластьМакета.Параметры.ИтогоВсего = ТаблицаДокумента.Итог("Всего");
        ТабДокумент.Вывести(ОбластьМакета);
 
        // Вывод подвала
 
        ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
        ОбластьМакета.Параметры.Заполнить(ДанныеШапки);
        ТабДокумент.Вывести(ОбластьМакета);
 
        // В табличном документе зададим имя области, в которую был выведен объект.
        // Нужно для возможности печати покомплектно.
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент,
            НомерСтрокиНачало, ОбъектыПечати, ВыборкаСФ.СчетФактура);
 
    КонецЦикла;
 
    Возврат ТабДокумент;
 
КонецФункции
0
duk337
2950 / 1762 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.04.2013, 17:38 3
в типовой УТ ТОРГ-12 реализована с выводом подвала на каждой странице.
Если ПроверитьВывод не осилить, тогда считайте строки. Но это исключает "жидкое масштабирование" (типа "По ширине листа").
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2013, 17:38

Кто сталкивался с такой траблой, счет фактуры 1137
На днях нам обновили 1С 7.7 под новый вариант счета фактуры 1137 который. И возникла проблема, 1с...

Создание ВПФ Счет на оплату для УТ 11
Тренируюсь на создании ВПФ. Делаю Счет на оплату для УТ 11 под УП. Дошел до момента //Вывести...

Из модуля ВПФ открыть форму ВПФ
Добрый день. Подскажите каким макаром открыть форму внешней печтаной формы (далее ВПФ) из модуля...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru