Вход | Регистрация
 
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) *ВидГраницы

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