|
Вопрос по табличной части документа | ☑ | ||
---|---|---|---|---|
0
memogolik
02.04.12
✎
18:12
|
Есть запрос, который возвращает список документов
я хочу в табличной части этих документов увеличить суммы вдвое. Вот мой код. Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Объект = Выборка.Ссылка.ПолучитьОбъект(); Колич = Выборка.Товары.Количество; Для счетчик=0 По Колич Цикл Строка = Объект.Товары.Получить(счетчик); Строка.Сумма=Строка.Сумма*Коэффициент; КонецЦикла; КонецЦикла; В синтакс помощнике есть метод "Количество" для табличной части документа. Но в моем коду выдается ошибки именно на эту строку: Колич = Выборка.Товары.Количество; //в документе есть табличная часть под названием "Товары". Не подскажете в чем может быть ошибка? Заранее спасибо за ответ. |
|||
1
Господин ПЖ
02.04.12
✎
18:12
|
код - г.вно...
|
|||
2
memogolik
02.04.12
✎
18:13
|
(1) спасибо за конструктивизм. )
|
|||
3
rbcvg
02.04.12
✎
18:14
|
Выборка = табличная часть под названием "Товары"?
|
|||
4
memogolik
02.04.12
✎
18:17
|
Выборка содержит список документов, у которых есть табличная часть с названием "Товары"
|
|||
5
unregistered
02.04.12
✎
18:18
|
Колич = Объект.Товары.Количество();
Если в запросе к документам был запрос к вложенной табличной части Товары, то Колич = Выборка.Товары.Выбрать().Количество(); |
|||
6
unregistered
02.04.12
✎
18:18
|
+ к (5), но присоединяюсь к (1)!
|
|||
7
rbcvg
02.04.12
✎
18:18
|
(4) еще есть вопросы?
|
|||
8
memogolik
02.04.12
✎
18:21
|
Запрос = Новый Запрос();
Запрос.Текст=" |ВЫБРАТЬ Ссылка |ИЗ |Документ.ОприходованиеТоваров |ГДЕ | Ссылка.Дата<=&КонПериода И | Ссылка.Дата>=&НачПериода И | Ссылка.ВидОперации=&ВыбВидОперации И | Ссылка.Проведен |СГРУППИРОВАТЬ ПО Ссылка |"; Запрос.УстановитьПараметр("ВыбВидОперации",ВыбВидОперации); Запрос.УстановитьПараметр("КонПериода",КонПериода); Запрос.УстановитьПараметр("НачПериода",НачПериода); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Объект = Выборка.Ссылка.ПолучитьОбъект(); //Колич = Объект.Товары.Количество; Колич = Выборка.Товары.Выбрать().Количество(); Для счетчик=0 По Колич Цикл Строка = Объект.Товары.Получить(счетчик); Строка.Сумма=Строка.Сумма*Коэффициент; КонецЦикла; КонецЦикла; все равно не работает( |
|||
9
memogolik
02.04.12
✎
18:23
|
(6) а как написать чтобы не г@вно было. Просто первая обработка табличной части в восьмерке.
|
|||
10
Шапокляк
02.04.12
✎
18:24
|
Ясное дело не работает.
Объект = Выборка.Ссылка.ПолучитьОбъект(); Для Каждого Строка Из Объект.Товары Цикл Строка.Сумма=...... КонецЦикла; Объект.Записать(РежимЗаписиДокумента.Проведение); |
|||
11
unregistered
02.04.12
✎
18:25
|
(8) Я по-моему русским языком написал: ЕСЛИ В ЗАПРОСЕ К ДОКУМЕНТАМ БЫЛ ЗАПРОС К ВЛОЖЕННОЙ ТАБЛИЧНОЙ ЧАСТИ ТОВАРЫ
Где у тебя в тексте запрос к табличной части Товары? Его нет. Поэтому используй Колич = Объект.Товары.Количество(); |
|||
12
Шапокляк
02.04.12
✎
18:28
|
(11) А ему зачем строки считать и потом обращаться по индексу? Чтобы прочувствовать, что с 0 по Колич Цикл не отработает? Пусть сразу строки перебирает, так менеее г@внокодисто получится
|
|||
13
memogolik
02.04.12
✎
18:29
|
Всем спасибо, учту на будущее, спасибо за критику)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |