Запрос. Ограничение остатков по регистратору или получение остатка по документу #679539


#0 by fantomrik
Доброго времени суток. Вобщем есть "кривой" запрос по УАТ. Кривой, потому что заказчик решил, что если Путевой лист сделан 31.07 а закрыт 01.01 то эту наработку мы закрываем 31 числом, а в регистр данные попадают датой закрытия. Пришлось для отчета данные брать не только с регистров но и связывать их с документами. Все работает за исключением остатков на начало месяца и конец месяца. Если попадается путевой лист от 31.07 который закрывается 01.08, то он Остатком топлива своим "сбивает" начальный остаток по регистру. Пол дня сегодня бился с этим отчетом, так и не придумал как победить. Если есть такой путевой лист (как описал выше), то остаток из остатка топлива на начало месяца нужно вычесть остаток топлива в такой машине. Этот остаток должен попадать на конец пред месяца. теоретически по каждой машинке если взять самый первый и последний в периоде путевой лист, то в нем мы увидем нужный нам остаток ГСМ на машине, но как это условие вписать в запрос для отчета СКД ума не приложу ... Собственно запрос                         И уатПутевойЛистВыработкаТС1.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ПробегОбщий)                     ИЛИ НЕ уатПутевойЛистВыработкаТС1.ТС.Модель.НаличиеСпидометра ГДЕ     уатПутевойЛист.Дата МЕЖДУ &НачалоПериода И &КонецПериода ИЗ     ВТ КАК ВТ
#1 by vyaz
...не вдаваясь в подробности и не претендуя на истину... а может движения документа от 1 числа проще в предыдущую дату писать?
#2 by fantomrik
не понял мысль вашу
#3 by vyaz
> потому что заказчик решил, что если Путевой лист сделан > 31.07 а закрыт 01.01 то эту наработку мы закрываем 31 > числом, а в регистр данные попадают датой закрытия допилите конфигурацию, чтобы движения документа попадали в регистр НУЖНОЙ ВАМ датой
#4 by Бабло
Укажи явно папаметр таблицы остатков, есть там принедительный спецсимвол
#5 by fantomrik
Логичное решение, просто не хотелось бы ломать документ, уже отчет уж исковеркать до конца под задачу. не понимаю о чем вы
#6 by fantomrik
Мб пойти тогда таким путем - выбрать самый ближайший путевой лист к &НачалоПериода и взять из него остаток. Но если в случае 1 машинки можно отсортировать ПЛ по дате и взять первый, то как такое же реализовать без отбора по машинам, что бы соединить с таблицей других данных?
#7 by fantomrik
Сделал так - основной запрос оставил без изменений, результат в ВТ. В др ВТ отобрал документы с датой документа < НачалоПериода и датой регистрации в регистре > НачалоПериода. Соединил таблицы в от Суммы начала месяца отнимаю сумму из 2ой  ВТ. Наверняка далеко не оптимальное решение, но работает...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С