Имя: Пароль:
1C
1С v8
Ошибка чтения значения
0 aleks_p99
 
26.01.17
11:13
Здравствуйте! Не могу найти ошибку: ВыборкаДетальныеЗаписи.СредКолЧеловек - Ошибка чтения значения
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СУММА(ВЫБОР
        |            КОГДА КВП_ПроживающиеИЗарегистрированные.ДатаСнятияСРегистрации <= &ТекущаяДата
        |                    И КВП_ПроживающиеИЗарегистрированные.ДатаСнятияСРегистрации <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |                ТОГДА РАЗНОСТЬДАТ(&ДатаРасчета, КВП_ПроживающиеИЗарегистрированные.ДатаСнятияСРегистрации, ДЕНЬ) + 1
        |            ИНАЧЕ РАЗНОСТЬДАТ(&ДатаРасчета, &ТекущаяДата, ДЕНЬ) + 1
        |        КОНЕЦ) / РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&ДатаРасчета, МЕСЯЦ), КОНЕЦПЕРИОДА(&ТекущаяДата, МЕСЯЦ), ДЕНЬ) КАК СредКолЧеловек
        |ИЗ
        |    РегистрСведений.КВП_ПроживающиеИЗарегистрированные КАК КВП_ПроживающиеИЗарегистрированные
        |ГДЕ
        |    ВЫБОР
        |            КОГДА КВП_ПроживающиеИЗарегистрированные.ДатаСнятияСРегистрации = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        |                ТОГДА КВП_ПроживающиеИЗарегистрированные.ДатаРегистрации <= КОНЕЦПЕРИОДА(&ДатаРасчета, МЕСЯЦ)
        |            ИНАЧЕ &ДатаРасчета МЕЖДУ КВП_ПроживающиеИЗарегистрированные.ДатаРегистрации И КВП_ПроживающиеИЗарегистрированные.ДатаСнятияСРегистрации
        |        КОНЕЦ
        |    И КВП_ПроживающиеИЗарегистрированные.ЛицевойСчет = &ЛицевойСчет";
    
    Запрос.УстановитьПараметр("ДатаРасчета", ДатаРасчета);
    Запрос.УстановитьПараметр("ЛицевойСчет", ЛицевойСчет);
    Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        СредКолЧеловек = ВыборкаДетальныеЗаписи.Значение;
    КонецЦикла;
1 Господин ПЖ
 
26.01.17
11:15
Значение

нет такого поля в запросе
2 aleks_p99
 
26.01.17
11:21
3 h-sp
 
26.01.17
11:27
(2) ну да. Только одно поле "СредКолЧеловек"
4 aleks_p99
 
26.01.17
11:30
(1) (3) , вы это имеете в виду? ошибка осталось
СредКолЧеловек = ВыборкаДетальныеЗаписи.СредКолЧеловек;
5 shadow_sw
 
26.01.17
11:35
ВыборкаДетальныеЗаписи.Количество()
?
6 aleks_p99
 
26.01.17
11:35
в других запросах "ВыборкаДетальныеЗаписи.Значение" и "ВыборкаДетальныеЗаписи.ИияПоля" отрабатывает, проблема не в этом. писал этот запрос в скд все отлично.(Да, нет консоль запроса)
7 shadow_sw
 
26.01.17
11:40
проверить выборку в консоли, есть ли результат
это к(5)
8 aleks_p99
 
26.01.17
11:40
цикл здесь не причем
9 h-sp
 
26.01.17
11:42
(8) в каком месте ставите точку останова "ВыборкаДетальныеЗаписи.СредКолЧеловек - Ошибка чтения значения"     ??
10 aleks_p99
 
26.01.17
11:42
(9) ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
11 h-sp
 
26.01.17
11:52
(10) чудило. Если тебе кто-то скажет, что до метода Следующий() ты что-то увидишь, нгабей морду этому товарищу.
12 aleks_p99
 
26.01.17
12:25
(11) точно, спасибо))