|
Арифметические действия в запросе СКД | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
18.03.19
✎
12:04
|
УПП, обычные Формы.
Всем привет. Хочу написать простой запрос для определения свободных остатков товаров в ожидании. ВЫБРАТЬ ЗаказыПоставщикамОстатки.ЗаказПоставщику, РазмещениеЗаказовПокупателейОстатки.ЗаказПокупателя, ЗаказыПоставщикамОстатки.КоличествоОстаток, РазмещениеЗаказовПокупателейОстатки.КоличествоОстаток КАК Зарезервировано, ЗаказыПоставщикамОстатки.Номенклатура, ЗаказыПоставщикамОстатки.КоличествоОстаток - РазмещениеЗаказовПокупателейОстатки.КоличествоОстаток КАК ОсталосьСвободно ИЗ РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки КАК РазмещениеЗаказовПокупателейОстатки ПО ЗаказыПоставщикамОстатки.ЗаказПоставщику = РазмещениеЗаказовПокупателейОстатки.ЗаказПоставщику После выполнения данного запроса получаю полную фигню https://yadi.sk/i/SBVBs7XhEcFVkw Хотелось бы получать другой результат, подскажите, что необходимо добавить для такого https://yadi.sk/i/51zKm6Z4YpG1jw результата? |
|||
1
MAPATNK2
naïve
18.03.19
✎
12:13
|
Как вообще в колонку "КоличествоОстаток" заносить данные "ОсталосьСвободно" из предыдущей строки?
|
|||
2
MAPATNK2
naïve
18.03.19
✎
12:13
|
Конечно, все легко сделать обработкой и табличной частью, но хотелось бы научиться делать такие запросы. Заранее спасибо всем.
|
|||
3
aleks_default
18.03.19
✎
12:18
|
Выражение для КоличествоОстаток надо сделать Максимум а не Сумма как у тебя наверное стоит
|
|||
4
MAPATNK2
naïve
18.03.19
✎
12:22
|
(3) Ну это даст только верное заполнение итога.
|
|||
5
MAPATNK2
naïve
18.03.19
✎
12:23
|
(1) а что насчет этого?
|
|||
6
aleks_default
18.03.19
✎
12:23
|
Вообще не, дело не в этом. Дело в том что в регистре Заказы поставщикам нет насколько я понимаю измерения Заказ покупателя?
|
|||
7
MAPATNK2
naïve
18.03.19
✎
12:25
|
(6) Нет. поэтому я и связал его с РазмещениеЗаказовПокупателей
|
|||
8
MAPATNK2
naïve
18.03.19
✎
12:25
|
В данном регистре указываются заказы покупателей к заказам поставщикам.
|
|||
9
aleks_default
18.03.19
✎
12:27
|
Т.е. тебе фактически нужно из остатка вычислять накопленный итог для каждой строки
|
|||
10
aleks_default
18.03.19
✎
12:29
|
Можно сделать двумя способами. Запросом и выражением компоновки
|
|||
11
MAPATNK2
naïve
18.03.19
✎
12:29
|
(9) не совсем вас понимаю. Я привел скрин выше, что хотелось бы получить. По факту мне необходимо в КоличествоОстаток помещать значение из предыдущей строки ОсталосьСвободно - Зарезервировано (текущей строки)
|
|||
12
MAPATNK2
naïve
18.03.19
✎
12:30
|
То что способы решения моей задачи есть - я знаю. Где их найти? (10)
|
|||
13
Homer
18.03.19
✎
12:30
|
(0)может соединение надо делать по заказу, а не по ЗаказПоставщику
|
|||
14
aleks_default
18.03.19
✎
12:32
|
(13)У него в первом регистре заказа нет
|
|||
15
aleks_default
18.03.19
✎
12:33
|
ВычислитьВыражение(Выражение, Группировка, ТипРасчета, НАЧАЛО, КОНЕЦ, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка). Почитай про начало и конец
|
|||
16
aleks_default
18.03.19
✎
12:34
|
Но я бы сделал запросом
|
|||
17
Rema Dan
18.03.19
✎
12:34
|
(0) Выбирается измерение Номенклатура -> автоматом строки виртуальной таблицы разбиваются по номенклатуре. Соединение с виртуальной таблицей не учитывает разбивку по номенклатуре -> итоги по документам перемножаются. Включи в отчете вывод детальных записей чтобы увидеть дополнительные строчки.
|
|||
18
MAPATNK2
naïve
18.03.19
✎
12:40
|
(17) Совсем не понятно что необходимо сделать и куда смотреть. Детальных записей в данном отчете не видел. В стандартных отчетах есть такая кнопка, тут не вижу.
|
|||
19
MAPATNK2
naïve
18.03.19
✎
12:40
|
(15) Дак я и пытаюсь понять, как запросом сделать то, что я хочу.
|
|||
20
aleks_default
18.03.19
✎
12:42
|
Грубо говоря в запросе нужно сделать соединение таблицы размещенных заказов самой с собой по Таблица1.заказ.Дата=>Таблица2.Заказ.дата с группировкой по Таблица1.Заказ и суммировать Таблица2.Количество. Получишь по каждому заказу сумму зарезервированного всеми предыдущими заказами. Ну а потом все просто просто вычесть сумму накопленного итога из общего остатка.
|
|||
21
Homer
18.03.19
✎
12:52
|
(20) ну тут не все так однозначно т.к. проблемы будут при одинаковой дате заказа, Вообще это решается, ну не как автор просит "Простой запрос"
|
|||
22
MAPATNK2
naïve
18.03.19
✎
12:53
|
(21) Да я уже понял, попробую через ВычислитьВыражение.
|
|||
23
Homer
18.03.19
✎
12:55
|
(22) это приведет, на мой взгляд, не возможности пользовательской правки отчета.
|
|||
24
MAPATNK2
naïve
18.03.19
✎
12:56
|
(22) Хотя не, так не выйдет
|
|||
25
aleks_default
18.03.19
✎
12:56
|
(21)Сомневаюсь что есть заказы созданные в одну и ту же секунду, но и тут поможет сравнение по моменту времени
|
|||
26
Homer
18.03.19
✎
12:59
|
(25) я может отстал, но в запросе нельзя делать условие на момент времени)
|
|||
27
aleks_default
18.03.19
✎
13:04
|
(26)можно
|
|||
28
Homer
18.03.19
✎
13:11
|
(27) когда делал похожую задачу, что какие-то были проблемы с временем, пришлось городить.
|
|||
29
MAPATNK2
naïve
18.03.19
✎
13:24
|
(27) По вашему способу получается. Спасибо. Буду дальше доделывать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |