Имя: Пароль:
1C
1С v8
Заполнение таблицы перерасчета
0 aleks_p99
 
09.02.17
12:52
Здравствуйте. Необходимо заполнить таблицу перерасчета при перезаписи регистра сведения. Написал следующую процедуру, однако таблица пуста. проверял запрос в консоли работает.


&НаСервереБезКонтекста
Процедура ПередЗаписьюНаСервере()
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РегистрРасчетаНачислениеУслуг.ЛицевойСчета,
        |    РегистрРасчетаНачислениеУслуг.ТарифН,
        |    РегистрРасчетаНачислениеУслуг.Регистратор
        |ИЗ
        |    РегистрРасчета.РегистрРасчетаНачислениеУслуг КАК РегистрРасчетаНачислениеУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Константы.СрезПоследних КАК КонстантыСрезПоследних
        |        ПО (КонстантыСрезПоследних.Константа = РегистрРасчетаНачислениеУслуг.ТарифН)
        |ГДЕ
        |    РегистрРасчетаНачислениеУслуг.Регистратор.Дата >= КонстантыСрезПоследних.Период";
    
    РезультатЗапроса = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Перерасчет = РегистрыРасчета.РегистрРасчетаНачислениеУслуг.Перерасчеты.ПерерасчетНачислениеУслуг;
    Пока РезультатЗапроса.Следующий() Цикл
        НаборЗаписей = Перерасчет.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.ОбъектПерерасчета.Значение = РезультатЗапроса.Регистратор;
        Выборка = РезультатЗапроса.Выбрать();
        Пока Выборка.Следующий() Цикл
            Запись = НаборЗаписей.Добавить();
            Запись.ЛицевойСчета = Выборка.ЛицевойСчета;
            Запись.ТарифН = Выборка.ТарифН;
        КонецЦикла;

        НаборЗаписей.Записать(Ложь);

    КонецЦикла;

КонецПроцедуры
1 Альбатрос
 
09.02.17
13:25
ОбходРезультатаЗапроса.ПоГруппировкам - это зачем?
2 aleks_p99
 
09.02.17
13:36
(1) по примеру делал из книги "профессиональное программирование в 1с предприятии 8", без этого не работает. спасибо) проблему решил, в запросе ошибка была(