Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 21:49
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Помогите с выводом результата запроса!  (Прочитано 4222 раз)

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

Оффлайн kynin

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-12
  • Сайт: 
  • Профессия: Ученик 1С
Доброго времени суток.
(Платформа 8.1 "управление торговлей" 10.3)
 у меня есть запрос. он находится в документ чекиККМ: ФормаДокумента. на форме есть поле ввода "ДисконтнаяКарта"(Открывает Справочник: Информационные карты, где есть код карты и Ф.И.О владельца карты) и добавил еще одно поле ввода "ТелефонПокупателя" мне нужно что бы при изменении "ДисконтнаяКарта" в "ТелефонПокупателя" отображался телефон контрагента.
 в консоле запросов запрос работает и выдает один номер.
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Код", ДисконтнаяКарта);
    Запрос.УстановитьПараметр("Телефон"   , Перечисления.ТипыКонтактнойИнформации.Телефон);
     Запрос.УстановитьПараметр("ТелефонКонтрагента"   , Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента);
    Запрос.Текст ="ВЫБРАТЬ
   ВЫБОР
      КОГДА КонтактнаяИнформация.Тип = &Телефон
            И КонтактнаяИнформация.Вид = &ТелефонКонтрагента
         ТОГДА ПОДСТРОКА(КонтактнаяИнформация.Представление, 1, 100)
      ИНАЧЕ NULL
   КОНЕЦ КАК ТелефонКонтрагента
ИЗ
   РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ИнформационныеКарты КАК ИнформационныеКарты
      ПО КонтактнаяИнформация.Объект = ИнформационныеКарты.ВладелецКарты
ГДЕ
   (ВЫРАЗИТЬ(КонтактнаяИнформация.Объект КАК Справочник.Контрагенты)) = КонтактнаяИнформация.Объект
   И (НЕ ВЫБОР
            КОГДА КонтактнаяИнформация.Тип = &Телефон
                  И КонтактнаяИнформация.Вид = &ТелефонКонтрагента
               ТОГДА ПОДСТРОКА(КонтактнаяИнформация.Представление, 1, 100)
            ИНАЧЕ NULL
         КОНЕЦ ЕСТЬ NULL )
   И ИнформационныеКарты.КодКарты = &Код"

И в общем то сама моя проблема: возможно ли вывести результат запроса в форму документа?
если возможно то как это сделать?

p.s. КонтактнаяИнформация - это регистр сведений, где есть столбцы объект (фио покупателя), тип (телефон, адрес, и .т.д), Вид (ту уточняется какой телефон:телефонКонтрагента или дополнительныйТелефон), значение (тут сам телефон или адрес в зависимости от типа и вида).


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Как-то так
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Количество() > 0 Тогда
   Выборка.Следующий();
   ЭлементыФормы.ТелефонПокупателя.Значение = Выборка.ТелефонКонтрагента;
Иначе
   ЭлементыФормы.ТелефонПокупателя.Значение = "Не найден";
КонецЕсли;

Оффлайн kynin

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-12
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо.
 но он мне при выборе номера карты все время пишет "не найден".
 можно предположить что это потому что результат выборке не одно значение а несколько. хотя в консоли запросов показывает один результат. или я что то не понимаю???

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Если бы было несколько, то он бы подставил самое первое. Тут запрос смотреть надо. Попробуй так. Вобще можно и без эти параметров обойтись
//Запрос.УстановитьПараметр("Телефон"   , Перечисления.ТипыКонтактнойИнформации.Телефон);
//Запрос.УстановитьПараметр("ТелефонКонтрагента"   , Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента);
Просто указывай в запросе значение
  Запрос.Текст ="ВЫБРАТЬ
|   ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100)) КАК ТелефонКонтрагента
|ИЗ
|   РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ИнформационныеКарты КАК ИнформационныеКарты
|      ПО КонтактнаяИнформация.Объект = ИнформационныеКарты.ВладелецКарты
|           И КонтактнаяИнформация.Тип = Значение(Перечисление.ТипыКонтактнойИнформации.Телефон)
|           И КонтактнаяИнформация.Вид = Значение(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)
|ГДЕ
|   ИнформационныеКарты.КодКарты = &Код"

Оффлайн kynin

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-12
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо огромное) много мне нового подсказали. не знал что значение можно в запросе указать значение.
 проблема была в следующем:
параметр &код я брал с элемента формы "Дисконтные карты", в общем нужно было просто изменить параметр
 Запрос.УстановитьПараметр("Код", Строка(ДисконтнаяКарта)); т.е. значени этого поля представить как строка. и все. номер показывает))

Оффлайн Georg Podolian

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-03-09
  • Сайт: 
Добрый день!!! помогите!
Я хочу перевести 1с с обычных на уф.
Проблема в том, что не знаю как организовать запросы.
Обязательно ли запускать "Клиент-серверный" режим, или можно сделать в "файловом"?

Хочу сделать в УП по окончании воода по строке вызывать процедуру

Процедура ТелАвтоПодборНаСервере()

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Документ1.Тел
|ИЗ
| Документ.Документ1 КАК Документ1
|ГДЕ
| Документ1.Тел = &Телефон";

Запрос.УстановитьПараметр("Телефон", "097");
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Телефон);
КонецЦикла;
КонецПроцедуры

Оффлайн alex0402

  • *****
  • Сообщений: 1195
  • РЕПУТАЦИЯ: 184
  • КПД: 15%
  • Регистрация: 2010-09-10
  • Сайт: 
  • Профессия: Программист 1С
|ГДЕ | Документ1.Тел = &Телефон"; Запрос.УстановитьПараметр("Телефон", "097");

В базе есть телефон 097? если нет, то нужно:
|ГДЕ 
| Документ1.Тел Подобно &Телефон"; Запрос.УстановитьПараметр("Телефон", "097%");
Помощь в л/с $10

Оффлайн Georg Podolian

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-03-09
  • Сайт: 
|ГДЕ | Документ1.Тел = &Телефон"; Запрос.УстановитьПараметр("Телефон", "097");

В базе есть телефон 097? если нет, то нужно:
|ГДЕ 
| Документ1.Тел Подобно &Телефон"; Запрос.УстановитьПараметр("Телефон", "097%");


Да, в базе есть такой... Но сам запрос у меня есть рабочий, просто я не знаю как организовать получение в УФ...

Нужно как то выполнять часть кода на сервере или как?
у меня файловая система

Оффлайн alex0402

  • *****
  • Сообщений: 1195
  • РЕПУТАЦИЯ: 184
  • КПД: 15%
  • Регистрация: 2010-09-10
  • Сайт: 
  • Профессия: Программист 1С
Ну да все запросы к базе выполняются на стороне севера. Для этого перед функцией или процедурой должна быть директива &НаСервере,&НаСервереБезКонтекста,&НаСервереКлиентеБезКонтекста.
Помощь в л/с $10

Оффлайн Georg Podolian

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-03-09
  • Сайт: 
Ну да все запросы к базе выполняются на стороне севера. Для этого перед функцией или процедурой должна быть директива &НаСервере,&НаСервереБезКонтекста,&НаСервереКлиентеБезКонтекста.
Хорошо, так работает, только теперь мне нужно указать не "097", а значение поля которое называеться "Тел"???


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4304
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5565
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5903
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

Автор Dm109Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4399
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

Автор Vasya PovarРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1987
Последний ответ 07 Дек 2016, 15:53
от Kironten

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
141 Сообщений
AIFrame
73 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 353
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal