![]() |
![]() |
![]() |
|
Получить остатки на указанную пользователем дату | ☑ | ||
---|---|---|---|---|
0
1С: Новичок
23.09.04
✎
08:54
|
Возвращаюсь к вчерашнему. В базе имеется регистр накопления Остатки, имеющий два измерения (Товар, Склад) и один ресурс (Количество). Делаю отчет по остаткам с данными на форме:
а) ДатаНач - дата, на которую нужно получить остатки, б) ВыбТовар - товар (группа товаров), по которому получают остатки, в) ВыбСклад - склад. Текст запроса выглядит так: Запрос = Новый Запрос(" |Выбрать Товар, Количество |ИЗ РегистрНакопления.Остатки |ГДЕ Склад = &ВыбСклад И (Товар = &ВыбТовар ИЛИ Товар В ИЕРАРХИИ (&ВыбТовар)) |ИТОГИ СУММА(Количество) |ПО Товар |АВТОУПОРЯДОЧИВАНИЕ"); Запрос.УстановитьПараметр("ВыбСклад", ЭлементыФормы.ВыбСклад.Значение); Запрос.УстановитьПараметр("ВыбТовар", ЭлементыФормы.ВыбТовар.Значение); Запрос.УстановитьПараметр("ДатаНач", ЭлементыФормы.ДатаНач.Значение); Как мне в запросе правильно указать выбор остатков на желаемую пользователем дату? |
|||
1
Волшебник
23.09.04
✎
09:00
|
Лучше поднимать старую ветку, а не создавать новую.
Почему ты не любишь виртуальные таблицы? v8: Запрос к регистру накопления Твой запрос методически неправилен, потому что выдает последние остатки с учетом всех движений (в том числе будущим числом) и обрабатывает весь регистр, а не только нужные данные. |
|||
2
1С: Новичок
23.09.04
✎
09:06
|
Замечание обязательно учту. Сейчас попробую еще раз с виртуальными таблицами. Вчера экспериментировал с МоментомВремени, вроде заработало, а при дальнейшем рассмотрении оказалось, что работало некорректно.
|
|||
3
1С: Новичок
23.09.04
✎
09:35
|
Переделал запрос:
Запрос = Новый Запрос(" |Выбрать * |ИЗ РегистрНакопления.Остатки.Остатки(&ДатаНач, Склад = &ВыбСклад И (Товар = &ВыбТовар ИЛИ Товар В ИЕРАРХИИ (&ВыбТовар)))"); Все выводится правильно, но как только добавляю ИТОГИ СУММА(Количество) ПО Товар возникает ошибка "Поле Количество не найдено". Куда мне его еще нужно прописать? Прописываю в метод "Остатки(Дата, Отбор, Измерение, Ресурс)" тоже возникает ошибка. |
|||
4
Волшебник
23.09.04
✎
10:12
|
Тебе не нужны итоги.
А если все-таки нужны, то по полю КоличествоОстаток |
|||
5
лето
23.09.04
✎
10:47
|
в продолжение темы.... подскажите, когда описываешь параметры, надо по всем измерениям ставить значения? если нет значения, то просто запятая? что-то ругается на параметры в выражении:
РегистрНакопления.ОстаткиМатериалов.ОстаткиИОбороты(&ДатаНач,&ДатаКон,Материал = &ВыбТовар , ,Склад = &ВыбСклад,) КАК ОстаткиМатериалов |
|||
6
Волшебник
23.09.04
✎
10:49
|
нужно примерно так:
РегистрНакопления.ОстаткиМатериалов.ОстаткиИОбороты(&ДатаНач,&ДатаКон,,,Материал = &ВыбТовар И Склад = &ВыбСклад) |
|||
7
лето
23.09.04
✎
10:58
|
Вот! а что значат эти пропуски с запятыми? измерения регистра, не включаемые в фильтр? или что? ...
кстати, не работает и такой вариант запроса(( |
|||
8
Волшебник
23.09.04
✎
10:59
|
(7) Посмотри параметры виртуальной таблицы в синтакс-помощнике.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |