|
Проблемы с выгрузкой Табличной части документа | ☑ | ||
---|---|---|---|---|
0
Demonic10
22.10.12
✎
09:19
|
Всем привет. Пишу отчет на 1c v7.7, освавивая весь язык по ходу дела и напарываясь на кучу проблем, но вот с последней не могу разобраться уже довольно долго. Собственно потому и решил обратиться сюда. Суть проста - я выгружаю табличную часть документа в заранее созданную таблицу значений, но при этом в таблицу, по совершенно неведомой мне причине, записывается лишь последняя строка табличной части. Может я как -то неправильно использую метод?
|
|||
1
Demonic10
22.10.12
✎
09:20
|
Вот код.
Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Выводим Заголовок Таб.ВывестиСекцию("Заголовок"); // Создаем Документ Реализации Док = СоздатьОбъект("Документ.РеализацияРозница"); // Создаем выборку по документам реализации Док.ВыбратьДокументы(ВыбНачПериода, ВыбКонПериода); // Проходимся по документам реализации Пока Док.ПолучитьДокумент() > 0 Цикл ТекДок = Док.ТекущийДокумент(); Если СокрЛП(ТекДок.Автор) = СокрЛП(Менеджеры) Тогда ТаблЗнач = СоздатьОбъект("ТаблицаЗначений"); ТекДок.ВыгрузитьТабличнуюЧасть(ТаблЗнач); // Создаем выборку по строкам Табличной части документа реализации ТаблЗнач.ВыбратьСтроки(); // Проходимся по строкам табличной части документа реализации Пока ТаблЗнач.ПолучитьСтроку() = 1 Цикл //ТекСтр = СоздатьОбъект("ТаблицаЗначений"); ТекСтр = ТаблЗнач.ТекущаяСтрока(); КонецЦикла; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Состояние("Заполнение выходной таблицы..."); Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры |
|||
2
Галахад
гуру
22.10.12
✎
09:24
|
Таб.ВывестиСекцию("Строка");
почему за циклом? |
|||
3
Demonic10
22.10.12
✎
09:26
|
(2) А... не обращая внимание, надо так. Нужная мне часть находитться вот здесь вот.
ТаблЗнач = СоздатьОбъект("ТаблицаЗначений"); ТекДок.ВыгрузитьТабличнуюЧасть(ТаблЗнач); |
|||
4
butterbean
22.10.12
✎
09:27
|
(0) почему ты решил что там одна строка??
|
|||
5
Demonic10
22.10.12
✎
09:29
|
(4) Посмотрел в отладчике.
|
|||
6
Demonic10
22.10.12
✎
09:41
|
К тому же после того, как я осуществляю Выборку, чтобы пройтись по строкам - они все оказываются пустыми.
|
|||
7
Demonic10
22.10.12
✎
09:47
|
И да, еще один непонятный момент - после этой строки
ТаблЗнач.ВыбратьСтроки(); элементы ТаблЗнач перезаписываются на пустые строки |
|||
8
oartemyev
22.10.12
✎
11:37
|
у тебя в коде ошибка :
// Создаем выборку по строкам Табличной части документа реализации ТаблЗнач.ВыбратьСтроки(); // Проходимся по строкам табличной части документа реализации Пока ТаблЗнач.ПолучитьСтроку() = 1 Цикл //ТекСтр = СоздатьОбъект("ТаблицаЗначений"); ТекСтр = ТаблЗнач.ТекущаяСтрока(); КонецЦикла; Таб.ВывестиСекцию("Строка"); ты перебираешь все строки, а в Таб выводишь после выхода из цикла, а не внутри него. потому и выводится только последнее. Используй : // Создаем выборку по строкам Табличной части документа реализации ТаблЗнач.ВыбратьСтроки(); // Проходимся по строкам табличной части документа реализации Пока ТаблЗнач.ПолучитьСтроку() = 1 Цикл //ТекСтр = СоздатьОбъект("ТаблицаЗначений"); ТекСтр = ТаблЗнач.ТекущаяСтрока(); Таб.ВывестиСекцию("Строка"); КонецЦикла; |
|||
9
nv24
22.10.12
✎
11:40
|
(8) молодец.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |