Нужно Применить Пару Параметров К Запросу

Тема в разделе "1C и всё что с ней связано", создана пользователем aaaa, 8 ноя 2013.

  1. aaaa

    aaaa New Member

    Регистрация:
    7 апр 2011
    Сообщения:
    3
    Симпатии:
    0
    Имеется ниже следующий код
    Код ( (Unknown Language)):
    ВЫБРАТЬ
    Данные.ЛицевойСчет,
    ВЫРАЗИТЬ(ВЫБОР
    КОГДА Данные.СуммаСреднемесячныхНачислений = 0
    ТОГДА "нет данных"
    ИНАЧЕ Данные.СуммаЗадолженности / Данные.СуммаСреднемесячныхНачислений
    КОНЕЦ КАК ЧИСЛО(15, 1)) КАК МесяцевЗадолженности,
    Данные.СуммаЗадолженности,
    Данные.СуммаСреднемесячныхНачислений,
    1 КАК КоличествоЛицевыхСчетов
    ИЗ
    (ВЫБРАТЬ
    Данные.ЛицевойСчет КАК ЛицевойСчет,
    СУММА(Данные.СуммаЗадолженности) КАК СуммаЗадолженности,
    СУММА(Данные.СуммаСреднемесячныхНачислений) КАК СуммаСреднемесячныхНачислений
    ИЗ
    (ВЫБРАТЬ
    ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет КАК ЛицевойСчет,
    ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК СуммаЗадолженности,
    0 КАК СуммаСреднемесячныхНачислений
    ИЗ
    РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ркСреднемесячныеНачисленияСрезПоследних.ЛицевойСчет,
    0,
    ркСреднемесячныеНачисленияСрезПоследних.Сумма
    ИЗ
    РегистрСведений.ркСреднемесячныеНачисления.СрезПоследних КАК ркСреднемесячныеНачисленияСрезПоследних) КАК Данные

    СГРУППИРОВАТЬ ПО
    Данные.ЛицевойСчет) КАК Данные
    в нем есть вычисляемое поле кол-во "МесяцевЗадолженности" и "Период" по регистру сведений и накопления.

    в СКД "Период" проставляется в Параметрах СКД и "МесяцевЗадолженности" в Настройка->Отбор.

    Вопрос: как наложить эти два условия, что бы программно, а не через СКД использовать запрос?

    У меня пока не получилось ;(

    а пробовал примерно так
    Код ( (Unknown Language)):
    ВЫБРАТЬ
    Данные.ЛицевойСчет,
    ВЫРАЗИТЬ(ВЫБОР
    КОГДА Данные.СуммаСреднемесячныхНачислений = 0
    ТОГДА "нет данных"
    ИНАЧЕ Данные.СуммаЗадолженности / Данные.СуммаСреднемесячныхНачислений
    КОНЕЦ КАК ЧИСЛО(15, 1)) КАК МесяцевЗадолженности,
    Данные.СуммаЗадолженности,
    Данные.СуммаСреднемесячныхНачислений,
    1 КАК КоличествоЛицевыхСчетов
    ИЗ
    (ВЫБРАТЬ
    Данные.ЛицевойСчет КАК ЛицевойСчет,
    СУММА(Данные.СуммаЗадолженности) КАК СуммаЗадолженности,
    СУММА(Данные.СуммаСреднемесячныхНачислений) КАК СуммаСреднемесячныхНачислений
    ИЗ
    (ВЫБРАТЬ
    ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет КАК ЛицевойСчет,
    ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК СуммаЗадолженности,
    0 КАК СуммаСреднемесячныхНачислений
    ИЗ
    РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ркСреднемесячныеНачисленияСрезПоследних.ЛицевойСчет,
    0,
    ркСреднемесячныеНачисленияСрезПоследних.Сумма
    ИЗ
    РегистрСведений.ркСреднемесячныеНачисления.СрезПоследних КАК ркСреднемесячныеНачисленияСрезПоследних) КАК Данные

    СГРУППИРОВАТЬ ПО
    Данные.ЛицевойСчет) КАК Данные
    ГДЕ  Данные.Период >=(&Период) и Данные.МесяцевЗадолженности = &МесяцевЗадолженности";
    Запрос.УстановитьПараметр("Период", Период);
    Запрос.УстановитьПараметр("МесяцевЗадолженности", МесяцевЗадолженности);
    ТаблицаЛицевыхСчетов = Запрос.Выполнить().Выбрать();
    Ругается на неверное условие в запросе.
     
  2. Darlock

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    Доброго времени суток.

    В вашем вопросе, не совесем понятно, что вы хотите сделать. Посмотрите ветку эту тему, подсказка - отчет BSC. там пример программного управления условиями и параметрами формирования.
     
  3. aaaa

    aaaa New Member

    Регистрация:
    7 апр 2011
    Сообщения:
    3
    Симпатии:
    0
    Доброго.
    Пытаюсь установить параметры в запросе
    вложение Внешний отчет, скачать
     
  4. aaaa

    aaaa New Member

    Регистрация:
    7 апр 2011
    Сообщения:
    3
    Симпатии:
    0
    решил через СКД
    Код ( (Unknown Language)):
    ВЫБРАТЬ
    ркЗадолженностьЛицевыхСчетовОстатки.ВидРасчета,
    ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК Сумма,
    ВложенныйЗапрос.МесяцевЗадолженности
    ИЗ
    (ВЫБРАТЬ
    Данные.ЛицевойСчет КАК ЛицевойСчет,
    ВЫРАЗИТЬ(ВЫБОР
    КОГДА Данные.СуммаСреднемесячныхНачислений = 0
    ТОГДА "нет данных"
    ИНАЧЕ Данные.СуммаЗадолженности / Данные.СуммаСреднемесячныхНачислений
    КОНЕЦ КАК ЧИСЛО(15, 1)) КАК МесяцевЗадолженности,
    Данные.СуммаЗадолженности КАК СуммаЗадолженности,
    Данные.СуммаСреднемесячныхНачислений КАК СуммаСреднемесячныхНачислений,
    1 КАК КоличествоЛицевыхСчетов
    ИЗ
    (ВЫБРАТЬ
    Данные.ЛицевойСчет КАК ЛицевойСчет,
    СУММА(Данные.СуммаЗадолженности) КАК СуммаЗадолженности,
    СУММА(Данные.СуммаСреднемесячныхНачислений) КАК СуммаСреднемесячныхНачислений
    ИЗ
    (ВЫБРАТЬ
    ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет КАК ЛицевойСчет,
    ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК СуммаЗадолженности,
    0 КАК СуммаСреднемесячныхНачислений
    ИЗ
    РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ркСреднемесячныеНачисленияСрезПоследних.ЛицевойСчет,
    0,
    ркСреднемесячныеНачисленияСрезПоследних.Сумма
    ИЗ
    РегистрСведений.ркСреднемесячныеНачисления.СрезПоследних КАК ркСреднемесячныеНачисленияСрезПоследних) КАК Данные

    СГРУППИРОВАТЬ ПО
    Данные.ЛицевойСчет) КАК Данные) КАК ВложенныйЗапрос
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки
    ПО (ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет = ВложенныйЗапрос.ЛицевойСчет)
    Внешний отчет
     
Загрузка...

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