|
Сложности с ТабДок.Присоединить() | ☑ | ||
---|---|---|---|---|
0
drcrasher
17.06.15
✎
17:02
|
Многоуважаемый Олл.
Столкнулся со странным: заполняю массив табличными документам, потом вывожу его в результирующий таб.док. Код вывода: РезДок = Новый ТабличныйДокумент; Ширина = 1; Для каждого мОбласть Из МассивОбластей Цикл Если Ширина = 1 Тогда РезДок.Вывести(мОбласть); Иначе РезДок.Присоединить(мОбласть); КонецЕсли; Ширина = Ширина + 1; Если Ширина = 5 Тогда Ширина = 1; КонецЕсли; КонецЦикла; Так сделано в печати ценников и там работает хорошо. Но у меня выводит следующим образом: 1 2 3 4 5 6 7 8 9 0 что я делаю не так? |
|||
1
Господин ПЖ
17.06.15
✎
17:05
|
условия не там по циклу
|
|||
2
drcrasher
17.06.15
✎
17:06
|
А подробнее?
|
|||
3
Господин ПЖ
17.06.15
✎
17:09
|
(2) а жеваной морковкой в рот не поплевать?
на такое не хватает мозгов - метлу в руки |
|||
4
drcrasher
17.06.15
✎
17:17
|
(3) я так понимаю, что тут тоже ошибка?
Если ТекСтолбец = 0 Тогда ТабДокумент.Вывести(ОбластьЦенника); Иначе ТабДокумент.Присоединить(ОбластьЦенника); КонецЕсли; ТекСтолбец = ТекСтолбец + 1; Если ТекСтолбец = 5 Тогда ТекСтрока = ТекСтрока + 1; ТекСтолбец = 0; КонецЕсли; |
|||
5
Зеленый пень
17.06.15
✎
17:23
|
(0) Сдается мне, тут не весь код. Ищи ошибку в другом месте.
|
|||
6
Господин ПЖ
17.06.15
✎
17:27
|
(4) не... наврал я
походу у тебя это из-за областей сложенных в массив точнее из-за их описания |
|||
7
Господин ПЖ
17.06.15
✎
17:29
|
если области такие:
м = ПолучитьМакет("Макет"); обл = м.ПолучитьОбласть("Строка");//!! МассивОбластей = Новый Массив; Для лч = 1 По 10 Цикл МассивОбластей.Добавить(обл); КонецЦикла; РезДок = Новый ТабличныйДокумент; Ширина = 1; Для каждого мОбласть Из МассивОбластей Цикл Если Ширина = 1 Тогда РезДок.Вывести(мОбласть); Иначе РезДок.Присоединить(мОбласть); КонецЕсли; Ширина = Ширина + 1; Если Ширина = 6 Тогда Ширина = 1; КонецЕсли; КонецЦикла; РезДок.Показать(); то они выведутся все в столбик: 1 2 3 4 5 6 7 8 9 10 а если так: м = ПолучитьМакет("Макет"); обл = м.ПолучитьОбласть("Строка|Колонка"); //!! МассивОбластей = Новый Массив; Для лч = 1 По 10 Цикл МассивОбластей.Добавить(обл); КонецЦикла; РезДок = Новый ТабличныйДокумент; Ширина = 1; Для каждого мОбласть Из МассивОбластей Цикл Если Ширина = 1 Тогда РезДок.Вывести(мОбласть); Иначе РезДок.Присоединить(мОбласть); КонецЕсли; Ширина = Ширина + 1; Если Ширина = 6 Тогда Ширина = 1; КонецЕсли; КонецЦикла; РезДок.Показать(); то по 5 в строку: 1 2 3 4 5 6 7 8 9 10 |
|||
8
drcrasher
17.06.15
✎
17:35
|
(7) и в первом и во втором случае выводилось одинаково, как в (0).
в МассивОбластей лежат ТабличныйДокумент'ы. Сделал примерно так: Если КолвоКолонок = 1 Тогда РезДок.Вывести(мОбласть.ПолучитьОбласть(1,1,мОбласть.ВысотаТаблицы, мОбласть.ШиринаТаблицы)); Иначе РезДок.Присоединить(мОбласть.ПолучитьОбласть(1,1,мОбласть.ВысотаТаблицы, мОбласть.ШиринаТаблицы)); КонецЕсли; и наступило щщасте. Всем спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |