|
Табличный документ. Вывод в табличный документ со смещением. | ☑ | ||
---|---|---|---|---|
0
Svetlana_Kazan
20.09.17
✎
11:00
|
Помоги, пожалуйста, найти ошибку. Почему-то выводится табличный документ со смещением в одну колонку
http://pastenow.ru/54480636a65e47ea637c7c8c52582a3b Все перепроверила. Если выводить только заголовок, то он выводится нормально. Проблема при выводе шапки. НовыйТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("КонтрольОснХарактеристик"); ОбластьКонтрольХарактеристикИТЗаголовок = Макет.ПолучитьОбласть("КонтрольХарактеристикЗаголовок"); ОбластьКонтрольХарактеристикШапкаОбщая = Макет.ПолучитьОбласть("КонтрольХарактеристикШапка|Общая"); ОбластьКонтрольХарактеристикШапка1 = Макет.ПолучитьОбласть("КонтрольХарактеристикШапка1|Дата"); ОбластьКонтрольХарактеристикШапка2 = Макет.ПолучитьОбласть("КонтрольХарактеристикШапка2|Дата"); ОбластьКонтрольХарактеристикСтроки1 = Макет.ПолучитьОбласть("КонтрольХарактеристикСтроки|Общая"); ОбластьКонтрольХарактеристикСтроки2 = Макет.ПолучитьОбласть("КонтрольХарактеристикСтроки|Дата"); ОбластьКонтрольХарактеристикПустыеСтроки1 = Макет.ПолучитьОбласть("КонтрольХарактеристикПустыеСтроки|Общая"); ОбластьКонтрольХарактеристикПустыеСтроки2 = Макет.ПолучитьОбласть("КонтрольХарактеристикПустыеСтроки|Дата"); НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикЗаголовок); НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикШапкаОбщая); Секция1 = Новый ТабличныйДокумент; Секция2 = Новый ТабличныйДокумент; Секция1.Вывести(ОбластьКонтрольХарактеристикШапка1); //ГодТЗ - таблица значений. Колонка "Год". Таблица значений представляет из себя перечень годов, в которые проводили работы. Для каждого ЭлементТЗ Из ГодТЗ Цикл ОбластьКонтрольХарактеристикШапка2.Параметры.Год = ЭлементТЗ.Год; Секция2.Присоединить(ОбластьКонтрольХарактеристикШапка2.ПолучитьОбласть(1,1,ОбластьКонтрольХарактеристикШапка2.ВысотаТаблицы,ОбластьКонтрольХарактеристикШапка2.ШиринаТаблицы)); КонецЦикла; Секция1.Вывести(Секция2); ОбъединитьОбласть(Секция1,1,1,1,Секция1.ШиринаТаблицы); НовыйТабДок.Присоединить(Секция1.ПолучитьОбласть(1,1,Секция1.ВысотаТаблицы, Секция1.ШиринаТаблицы)); ДанныеТЗ = РезультатКонтрольХарактеристик.Выгрузить(); НомерСтроки = 0; Для каждого ЭлементТЗ Из ДанныеТЗ Цикл ОбластьКонтрольХарактеристикСтроки1.Параметры.Заполнить(ЭлементТЗ); НомерСтроки = НомерСтроки + 1; ОбластьКонтрольХарактеристикСтроки1.Параметры.НомерСтроки = НомерСтроки; ОбластьКонтрольХарактеристикСтроки1.Параметры.Характеристика = Строка(ЭлементТЗ.Характеристика) + ?(Строка(ЭлементТЗ.ЕдиницаИзмерения)="", "", ?(Строка(ЭлементТЗ.Характеристика)="", Строка(ЭлементТЗ.ЕдиницаИзмерения), ", " + Строка(ЭлементТЗ.ЕдиницаИзмерения)));; НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикСтроки1); Секция3 = Новый ТабличныйДокумент; Для каждого ЭлемТЗ Из ГодТЗ Цикл Если ЭлемТЗ.Год = ЭлементТЗ.Год Тогда ОбластьКонтрольХарактеристикСтроки2.Параметры.Заполнить(ЭлементТЗ); ОбластьКонтрольХарактеристикСтроки2.Параметры.Замерил = Строка(ЭлементТЗ.ЗамерилДолжность) + ?(Строка(ЭлементТЗ.ЗамерилДолжность)="", "", ?(Строка(ЭлементТЗ.ЗамерилФИО)="", "", ", ")) + Строка(ЭлементТЗ.ЗамерилФИО) + " "; Секция3.Присоединить(ОбластьКонтрольХарактеристикСтроки2); Иначе Секция3.Присоединить(ОбластьКонтрольХарактеристикПустыеСтроки2); КонецЕсли; КонецЦикла; НовыйТабДок.Присоединить(Секция3); ОбъединитьОбласть(НовыйТабДок,1,1,НовыйТабДок.ВысотаТаблицы,1); КонецЦикла; |
|||
1
Ёпрст
20.09.17
✎
11:08
|
(0) и зачем так делать ?!
Для каждого ЭлементТЗ Из ГодТЗ Цикл ОбластьКонтрольХарактеристикШапка2.Параметры.Год = ЭлементТЗ.Год; Секция2.Присоединить(ОбластьКонтрольХарактеристикШапка2.ПолучитьОбласть(1,1,ОбластьКонтрольХарактеристикШапка2.ВысотаТаблицы,ОбластьКонтрольХарактеристикШапка2.ШиринаТаблицы)); КонецЦикла; |
|||
2
Ёпрст
20.09.17
✎
11:10
|
И вложенные секции, там как бэ тоже не упали.
|
|||
3
Ёпрст
20.09.17
✎
11:13
|
>>>Секция1.Вывести(Секция2);
Это вообще за гранью.. |
|||
4
Svetlana_Kazan
20.09.17
✎
11:16
|
(3) Таким образом я под одной шапкой "Дата проведения измерения" размещаю шапку для годов из таблицы значений.
|
|||
5
Svetlana_Kazan
20.09.17
✎
11:18
|
Даже если я ничего не делаю, а только вывожу ОбластьКонтрольХарактеристикШапкаОбщая, то уже проблема возникает со смещением в одну колонку. Что не так?
|
|||
6
Ёпрст
20.09.17
✎
11:24
|
(0) на вот:
НовыйТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("КонтрольОснХарактеристик"); ОбластьКонтрольХарактеристикИТЗаголовок = Макет.ПолучитьОбласть("КонтрольХарактеристикЗаголовок"); ОбластьКонтрольХарактеристикШапкаОбщая = Макет.ПолучитьОбласть("КонтрольХарактеристикШапка|Общая"); ОбластьКонтрольХарактеристикШапкаДата = Макет.ПолучитьОбласть("КонтрольХарактеристикШапка|Дата"); ОбластьКонтрольХарактеристикСтрокиОбщая = Макет.ПолучитьОбласть("КонтрольХарактеристикСтроки|Общая"); ОбластьКонтрольХарактеристикСтрокиДата = Макет.ПолучитьОбласть("КонтрольХарактеристикСтроки|Дата"); ОбластьКонтрольХарактеристикПустыеСтрокиДата = Макет.ПолучитьОбласть("КонтрольХарактеристикПустыеСтроки|Дата"); НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикЗаголовок); НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикШапкаОбщая); //ГодТЗ - таблица значений. Колонка "Год". Таблица значений представляет из себя перечень годов, в которые проводили работы. Для каждого ЭлементТЗ Из ГодТЗ Цикл ОбластьКонтрольХарактеристикШапкаДата.Параметры.Год = ЭлементТЗ.Год; НовыйТабДок.Присоединить(ОбластьКонтрольХарактеристикШапкаДата); КонецЦикла; ДанныеТЗ = РезультатКонтрольХарактеристик.Выгрузить(); НомерСтроки = 0; Для каждого ЭлементТЗ Из ДанныеТЗ Цикл ОбластьКонтрольХарактеристикСтрокиОбщая.Параметры.Заполнить(ЭлементТЗ); НомерСтроки = НомерСтроки + 1; ОбластьКонтрольХарактеристикСтрокиОбщая.Параметры.НомерСтроки = НомерСтроки; ОбластьКонтрольХарактеристикСтрокиОбщая.Параметры.Характеристика = Строка(ЭлементТЗ.Характеристика) + ?(Строка(ЭлементТЗ.ЕдиницаИзмерения)="", "", ?(Строка(ЭлементТЗ.Характеристика)="", Строка(ЭлементТЗ.ЕдиницаИзмерения), ", " + Строка(ЭлементТЗ.ЕдиницаИзмерения)));; НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикСтрокиОбщая); Для каждого ЭлемТЗ Из ГодТЗ Цикл Если ЭлемТЗ.Год = ЭлементТЗ.Год Тогда ОбластьКонтрольХарактеристикСтрокиДата.Параметры.Заполнить(ЭлементТЗ); ОбластьКонтрольХарактеристикСтрокиДата.Параметры.Замерил = Строка(ЭлементТЗ.ЗамерилДолжность) + ?(Строка(ЭлементТЗ.ЗамерилДолжность)="", "", ?(Строка(ЭлементТЗ.ЗамерилФИО)="", "", ", ")) + Строка(ЭлементТЗ.ЗамерилФИО) + " "; НовыйТабДок.Присоединить(ОбластьКонтрольХарактеристикСтрокиДата); Иначе НовыйТабДок.Присоединить(ОбластьКонтрольХарактеристикПустыеСтрокиДата); КонецЕсли; КонецЦикла; КонецЦикла; |
|||
7
Ёпрст
20.09.17
✎
11:25
|
Надеюсь, по названию секций поймешь, какие секции оставить
|
|||
8
Svetlana_Kazan
20.09.17
✎
11:34
|
(7) Спасибо!
Проверила. Сдвиг остался по-прежнему. И не знаю, что с этим делать... |
|||
9
Svetlana_Kazan
20.09.17
✎
11:39
|
(6) в этом коде с каждым годом повторяется и "Дата проведения измерения", а в моем случае она одна на все года.
|
|||
10
Ёпрст
20.09.17
✎
11:43
|
(8) какой сдвиг ?
|
|||
11
mistеr
20.09.17
✎
11:44
|
(0) А если оставить только
НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикЗаголовок); НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикШапкаОбщая); Смещение есть? |
|||
12
Svetlana_Kazan
20.09.17
✎
11:45
|
(11) да
|
|||
13
Svetlana_Kazan
20.09.17
✎
11:48
|
Если пройти по ссылке, там приведено как выводится. Сверху есть табличный документ ТабДок. Он выводится нормально. Далее я формирую и вывожу еще один табличный документ НовыйТабДок.
Объединяю эти табличные документы процедурой ДобавитьТабдок(ТабДок, НовыйТабДок); Процедура ДобавитьТабдок(ТДПриемник, ТДИсточник) ТДИсточник.Область(1,1,ТДИсточник.ВысотаТаблицы, ТДИсточник.ШиринаТаблицы).СоздатьФорматСтрок(); ТДПриемник.Вывести(ТДИсточник); КонецПроцедуры |
|||
14
mistеr
20.09.17
✎
11:48
|
Значит что-то с шириной колонок. Вероятно из-за предыдущего вывода (пустая сетка).
|
|||
15
Ёпрст
20.09.17
✎
11:48
|
(12) что за "сдвиг" у тебя ?
На счет общего заголовка - втыкай "по выделенным" столбцам галку |
|||
16
Ёпрст
20.09.17
✎
11:49
|
и параметр только у первой заполняй
|
|||
17
Svetlana_Kazan
20.09.17
✎
11:52
|
Я и заголовок не выводила. Оставляла только НовыйТабДок.Вывести(ОбластьКонтрольХарактеристикШапкаОбщая);
А сдвиг все равно есть. |
|||
18
Ёпрст
20.09.17
✎
11:55
|
(17) еще раз, че за сдвиг ?
|
|||
19
Ёпрст
20.09.17
✎
11:57
|
Вы под своим "сдвигом" считаете первую колонку что ле ?
Тогда секцию "Общее" делайте со второй колонки, а не с первой. Не будет вам "сдвига" |
|||
20
Svetlana_Kazan
20.09.17
✎
12:56
|
(19) Спасибо! Получилось.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |