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

Выборка всех записей в запросе?

Автор |R|U|D|E|N, 24 мая 2011, 14:55

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

|R|U|D|E|N

Добрый времени суток.

Такая простая казалось бы задача, а полностью поставила меня в тупик)

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

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

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

    СписокПараметров = Новый Структура;
   
   СписокПараметров.Вставить("Дата");
   СписокПараметров.Вставить("Контрагент");
   СписокПараметров.Вставить("Документ");
   СписокПараметров.Вставить("Оборудование");
        СписокПараметров.Вставить("SN");
        СписокПараметров.Вставить("Статус");
   СписокПараметров.Вставить("ОписаниеСтатуса");
   СписокПараметров.Вставить("Информация");

   
   Если ВыборкаДетальныеЗаписи.Следующий() Тогда
       
   СписокПараметров.Дата = ВыборкаДетальныеЗаписи.Дата;
   СписокПараметров.Документ = ВыборкаДетальныеЗаписи.Документ;
   СписокПараметров.Контрагент = ВыборкаДетальныеЗаписи.Контрагент;
   СписокПараметров.Оборудование = ВыборкаДетальныеЗаписи.Оборудование;
   СписокПараметров.SN = ВыборкаДетальныеЗаписи.SN;
   СписокПараметров.Статус = ВыборкаДетальныеЗаписи.Статус;
        СписокПараметров.ОписаниеСтатуса = ВыборкаДетальныеЗаписи.ОписаниеСтатуса;
   СписокПараметров.Информация = ВыборкаДетальныеЗаписи.Информация;
      
   КонецЕсли;
      
        Возврат СписокПараметров;    

      
КонецФункции


Регистры, из которых я получаю статусы так устроенны что этих статусов у конкретного НомераЗаказа может быть несколько(первый, второй и т.д).
при выполнении выше преведенной функции я получаю только один - первый статус НомераЗаказа а как получить ВСЕ статусы этого НомераЗаказа из регистра?

вывод должен иметь примерно такой вид:

Контрагент, Оборудование, серийник - дата, статус1,описаниеСтатуса1, инфо  / дата, статус2, описаниеСтатуса2, инфо ....

Очень надеюсь на вашу помощь!


Klyacksa

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

И плюс, проверьте, что у заказа под номером Номер было в регистре действительно несколько статусов.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

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

Рейтинг@Mail.ru

Поиск