Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Получить остаток на дату

Получить остаток на дату
Я
   prilforreal
 
03.01.19 - 14:54
С новым годом миста! Пишу обработку, столкнулся с проблемой установки даты для получения остатка на нее же, уже сломал голову, помогите понять в чем же беда?

НачалоПериода=Дата(2018, 12, 1);
    КонецПериода=Дата(2018, 12, 31);
    ПарДата=(КонецДня(Дата(2018,12,31)));
    
    Макет = ЭтотОбъект.ПолучитьМакет("Макет");
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ПотолкиОбороты.Период,
        |    ПотолкиОбороты.Заказчик КАК Дилер,
        |    СУММА(ПотолкиОбороты.Площадь) КАК Площадь,
        |    РасчетыОстатки.Контрагент,
        |    РасчетыОстатки.БалансОстаток
        |ИЗ
        |    РегистрНакопления.Расчеты.Остатки(&ПарДата, ) КАК РасчетыОстатки
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Потолки.Обороты(, , Месяц, ) КАК ПотолкиОбороты
        |        ПО РасчетыОстатки.Контрагент = ПотолкиОбороты.Заказчик
        |ГДЕ
        |    ПотолкиОбороты.Период МЕЖДУ &НачалоПериода И &КонецПериода
        |    И РасчетыОстатки.БалансОстаток >= 0
        |
        |СГРУППИРОВАТЬ ПО
        |    ПотолкиОбороты.Заказчик,
        |    ПотолкиОбороты.Период,
        |    РасчетыОстатки.Контрагент,
        |    РасчетыОстатки.БалансОстаток";
    
    Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
    Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
    Запрос.УстановитьПараметр("ПарДата", ПарДата);    
    РезультатЗапроса = Запрос.Выполнить();
 
 
   IvanGorbunov
 
1 - 03.01.19 - 14:55
А в чем беда то?
   prilforreal
 
2 - 03.01.19 - 14:56
Нужно получить остаток в регистре расчеты на дату ПарДата, (1) Беда в том, что проверяет остаток на текущий момент
   prilforreal
 
3 - 03.01.19 - 15:04
(1) Не работают одновременно 2 условия, проверка положительного баланса и дата проверки баланса
   Chameleon1980
 
4 - 03.01.19 - 15:24
для начала выкинь
ПотолкиОбороты.Период МЕЖДУ &НачалоПериода И &КонецПериода
и сделай
через параметры ВТ

условие 
РасчетыОстатки.БалансОстаток >= 0

перенеси в соединение
   Valery
 
5 - 03.01.19 - 21:07
а что у тебя условия не в параметрах регистров?
   Valery
 
6 - 03.01.19 - 21:18
надо учесть, что конец дня это 23.59.59 начало последней секунды, а в секунде можно еще кучу документов поместить. может их и не захватывает?
   Дмитрий
 
7 - 04.01.19 - 09:05
Запрос.УстановитьПараметр("ПарДата", новый граница(ПарДата, видницы.включая));
   Дмитрий
 
8 - 04.01.19 - 09:06
(7) *ВидГраницы

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует