Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Получить данные из Запроса

Получить данные из Запроса
Я
   alexodel
 
16.05.19 - 14:24
Привет, подскажите мне как получить данные номера телефона
вот запрос и
МассивДляЗапроса = Новый Массив;
    МассивДляЗапроса.Добавить(П1);
    
    ЗапросЗаказПокупателя = Новый Запрос;
    ЗапросЗаказПокупателя.УстановитьПараметр("МассивДляЗапроса", МассивДляЗапроса);
    ЗапросЗаказПокупателя.Текст =
    "ВЫБРАТЬ
    |    ЗаказПокупателя.Номер КАК Номер,
    |    ЗаказПокупателя.Дата КАК Дата,
    |    ЗаказПокупателя.Проведен КАК Проведен,
    |    ЗаказПокупателя.ДокументОснование КАК СчетНаОплату,
    |    ЗаказПокупателя.СтруктурнаяЕдиницаПродажи КАК Подразделение,
    |    ЗаказПокупателя.Ответственный КАК Ответственный,
    |    ЗаказПокупателя.Ответственный.Физлицо.ДополнительныеРеквизиты.(
    |        Значение КАК ОтветственныйФизлицоЗначение
    |    ) КАК ОтветственныйФизлицо,
    |    ЗаказПокупателя.Ответственный.Физлицо.КонтактнаяИнформация.(
    |        НомерТелефона КАК ОтветственныйФизлицоНомерТелефона
    |    ) КАК КонтактныйТелефон,
    |    ЗаказПокупателя.Организация.Наименование КАК ОрганизацияНаименование
    |ИЗ
    |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |ГДЕ
    |    ЗаказПокупателя.Ссылка В(&МассивДляЗапроса)
    |
    |УПОРЯДОЧИТЬ ПО
    |    ЗаказПокупателя.Ссылка";
    
    РезультатЗапросЗаказПокупателя = ЗапросЗаказПокупателя.Выполнить().Выбрать(); //ИзДокументаПоступлениеНаСчет
    
    //Сообщить("ЕСТЬ 1"+ ИзДокументаПоступлениеНаСчет.ЗаказПокупателяНомер);
    
    Сообщить("ЕСТЬ ПЕРВЫЙ  главный уровень ОТВЕТ..."+РезультатЗапросЗаказПокупателя.Номер);
    
    Пока РезультатЗапросЗаказПокупателя.Следующий() цикл
        
        Сообщить("ЕСТЬ ПЕРВЫЙ ОТВЕТ..."+РезультатЗапросЗаказПокупателя.Подразделение);
        Сообщить("ЕСТЬ ВТОРОЙ ОТВЕТ..."+РезультатЗапросЗаказПокупателя.Ответственный);
        //Сообщить("ЕСТЬ ТРЕТИЙ ОТВЕТ..."+РезультатЗапросЗаказПокупателя.ОтветственныйФизлицоЗначение);
        //Сообщить("ЕСТЬ ЧЕТВЕРТНЫЙ ОТВЕТ..."+СтрокаТабличнойЧастиПродукция.ОтветственныйФизлицоНомерТелефона);
        
        //Сообщить("ЕСТЬ ЧЕТВЕРТНЫЙ ОТВЕТ..."+РезультатЗапросЗаказПокупателя.ОтветственныйФизлицоНомерТелефона);
        Сообщить("ЕСТЬ ПЯТЫЙ ОТВЕТ..."+РезультатЗапросЗаказПокупателя.ОрганизацияНаименование);
        
        //Сообщить("ЕСТЬ ВТОРОЙ ОТВЕТ..."+РезультатЗапросЗаказПокупателя.Номер);
        
        ЗаказПокупателяПодразделение = РезультатЗапросЗаказПокупателя.Подразделение;//Подразделение
        ДанныеПечати.Вставить("ЗаказПокупателяПодразделение", ЗаказПокупателяПодразделение);
        
        ЗаказПокупателяОтветсвенный = РезультатЗапросЗаказПокупателя.Ответственный;//Подразделение
        ДанныеПечати.Вставить("ЗаказПокупателяОтветсвенный", ЗаказПокупателяОтветсвенный);
        
        ЗаказПокупателяОтветсвенныйТелефон = РезультатЗапросЗаказПокупателя.КонтактныйТелефон;//Подразделение
        ДанныеПечати.Вставить("ЗаказПокупателяОтветсвенныйТелефон", ЗаказПокупателяОтветсвенныйТелефон);
        
        НазваниеНашейОрганизации = РезультатЗапросЗаказПокупателя.ОрганизацияНаименование;//Подразделение
        ДанныеПечати.Вставить("НазваниеНашейОрганизации", НазваниеНашейОрганизации);
        
        
    КонецЦикла;
 
 
   dka80
 
1 - 16.05.19 - 14:39
конкретно в твоем примере:
ВыборкаКонтакты = РезультатЗапросЗаказПокупателя.КонтактныйТелефон;
Пока ВыборкаКонтакты.Следующий() Цикл
    тут проверка на то, что это телефон, а не адрес
КонецЦикла;

Но я бы лучше левым соединением прицепил сразу табличную часть Контактная информация физлица с отбором по типу и виду контакта
   alexodel
 
2 - 16.05.19 - 16:29
(1) Ошибок синтатических нет, также нет данных, т.е. занчений нет никаких хотя поля номер телефона уже определенены
   HEKPOH
 
3 - 16.05.19 - 17:30
Какое кривое упорядочивание...
   dka80
 
4 - 16.05.19 - 17:34
РезультатЗапросЗаказПокупателя.КонтактныйТелефон - возвращает результат запроса. В отладчике выгрузи в таблицу значений и погляди что там.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.