• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы aaaa
  • Дата начала
A

aaaa

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

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

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

СГРУППИРОВАТЬ ПО
Данные.ЛицевойСчет) КАК Данные

в нем есть вычисляемое поле кол-во "МесяцевЗадолженности" и "Период" по регистру сведений и накопления.

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

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

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

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

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

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

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

Ругается на неверное условие в запросе.
 
D

Darlock

Доброго времени суток.

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

aaaa

Доброго времени суток.

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

Доброго.
Пытаюсь установить параметры в запросе
 
A

aaaa

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

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!