Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Не работает запрос 1С УТ 8.1  (Прочитано 11761 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tralf
Гость
« : 23-01-2009 13:45 » 

Здравствуйте!
помогите начинающему по части запросов в 1С 8.1.
Нужно выбрать все документы "Поступления товаров и услуг", где контрагент - значение поля "ВыборКонтрагента", и дата - между двумя выбранными.
Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |   ПоступлениеТоваровУслуг.Номер,
                  |   ПоступлениеТоваровУслуг.Товары.(
                  |      Номенклатура
                  |   )
                  |ИЗ
                  |   Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
                  |ГДЕ
                  |   ПоступлениеТоваровУслуг.Контрагент = &Поставщик
                  |   И ПоступлениеТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода";
   Запрос.УстановитьПараметр("Поставщик",ВыборПоставщика);
   Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
   Запрос.УстановитьПараметр("КонецПериода",КонецПериода);
   РезультатЗапроса = Запрос.Выполнить();
   Сообщить(РезультатЗапроса);

Все просто, но - не работает!  Жаль
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 23-01-2009 13:51 » 

как не работает? ошибка или пустой результат?
если результат пустой - условия выборки смотреть
ошибка - читать доку.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Tralf
Гость
« Ответ #2 : 23-01-2009 13:53 » 

выходит пустой результат.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 23-01-2009 13:58 » 

например
 Запрос.УстановитьПараметр("Поставщик",ВыборПоставщика);

а что такое ВыборПоставщика?
это функция? или как она там в 1С называется?
проверь в отладчике
подставь конкретное значение
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 23-01-2009 15:10 » 

Что такое Сообщить(РезультатЗапроса); Не понял
Читай в хелпе про тип РезультатЗапроса: там есть пример как получить данные.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 23-01-2009 15:13 » 

Кстати на интересную мысль натолкнул Sla:
у тебя в условиях ВыборКонтрагента, а в коде - ВыборПоставщика. Может совсем другое значение подставляется чем ты предполагаешь?

Sla, ВыборПоставщика - это скорее всего реквизит формы, т.к. в 1С поля, размещенные на форме и значения реквизитов зачастую имеют одинаковые названия (так работает RAD-tools в 1С)
Записан
Tralf
Гость
« Ответ #6 : 23-01-2009 15:17 » 

ВыборПоставщика - это значение элемента управления формы - поле ввода.
Действительно, при отладке предупреждение: Переменная не определена (Поставщик)
и оно же - после применения метода УстановитьПараметр
Записан
Tralf
Гость
« Ответ #7 : 23-01-2009 15:19 » 

To №5:
Опечатка - не в Конфигураторе, а здесь, на форуме
Записан
Tralf
Гость
« Ответ #8 : 23-01-2009 15:36 » 

Сообщить - выводить текст сообщения в окно сообщений
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 23-01-2009 20:39 » 

Я знаю что делает Сообщить() Улыбаюсь
просто РезультатЗапроса - это у тебя не текст!

Попробуй полностью посторить запрос с помощью констрктора (создай новый отчет и в нем запусти конструктор запросов). Увидишь где ошибся и как правильно работать с результатами
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines