8.х Запросы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем planfin, 9 июл 2010.

  1. TopicStarter Overlay
    planfin
    Offline

    planfin

    Регистрация:
    17 май 2010
    Сообщения:
    48
    Симпатии:
    0
    Баллы:
    1
    Нетиповое решение на платформе 8.1.14.72, уровень - начинающий.

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

    Программа срабатывает без ошибок, но запрос не выполняется.
    Поскажите, пожалуйста, что я делаю не так?
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Возьмите ваш запрос и вставьте его в консоль запросов. Первоначально можно без условия " |ГДЕ ОформлениеФинансирования.ИсточникДохода = &ВыбДох", посмотрите выводит ли он вам что-то в принципе. Добавьте свое условие, и попробуйте потом с ним.
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А в отладчике смотре после запрос Выполнить.Выгрузить() в ТЗ есть что нить?
  4. TopicStarter Overlay
    planfin
    Offline

    planfin

    Регистрация:
    17 май 2010
    Сообщения:
    48
    Симпатии:
    0
    Баллы:
    1
    Выводит, то что надо, а когда я вставляю ГДЕ - не срабатывает.
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Значение переменной не забываете задавать? (кнопка "Параметры").
    реквизит "ИсточникДохода" - какой тип имеет?
  6. TopicStarter Overlay
    planfin
    Offline

    planfin

    Регистрация:
    17 май 2010
    Сообщения:
    48
    Симпатии:
    0
    Баллы:
    1
    В модуле формы обработки отчета у меня две процедуры, одна процедура
    берет значение переменной ИсточникДохода, который имеет
    тип Перечисление. То есть в списке формы для отчета я указываю нужный мне доход,
    программа передает эту переменную на обработку другой процедуре (КнопкаСформироватьНажатие(Кнопка)).
    И она ее успешно принимает. Я проверяла это командой Сообщить.
    А дальше, если я вставлю ГДЕ запрос не выполнется, без ГДЕ - выбираются все документы.

    Код:
    Перем ВыбранДох;
    Процедура ИсточникДоходовОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    ВыбранДох =  Строка(ВыбранноеЗначение);
    КонецПроцедуры
    Процедура КнопкаСформироватьНажатие(Кнопка)
    Сообщить(ВыбранДох);
    
    
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    У Вас в документе ОформлениеФинансирования.ИсточникДохода каккой тип имеет? перечисление?

    а тут вы строку делаете ВыбранДох = Строка(ВыбранноеЗначение); и передаете потом строку? зачем к строке преобразовывать
  8. TopicStarter Overlay
    planfin
    Offline

    planfin

    Регистрация:
    17 май 2010
    Сообщения:
    48
    Симпатии:
    0
    Баллы:
    1
    ОформлениеФинансирования.ИсточникДохода имеет тип Перечисление.Ссылка.ИсточникДоходов
  9. TopicStarter Overlay
    planfin
    Offline

    planfin

    Регистрация:
    17 май 2010
    Сообщения:
    48
    Симпатии:
    0
    Баллы:
    1
    заменила ВыбранДох = Строка(ВыбранноеЗначение); на ВыбранДох = ВыбранноеЗначение;
    и все заработало. Спасибо.

Поделиться этой страницей