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

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