Запрос с параметром
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Пришел за помощью

    Регистрация
    09.12.2016
    Сообщений
    11
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Запрос с параметром

    Хочу получить запросом запись из справочника. Конкретную запись получаю через параметр. Потом запросом заполняю макет.На нем есть кнопка и реквизит "Цель"
    Но проблема в том,что запрос в результате оказывается пустой. Подскажите,как решить проблему?!
    Код:
            
    &НаКлиенте
    Процедура СформироватьОтчет(Команда)
        ЗаполнитьТабДок(ТабДок,Цель);
    КонецПроцедуры
    
    
    &НаСервереБезКонтекста
    Процедура ЗаполнитьТабДок(ТабДок,Цель)
        
        ТабДок.Очистить();
        Макет = Отчеты.ТестовыйОтчет.ПолучитьМакет("Макет");
        
        ОблШапка = Макет.ПолучитьОбласть("Шапка");
        ОблЭлемент = Макет.ПолучитьОбласть("Элемент");
        
        ОблШапка.Параметры.ДатаОтчета = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy; ДЛФ=DDT");
        ТабДок.Вывести(ОблШапка);
        
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                       |    ПрограммыТренировок.Программа.Реквизит1,
                       |    ПрограммыТренировок.Ссылка
                       |ИЗ
                       |    Справочник.ПрограммыТренировок КАК ПрограммыТренировок
                       |ГДЕ
                       |    ПрограммыТренировок.Ссылка = &Ссылка";
        Запрос.УстановитьПараметр("Ссылка",Цель);
        Результат = Запрос.Выполнить();
        Выборка = Запрос.Выполнить().Выбрать();
        
        Пока Выборка.Следующий() Цикл
            ОблЭлемент.Параметры.Заполнить(Выборка);
            ТабДок.Вывести(ОблЭлемент);
        КонецЦикла;
        
    КонецПроцедуры

  2. #2
    Гордость форума PRO +

    Регистрация
    29.11.2013
    Адрес
    Берег Волги
    Сообщений
    2015
    Сказал(а) спасибо
    650
    Поблагодарили 10225 раз(а) в 2693 сообщениях

    По умолчанию Re: Запрос с параметром

    Что собой представляет реквизит Цель?

  3. #3
    Пришел за помощью

    Регистрация
    09.12.2016
    Сообщений
    11
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Запрос с параметром

    Это объект перечисление. Если же цель совпадает с одной из ссылок в справочнике. то беру именно эту строку. Могу скрин выложить. будет понятнее

  4. #4
    Гордость форума PRO +

    Регистрация
    29.11.2013
    Адрес
    Берег Волги
    Сообщений
    2015
    Сказал(а) спасибо
    650
    Поблагодарили 10225 раз(а) в 2693 сообщениях

    По умолчанию Re: Запрос с параметром

    Цитата Сообщение от DenisSt Посмотреть сообщение
    Это объект перечисление. Если же цель совпадает с одной из ссылок в справочнике. то беру именно эту строку. Могу скрин выложить. будет понятнее
    Объект перечисление не может совпадать со ссылкой на справочник. Могут совпадать наименования, но объекты эти разные. Либо реквизит Цель должен быть ссылкой на элемент справочника, либо в условии запроса должен быть другой параметр.

  5. #5
    Пришел за помощью

    Регистрация
    09.12.2016
    Сообщений
    11
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Запрос с параметром

    Вот смотрите. Я выбираю цель(ПеречислениеСсылка.Це льПриСоставленииПрограммы Тренировок)
    https://pp.vk.me/c837735/v837735275/...xnZywpejvI.jpg

    Потом это значение передаю в процедуру. И сравниваю в запросе. Но если не так,то как иначе мне это реализовать.

  6. #6
    Гордость форума PRO +

    Регистрация
    29.11.2013
    Адрес
    Берег Волги
    Сообщений
    2015
    Сказал(а) спасибо
    650
    Поблагодарили 10225 раз(а) в 2693 сообщениях

    По умолчанию Re: Запрос с параметром

    Как я понимаю реквизит Цель (Перечисление) является одним из возможных реквизитов справочника ПрограммыТренировок, но никак не элементом этого справочника. А вы в запросе пытаетесь сравнить реквизит справочника (Цель) с каким-либо элементом этого справочника. Поэтому запрос ничего и не возвращает.
    Ну так и сравнивайте Цель с реквизитом справочника, а не с ссылкой на элемент справочника.
    То есть вместо
    |ГДЕ
    | ПрограммыТренировок.Ссылк� � = &Ссылка";

    Лолжно быть что-то вроде
    |ГДЕ
    | ПрограммыТренировок.Прогр� �мма.Реквизит1= &Ссылка";

  7. #7
    Пришел за помощью

    Регистрация
    09.12.2016
    Сообщений
    11
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Запрос с параметром

    Ага. Я вас понял. Сравниваю наименование с целью. Если есть совпадения,беру реквизит1 как реквизит ТЧ.
    https://pp.vk.me/c639616/v639616275/422/-5v1lWaQ5vA.jpg

    |ГДЕ
    | ПрограммыТренировок.Наиме� �ование = &Ссылка

    Результат получается тот же.
    Но все ра

  8. #8
    Пришел за помощью

    Регистрация
    09.12.2016
    Сообщений
    11
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Запрос с параметром

    Но все равно результат один и тот же.

  9. #9
    Гордость форума PRO +

    Регистрация
    29.11.2013
    Адрес
    Берег Волги
    Сообщений
    2015
    Сказал(а) спасибо
    650
    Поблагодарили 10225 раз(а) в 2693 сообщениях

    По умолчанию Re: Запрос с параметром

    Цитата Сообщение от DenisSt Посмотреть сообщение
    Но все равно результат один и тот же.
    Ну как вы не понимаете - нельзя в условии сравнивать разные объекты: справочник (ПрограммыТренировок.Ссылк а) с перечислением (Цель), строку (Наименование) с перечислением (Цель). Можно сравнивать только однотипные объекты.
    То есть следует сравнивать реквизит справочника типа перечисление с реквизитом вашей обработки Цель, имеющим тот же тип.

  10. #10
    Просто юзер
    Аватар для Анатолик
    Регистрация
    21.01.2011
    Адрес
    Россия, РО
    Сообщений
    52
    Сказал(а) спасибо
    6
    Поблагодарили 9 раз(а) в 6 сообщениях

    По умолчанию Re: Запрос с параметром

    Для начала предлагаю автору поста изучить метаданные конфигурации! Что наименование - это строковый тип данных и он не может быть равен ссылка, так же ссылка не равно Объект. Наименование можно сравнивать например с наименованием ссылки типа Наименование = Ссылка.Наименование, а ссылка это может быть что угодно - и справочник и документ и др, и это всё со своими реквизитами, в том числе и с наименованием.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Запрос к базе firebird из 1С
    от domovoy в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3
    Ответов: 4
    Последнее сообщение: 05.07.2022, 14:42
  2. Запрос в SQL
    от Gererro в разделе Прикладное программирование
    Ответов: 0
    Последнее сообщение: 27.10.2016, 10:14
  3. Запрос с сайта в 1с
    от rearm в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3
    Ответов: 2
    Последнее сообщение: 14.01.2016, 16:03
  4. Запрос с параметрами
    от MarkOther в разделе Конфигурирование, программирование 1С - Предприятие
    Ответов: 2
    Последнее сообщение: 16.11.2013, 01:35
  5. Запрос 1с 8.1
    от light-lexa в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3
    Ответов: 0
    Последнее сообщение: 19.06.2013, 17:43

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •