![]() |
![]() |
![]() |
|
Получить значение колонок таблицы значений | ☑ | ||
---|---|---|---|---|
0
1С: Новичок
20.09.04
✎
15:58
|
В таблице значений получил объект СтрокаТаблицыЗначений при помощи метода тзТаблицаЗначений.Найти(ВыбТовар, "Товар"). Как мне теперь получить значения колонок выбранной строки?
|
|||
1
Волшебник
20.09.04
✎
15:58
|
Значение1 = СтрокаТаблицыЗначений.Колонка1;
|
|||
2
1С: Новичок
20.09.04
✎
16:04
|
Не получается. Поясню подробнее. Существует таблица значений с тремя колонками "Товар", "Склад", "Количество". Эта таблица была сформирована через метод Остатки() регистра накопления "Остатки", где отбором служит конкретная строка табличной части документа. Как посмотреть содержимое колонки "Количество"?
|
|||
3
Волшебник
20.09.04
✎
16:06
|
тз = Запрос.Выполнить().Выгрузить();
НайденнаяСтрока = тз.Найти(ВыбТовар, "Товар"); Если НайденнаяСтрока <> Неопределено Тогда Количество = НайденнаяСтрока.Количество; КонецЕсли; кстати, виртуальная таблица колонки называет так: КоличествоОстаток |
|||
4
1С: Новичок
20.09.04
✎
16:15
|
Спасибо, Станислав. Я немного по другому сделал, не знаю корректно или нет, но данные выдает правильные. (Поясню. Это модуль проведения расходной накладной - проверка наличия на складе необходимого количества товара).
Процедура ОбработкаПроведения(Отказ, Режим) рег = РегистрыНакопления.Остатки; Для Каждого ТекСтрокаТовары Из Товары Цикл спр = Справочники.Номенклатура; ВыбТовар = Новый Структура; ВыбТовар.Вставить("Товар", спр.НайтиПоКоду(ТекСтрокаТовары.Товар.Код)); таб = рег.Остатки(Дата,ВыбТовар,"Товар, Склад", "Количество"); стр = таб.Найти(ТекСтрокаТовары.Товар, "Товар"); Сообщить(таб[0].Количество); КонецЦикла; КонецПроцедуры Таким образом, получили количество товара на складе, а дальше сравнение и проведение. Мне интересно твое мнение на этот счет. |
|||
5
Волшебник
20.09.04
✎
16:18
|
здесь ошибка!!!
стр = таб.Найти(ТекСтрокаТовары.Товар, "Товар"); Сообщить(таб[0].Количество); |
|||
6
1С: Новичок
20.09.04
✎
16:22
|
Поясни, пожалуйста. Чтобы впредь не повторять.
|
|||
7
1С: Новичок
20.09.04
✎
16:25
|
Кажется, понял. Если количество товара = 0, то количество строк в таблице = 0 и соответственно выдается ошибка. Спасибо! :)
|
|||
8
Волшебник
20.09.04
✎
16:26
|
правильно так:
стр = таб.Найти(ТекСтрокаТовары.Товар, "Товар"); Сообщить(стр.Количество); |
|||
9
Волшебник
20.09.04
✎
16:28
|
и не забывай проверять на Неопределено как в (3). Мало ли что...
|
|||
10
1С: Новичок
20.09.04
✎
16:34
|
Я сначал так и хотел написать "стр.Количество", но меня смутили всплывающие подсказки, появившиеся в контекстном поле после точки (там было "Получить" и "Установить" :)))
Еще раз спасибо за помощь. Двигаюсь дальше. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |