|
Не удается установить параметр на запрос | ☑ | ||
---|---|---|---|---|
0
FreeWay
08.11.13
✎
01:04
|
Имеется ниже следующий код
[spoiler=Раскрывающийся Текст][code=Ic]ВЫБРАТЬ Данные.ЛицевойСчет, ВЫРАЗИТЬ(ВЫБОР КОГДА Данные.СуммаСреднемесячныхНачислений = 0 ТОГДА "нет данных" ИНАЧЕ Данные.СуммаЗадолженности / Данные.СуммаСреднемесячныхНачислений КОНЕЦ КАК ЧИСЛО(15, 1)) КАК МесяцевЗадолженности, Данные.СуммаЗадолженности, Данные.СуммаСреднемесячныхНачислений, 1 КАК КоличествоЛицевыхСчетов ИЗ (ВЫБРАТЬ Данные.ЛицевойСчет КАК ЛицевойСчет, СУММА(Данные.СуммаЗадолженности) КАК СуммаЗадолженности, СУММА(Данные.СуммаСреднемесячныхНачислений) КАК СуммаСреднемесячныхНачислений ИЗ (ВЫБРАТЬ ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет КАК ЛицевойСчет, ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК СуммаЗадолженности, 0 КАК СуммаСреднемесячныхНачислений ИЗ РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ркСреднемесячныеНачисленияСрезПоследних.ЛицевойСчет, 0, ркСреднемесячныеНачисленияСрезПоследних.Сумма ИЗ РегистрСведений.ркСреднемесячныеНачисления.СрезПоследних КАК ркСреднемесячныеНачисленияСрезПоследних) КАК Данные СГРУППИРОВАТЬ ПО Данные.ЛицевойСчет) КАК Данные[/code][/spoiler] в нем есть вычисляемое поле кол-во "МесяцевЗадолженности" и "Период" по регистру сведений и накопления. в СКД "Период" проставляется в Параметрах СКД и "МесяцевЗадолженности" в Настройка->Отбор. Вопрос: как наложить эти два условия, что бы программно, а не через СКД использовать запрос? У меня пока не получилось ;( а пробовал примерно так [spoiler=Раскрывающийся Текст][code=Ic]ВЫБРАТЬ Данные.ЛицевойСчет, ВЫРАЗИТЬ(ВЫБОР КОГДА Данные.СуммаСреднемесячныхНачислений = 0 ТОГДА "нет данных" ИНАЧЕ Данные.СуммаЗадолженности / Данные.СуммаСреднемесячныхНачислений КОНЕЦ КАК ЧИСЛО(15, 1)) КАК МесяцевЗадолженности, Данные.СуммаЗадолженности, Данные.СуммаСреднемесячныхНачислений, 1 КАК КоличествоЛицевыхСчетов ИЗ (ВЫБРАТЬ Данные.ЛицевойСчет КАК ЛицевойСчет, СУММА(Данные.СуммаЗадолженности) КАК СуммаЗадолженности, СУММА(Данные.СуммаСреднемесячныхНачислений) КАК СуммаСреднемесячныхНачислений ИЗ (ВЫБРАТЬ ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет КАК ЛицевойСчет, ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК СуммаЗадолженности, 0 КАК СуммаСреднемесячныхНачислений ИЗ РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ркСреднемесячныеНачисленияСрезПоследних.ЛицевойСчет, 0, ркСреднемесячныеНачисленияСрезПоследних.Сумма ИЗ РегистрСведений.ркСреднемесячныеНачисления.СрезПоследних КАК ркСреднемесячныеНачисленияСрезПоследних) КАК Данные СГРУППИРОВАТЬ ПО Данные.ЛицевойСчет) КАК Данные ГДЕ Данные.Период >=(&Период) и Данные.МесяцевЗадолженности = &МесяцевЗадолженности"; Запрос.УстановитьПараметр("Период", Период); Запрос.УстановитьПараметр("МесяцевЗадолженности", МесяцевЗадолженности); ТаблицаЛицевыхСчетов = Запрос.Выполнить().Выбрать(); [/code][/spoiler] Ругается на неверное условие в запросе. |
|||
1
sanja26
08.11.13
✎
01:18
|
Как же достали вложенные запросы
|
|||
2
FreeWay
08.11.13
✎
01:21
|
Код не мой, а разгребать мне ((
|
|||
3
sanja26
08.11.13
✎
01:26
|
(2) так ты выбери период и месяцзадолженности во вложенном запросе в поля или накладывай условие внутри вложенного запроса
|
|||
4
FreeWay
08.11.13
✎
01:36
|
(3)
уровень у меня слабоват ( |
|||
5
FreeWay
08.11.13
✎
02:44
|
||||
6
Wobland
08.11.13
✎
06:08
|
а вырази "нет данных" как число, пожалуйста
|
|||
7
M_Flint
08.11.13
✎
07:30
|
Где в Данные есть поле с именем Период?
ГДЕ Данные.Период >=(&Период) и Данные.МесяцевЗадолженности = &МесяцевЗадолженности"; да и месяцевЗадолженности там нет. |
|||
8
1dvd
08.11.13
✎
07:35
|
ГДЕ Данные.Период >=(&Период) и Данные.МесяцевЗадолженности = &МесяцевЗадолженности";
Запрос.УстановитьПараметр("Период", Период); Запрос.УстановитьПараметр("МесяцевЗадолженности", МесяцевЗадолженности); ТаблицаЛицевыхСчетов = Запрос.Выполнить().Выбрать(); вместо точек с запятой ставь И, ИЛИ |
|||
9
1dvd
08.11.13
✎
07:35
|
О, пардон. не туда глянул
|
|||
10
Ofizer
08.11.13
✎
07:37
|
(7) МесяцевЗадолженности есть, а вот Период, действительно нет
|
|||
11
M_Flint
08.11.13
✎
08:46
|
(10), МесяцевЗадолженности формируется на основании Данных, но в Данные нет такого поля.
|
|||
12
Ofizer
08.11.13
✎
10:04
|
(11) согласен, не так выразился, я имел ввиду, что поля Период совсем нет, а не то что МесяцевЗадолженности находится в Данных
|
|||
13
FreeWay
08.11.13
✎
14:28
|
(5) Решил через СКД внешнего отчета
http://files.mail.ru/8EC8C548831E4D9B910BD5553197B28D - файл с примером [spoiler=Раскрывающийся Текст][code=Ic]ВЫБРАТЬ ркЗадолженностьЛицевыхСчетовОстатки.ВидРасчета, ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК Сумма, ВложенныйЗапрос.МесяцевЗадолженности ИЗ (ВЫБРАТЬ Данные.ЛицевойСчет КАК ЛицевойСчет, ВЫРАЗИТЬ(ВЫБОР КОГДА Данные.СуммаСреднемесячныхНачислений = 0 ТОГДА "нет данных" ИНАЧЕ Данные.СуммаЗадолженности / Данные.СуммаСреднемесячныхНачислений КОНЕЦ КАК ЧИСЛО(15, 1)) КАК МесяцевЗадолженности, Данные.СуммаЗадолженности КАК СуммаЗадолженности, Данные.СуммаСреднемесячныхНачислений КАК СуммаСреднемесячныхНачислений, 1 КАК КоличествоЛицевыхСчетов ИЗ (ВЫБРАТЬ Данные.ЛицевойСчет КАК ЛицевойСчет, СУММА(Данные.СуммаЗадолженности) КАК СуммаЗадолженности, СУММА(Данные.СуммаСреднемесячныхНачислений) КАК СуммаСреднемесячныхНачислений ИЗ (ВЫБРАТЬ ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет КАК ЛицевойСчет, ркЗадолженностьЛицевыхСчетовОстатки.СуммаОстаток КАК СуммаЗадолженности, 0 КАК СуммаСреднемесячныхНачислений ИЗ РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ркСреднемесячныеНачисленияСрезПоследних.ЛицевойСчет, 0, ркСреднемесячныеНачисленияСрезПоследних.Сумма ИЗ РегистрСведений.ркСреднемесячныеНачисления.СрезПоследних КАК ркСреднемесячныеНачисленияСрезПоследних) КАК Данные СГРУППИРОВАТЬ ПО Данные.ЛицевойСчет) КАК Данные) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ркЗадолженностьЛицевыхСчетов.Остатки КАК ркЗадолженностьЛицевыхСчетовОстатки ПО (ркЗадолженностьЛицевыхСчетовОстатки.ЛицевойСчет = ВложенныйЗапрос.ЛицевойСчет)[/code][/spoiler] |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |