Как работать с таблицей значений?

Новая тема
"Выполняем некий запрос, его результаты выгружаем в таблицу значений.
Запрос выполнился проверяем:

если запрос.выполнить (текстзапроса) = 1 тогда

далее выгружаем:

запрос.выгрузить (тз,0,0);

проверяем, чтобы в таблице значений (тз) что-то было:

если тз.количествострок()>0 тогда

далее в цикле получаем строку

пока тз.получитьстроку() = 1 цикл
тс = тз.текущаястрока();

и из строки пытаемся получить занчение:

нинв = тз.получитьзначение (тс,1);

при выполнении имеем ошибку:

нинв = тз.получитьзначение (тс,1);
{Отчет.расчеты_с_пост.Форма.Модуль(44)}: Номер за пределами значения!

В чем здесь может быть дело?"
"При просмотре ТЗ с помощью цикла Текущей строки как таковой НЕТ
Она есть, если есть диалог и курсор установлен на определенную строку
Самое простое - использовать счетчик:
Ном = 1;
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
нинв = ТЗ.ПолучитьЗначение(Ном,1);  
Ном = Ном + 1;
КонецЦикла;"
"предыдущий вопрос снимается. зато возникает следующий вопрос:
можно ли создать запрос сразу к двум видам документов, если они связаны через реквизит, т.е. что-то типа:


|док = документ.оплата.текущийдокумент;  
|датао = документ.оплата.датадок;
|номеро = документ.оплата.номердок;
|контр = документ.оплата.инвойс.
                |контрагент.наименование;
|вал = документ.оплата.
                |инвойс.валюта.валюта.наименование;
|сттьвс = документ.оплата.стоимость_вс;
|сттьост = документ.оплата.инвойс.остаток_оплаты;
где, есть документ "оплата", а у него в табличной части есть реквизит "инвойс", который является ссылкой на другой документ?"
"Или если известны переменные запроса, тогда просто пользоваться ими
Допустим вы точно знаете, что в запросе есть переменная НИнв, которая вам и нужна. В ТЗ она выгрузится под тем же именем
т.е. в цикле по ТЗ можно тогда просто написать, что нинв = ТЗ.Нинв;

"
Ответов 2, потому что все зависит от обстоятельств:
1. Если Реквизит Инвойс - это КОНКРЕТНЫЙ документ, то ДА, можно!
2. Если Реквизит Инвойс имеет тип "Документ", то НЕТ, в теле запроса обратиться к реквизитам дока не получится, ибо непонятно к чему обращаться.Выход из этой ситуации - в запросе задавать переменной значение самого документа, который выступает реквизитом в первом доке (допустим Инвойс = документ.оплата.инвойс), а перебирая ТЗ получать контрагента уже через ТЗ.Инвойс.Контрагент.Наименование
Читают тему
(гостей: 1)

Быстрый переход