|
v7: Проблемы с выгрузкой Табличной части документа | ☑ | ||
---|---|---|---|---|
0
Demonic10
22.10.12
✎
10:07
|
Всем привет. Пишу отчет на 1c v7.7, освавивая весь язык по ходу дела и напарываясь на кучу проблем, но вот с последней не могу разобраться уже довольно долго. Собственно потому и решил обратиться сюда. Суть проста - я выгружаю табличную часть документа в заранее созданную таблицу значений, но при этом в таблицу, по совершенно неведомой мне причине, записывается лишь последняя строка табличной части. Может я как -то неправильно использую метод? 4
Вот код. Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Выводим Заголовок Таб.ВывестиСекцию("Заголовок"); // Создаем Документ Реализации Док = СоздатьОбъект("Документ.РеализацияРозница"); // Создаем выборку по документам реализации Док.ВыбратьДокументы(ВыбНачПериода, ВыбКонПериода); // Проходимся по документам реализации Пока Док.ПолучитьДокумент() > 0 Цикл ТекДок = Док.ТекущийДокумент(); Если СокрЛП(ТекДок.Автор) = СокрЛП(Менеджеры) Тогда ТаблЗнач = СоздатьОбъект("ТаблицаЗначений"); ТекДок.ВыгрузитьТабличнуюЧасть(ТаблЗнач); // Создаем выборку по строкам Табличной части документа реализации ТаблЗнач.ВыбратьСтроки(); // Проходимся по строкам табличной части документа реализации Пока ТаблЗнач.ПолучитьСтроку() = 1 Цикл //ТекСтр = СоздатьОбъект("ТаблицаЗначений"); ТекСтр = ТаблЗнач.ТекущаяСтрока(); КонецЦикла; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Состояние("Заполнение выходной таблицы..."); Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры |
|||
1
НЕА123
22.10.12
✎
10:10
|
КонецЦикла;
Таб.ВывестиСекцию("Строка"); поменять местами? |
|||
2
AeDen
22.10.12
✎
10:10
|
1. Запустить код в отладчике, пройтись по строчкам, в каждой смотреть результат выполнения.
2. Как минимум 1 лишняя переменная. |
|||
3
Demonic10
22.10.12
✎
10:12
|
(1) С этим проблем нет.
(2) Я смотрел в отладчике, оттуда я и узнал что у меня в ТаблЗнач выгружается всего лишь одна строка, причем последняя. |
|||
4
Mikeware
22.10.12
✎
10:15
|
(3) ой, неправда....
|
|||
5
Demonic10
22.10.12
✎
10:16
|
(3) С чего бы?
|
|||
6
Demonic10
22.10.12
✎
10:18
|
Т.е. (4) С чего бы?
|
|||
7
НЕА123
22.10.12
✎
10:19
|
(2).2+1
зачем ТекСтр = ТаблЗнач.ТекущаяСтрока(); |
|||
8
povar
22.10.12
✎
10:20
|
(3) как смотрел ?
|
|||
9
Mikeware
22.10.12
✎
10:21
|
ТекДок.ВыгрузитьТабличнуюЧасть(ТаблЗнач);
Сообщить(ТаблЗнач.КоличествоСтрок()); что даст? |
|||
10
Demonic10
22.10.12
✎
10:22
|
(7) Ну это уже для получения конкретного ТМЦ. Прошу принять во внимание, что код еще недописан и многие моменты, в которых вы не видите смысла в будущем мне понадобятся.
|
|||
11
Demonic10
22.10.12
✎
10:23
|
(8) Как-как - запускал отладчик, запускал 1с-ку, запускал отчет, проходился по коду.
|
|||
12
Demonic10
22.10.12
✎
10:25
|
(9) По-разному, выдает 3-ки,1-ки и т.д. Вообщем строки есть.
|
|||
13
Mikeware
22.10.12
✎
10:25
|
(12) что и требовалось доказать.
|
|||
14
povar
22.10.12
✎
10:26
|
(12) значит в (3) - брэхня
|
|||
15
пипец
22.10.12
✎
10:26
|
Пока ТаблЗнач.ПолучитьСтроку() = 1 Цикл
//ТекСтр = СоздатьОбъект("ТаблицаЗначений"); ТекСтр = ТаблЗнач.ТекущаяСтрока(); КонецЦикла; Таб.ВывестиСекцию("Строка"); ????????????? |
|||
16
Mikeware
22.10.12
✎
10:28
|
(15) да и .ТекущаяСтрока(); тут не в тему...
|
|||
17
Demonic10
22.10.12
✎
10:31
|
Проблему решил. Всем Спасибо.
|
|||
18
povar
22.10.12
✎
10:31
|
(15) это в 1 сообщении было, но автор видимо "пейсатель", а не "читатель"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |