Имя: Пароль:
1C
1С v8
Обработка результата запроса по поиску документа
0 Kvitok8320
 
22.08.13
07:43
Добрый день, подскажите пожалуйста:
выполнил запрос по поиску ссылки на документ - получил результат - начал обход выборки получил первое значени Тип:ВыборкаИзРезультатовЗапроса.
Внутри - нужный мне документ - каким способом мне к нему обратиться?

у меня написано вот так

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ДоговорЗайма.ссылка КАК НужныйДокумет
        |ИЗ
        |    Документ.ДоговорЗайма КАК ДоговорЗайма
        |ГДЕ
        |    ДоговорЗайма.Заемщик.Код = &Код
        |    И ДоговорЗайма.НомерДоговора = &НомерДоговора
        |
        |УПОРЯДОЧИТЬ ПО
        |    Заемщик,
        |    НомерДоговора";

    Запрос.УстановитьПараметр("Код", ("S"+ЧтениеФайл.ЗначениеАтрибута("ЗаемщикКод")));
    Запрос.УстановитьПараметр("НомерДоговора", ЧтениеФайл.ЗначениеАтрибута("ДоговорЗаймаНаименование"));

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        документ=ВыборкаДетальныеЗаписи;
    КонецЦикла;

при попытке в дальнейшем обратиться к табличной части документа
строка = документ.табличнаячасть1.добавить();
ругается Поле ТабличнаяЧасть1 не обнаружено
1 Wobland
 
22.08.13
07:44
ВыборкаДетальныеЗаписи.НужныйДокумент.ПолучитьОбъект()
2 Лодырь
 
22.08.13
07:44
ВыборкаДетальныеЗаписи.НужныйДокумент
3 1Cv8_accepted
 
22.08.13
07:44
Либо выбрать, либо выгрузить.
4 Kvitok8320
 
22.08.13
07:47
пробую
5 Wobland
 
22.08.13
07:48
не за что
6 Kvitok8320
 
22.08.13
07:48
(2) {Обработка.А_загрузка_целевки_В_догворазайма_из_XML.Форма.Форма.Форма(45,40)}: Неопознанный оператор
        ВыборкаДетальныеЗаписи.НужныйДокумент<<?>>; (Проверка: Сервер)
7 Kvitok8320
 
22.08.13
07:50
{Обработка.А_загрузка_целевки_В_догворазайма_из_XML.Форма.Форма.Форма(44)}: Поле объекта не обнаружено (НужныйДокумент)
        ВыборкаДетальныеЗаписи.НужныйДокумент.ПолучитьОбъект();
8 Kvitok8320
 
22.08.13
07:52
В отладчике когда "проваливаешься" внутрь вычисленного выражения "Документ" там есть "НужныйДокумент" с нужным мне значением
9 Wobland
 
22.08.13
07:55
(7) и в куда ты его получаешь?
10 Kvitok8320
 
22.08.13
07:58
для начала мне просто надо попасть в этот документ, а потом в его табличную часть строки добавить.

код я весь ввреху показал

дальше только уже попытки вставить табличную часть (которые бесполезны, пока объект не получен ...)
11 Wobland
 
22.08.13
08:04
(10) предлагаю завести переменную, в неё получать объект документа, в цикле ещё переменную для новой строки ТЧ документа
12 Kvitok8320
 
22.08.13
08:11
было вот так

ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
документ=ВыборкаДетальныеЗаписи;
КонецЦикла;

я пробовал предложенные варианты вот так
документ=ВыборкаДетальныеЗаписи.НужныйДокумент.Получить();
и
документ=ВыборкаДетальныеЗаписи.НужныйДокумент;

как написано выше - не прокатило

теперь попробовал вот это
документ2 = ВыборкаДетальныеЗаписи.Получить(1);
выдало вот что:
{Обработка.А_загрузка_целевки_В_догворазайма_из_XML.Форма.Форма.Форма(45)}: Ошибка при вызове метода контекста (Получить)
документ2 = ВыборкаДетальныеЗаписи.Получить(1); //
13 Kvitok8320
 
22.08.13
08:12
Значение индекса выходит за границы диапазона
14 Kvitok8320
 
22.08.13
08:12
Как будто там пусто
15 Wobland
 
22.08.13
08:13
(12) прекращай страдать ерундой, всё сказано
16 Kvitok8320
 
22.08.13
08:15
ок. а документ то как искать - перебором?
17 Wobland
 
22.08.13
08:16
(16) запрос подойдёт
18 Kvitok8320
 
22.08.13
08:22
так я и пытаюсь получить объект документа .... безуспешно ...
19 Wobland
 
22.08.13
08:23
(18) в куда?
20 Kvitok8320
 
22.08.13
08:24
в "Документ"
21 Wobland
 
22.08.13
08:30
(20) не вижу. а вообще - плохое имя для переменной
22 Kvitok8320
 
22.08.13
08:31
Извините "грамотея" ..... В самом начеле НужныйДокумет написано ... а не НужныйДокумент - Ваши рекомендации помогли - спасибо!!!