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