Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 03:24

Получить документ на основании

Автор Dirijabl, 03 фев 2016, 09:17

0 Пользователей и 1 гость просматривают эту тему.

Dirijabl

Добрый день. Конфигурация УТ 11, необходимо получить документ Счет на оплату клиенту, введенный на основании Заказа клиента. Код в модуле:
Запрос = Новый Запрос;   
   Запрос.Текст =
     "ВЫБРАТЬ
     |   СвязанныеДокументы.Ссылка КАК СсылкаНаДокумент
     |ИЗ
     |   КритерийОтбора.СвязанныеДокументы(&Документ) КАК СвязанныеДокументы
     |ГДЕ
     |   СвязанныеДокументы.Ссылка ССЫЛКА Документ.СчетНаОплатуКлиенту"  ;
   Запрос.УстановитьПараметр("Документ", ДанныеПечати.Основание);
   Результат=Запрос.Выполнить().Выгрузить();   
   Для каждого НужныйДокумент из Результат Цикл
   НужныйДокумент = Результат[0];
        КонецЦикла;
Судя по консоли, запрос должен выводить правильное значение, в модуле параметр установлен верно, а дальше наверное неправильно вывожу результат. Помогите пожалуйста.

cska-fanat-kz

что мешает запрос сразу к документам Счет на оплату сделать?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

Небольшая ошибка в цикле, запрос может вернуть несколько ссылок на документы (либо не одной)
попробуйте такой цикл

Если Результат.Количество() = 0 Тогда
   Сообщить("Нет ссылок");
Иначе
   Для каждого НужныйДокумент из Результат Цикл
      Сообщить(НужныйДокумент.СсылкаНаДокумент);
      //здесь можете что-то сделать с НужныйДокумент.СсылкаНаДокумент
   КонецЦикла;
КонецЕсли;

если помогло нажмите: Спасибо!

Dirijabl

Пробую, срабатывает первый вариант, нет ссылок. Но почему? Если проверить именно запрос, он возвращает нужное значение (скрин). Но когда смотрю Результат через отладчик, ссылки на документ нет. Может все же неправильно обрабатываю?

Rasty

хах, вы смотрите индексы и колонки нажмите на результат и нажмите F2
Добавлено: 03 фев 2016, 14:40


Цитата: Dirijabl от 03 фев 2016, 09:17
Для каждого НужныйДокумент из Результат Цикл
   НужныйДокумент = Результат[0];
КонецЦикла;
а вот это вообще лишнее, если вы уже решили выбирать только один документ, то достаточно этого

НужныйДокумент = Результат[0];

Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Dirijabl

если выбирать только один, не в цикле - {ВнешняяОбработка.УПД.МодульОбъекта(376)}: Индекс находится за границами массива
   НужныйДокумент = Результат[0];

Rasty

значит ничего нет в результате запроса
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск