|
Простой вопрос по программному созданию табличной части. | ☑ | ||
---|---|---|---|---|
0
memogolik
23.01.12
✎
15:01
|
К примеру есть запрос, который возвращает номенклатуру и количество товара. Задача записать это все в документ СписаниеТоваров
Вот что получилось. Для отладки отчета я сначала записываю результаты в таблицу значений, потом пытаюсь записать результат в документ. Процедура КнопкаВыполнитьНажатие(Кнопка) // Вставить содержимое обработчика. Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Номенклатура Как Товар, | Сумма(Коэффициент*Количество) КАК ПолноеКоличество | |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары |ГДЕ | Склад = &ВыбСклад и | Ссылка.Дата<=&ВыбКонПериода и | Ссылка.Дата>=&ВыбНачПериода и | Номенклатура.ВидНоменклатуры = &ВыбВидыНоменклатуры |СГРУППИРОВАТЬ ПО | Номенклатура |УПОРЯДОЧИТЬ ПО | Номенклатура.Наименование |"; Запрос.УстановитьПараметр("ВыбСклад", ВыбСклад); Запрос.УстановитьПараметр("ВыбВидыНоменклатуры", ВыбВидыНоменклатуры); Запрос.УстановитьПараметр("ВыбНачПериода", ВыбНачПериода); Запрос.УстановитьПараметр("ВыбКонПериода", ВыбКонПериода); Результат = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.ТЗ.Значение = Результат; Элементыформы.ТЗ.СоздатьКолонки(); Результат = Запрос.Выполнить().Выбрать(); ДокСписание = Документы.СписаниеТоваров.СоздатьДокумент(); ВыбОрганизация = Справочники.Организации.НайтиПоКоду("ЦБ0000013"); ДокСписание.Организация = ВыбОрганизация; ДокСписание.Склад = ВыбСклад; ДокСписание.Дата = ТекущаяДата(); Пока Результат.Следующий() Цикл ДокСписание.Товары.Добавить(); ДокСписание.Товары.Номенклатура =Результат.Товар; КонецЦикла; ДокСписание.Записать(); КонецПроцедуры Таблицу значений обработка заполняет корректно, а вот с документом почему то ничего не получается ( В цикле (Пока Результат.Следующий() Цикл) данные через точку для "ДокСписание.Товары." и "Результат.Товар." недоступны. Ругается соответственно так: {Форма.Форма.Форма(37)}: Поле объекта не обнаружено (Номенклатура) ДокСписание.Товары.Номенклатура =Результат.Номенклатура; Заранее спасибо за помощь. |
|||
1
Wobland
23.01.12
✎
15:02
|
(0) какая строка Результата имеется в виду в 37й строке? код не читал
|
|||
2
ДенисЧ
23.01.12
✎
15:02
|
стр - докСписание.Товары.Добавть();
стр.Номенклатура = Результат.Товар; Почитай мурзилку... |
|||
3
Wobland
23.01.12
✎
15:03
|
(1) у меня обычно Результатом ТЗ зовётся...
(0) НоваяСтрока=Док.Товары.Добавить(); НоваяСтрока.Номенклатура= |
|||
4
memogolik
23.01.12
✎
15:04
|
(2) можно поподробнее? в коде ДокСписание.Товары.Добавить() есть
|
|||
5
Wobland
23.01.12
✎
15:04
|
(4) эта конструкция _возвращает_ тебе добавляемую строку
|
|||
6
salvator
23.01.12
✎
15:04
|
(4) Читай внимательнее 2-ю строчку в (3) и сравнивай с тем, что у тебя
|
|||
7
Ненавижу 1С
гуру
23.01.12
✎
15:05
|
НоваяСтрока = ДокСписание.Товары.Добавить();
НоваяСтрока.Номенклатура = Результат.Товар; |
|||
8
memogolik
23.01.12
✎
15:06
|
(3) (7)
Спасибо братцы, опять помогли начинающему восьмерочнику! ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |