|
|
Вопрос по запросу
JohnGilbert, Мультук, Homer, Web00001, KJlag, АгентБезопаснойНацио, Double_Medved, Trance_1C, Сукпун, Широкий, Niveus, Джордж1, phabeZ, Бычье сердце, azt-yur, Gucci76, Ёпрст, rbcvg, elka302, Hawk_1c, paramedic, Kigo_Kigo, Neo58, dedmoroz777, reg0303, DemonShinji2, RVN, breezee, slad, obs191, nysyssimara, Prog_man, maxab72, ReaLg, toypaul, wolk, bimbambum
| ☑ |
|
0
Chebchic1
24.06.26
✎
10:47
|
Привет всем.
Подскажите, есть УТ11.5 пости последней версии, в ней регистр накопления Закупки.
Приобретали номенклатуру1 много раз, например - 22 с разным колвом.
В наличии по номенклатуре1 сейчас - 5 штук
Нужно взять запросом из Закупок цены покупки последних пяти штук.
Просится вложенный цикл/вложенный запрос, но как ему сказать в запросе где остановиться?
|
|
|
1
maxab72
24.06.26
✎
10:56
|
а по партиям учет ведете?
|
|
|
2
Chebchic1
24.06.26
✎
10:56
|
нет
|
|
|
3
Chebchic1
24.06.26
✎
10:56
|
характеристики и серии отключены
|
|
|
4
Ненавижу 1С
гуру
24.06.26
✎
10:59
|
(0) то есть вы хотите себестоимость последних 5 штук, но ФИФО нет? а вы проказники
Можно "на лету" конечно, но такое
|
|
|
5
Ненавижу 1С
гуру
24.06.26
✎
11:00
|
переделать под себя
FIFO в запросе
|
|
|
6
Chebchic1
24.06.26
✎
17:26
|
по образу и подобию получил вот такой запрос:
ВЫБРАТЬ
ВложенныйЗапрос.Ссылка КАК Ссылка,
ВложенныйЗапрос.Количество КАК Количество,
ВЫБОР
КОГДА ВложенныйЗапрос.КоличествоИтог <= &Колво
ТОГДА ВложенныйЗапрос.Количество
ИНАЧЕ ВложенныйЗапрос.Количество + &Колво - ВложенныйЗапрос.КоличествоИтог
КОНЕЦ КАК Колво,
ВложенныйЗапрос.Номенклатура КАК Номенклатура,
ВложенныйЗапрос.Цена КАК ЦенаПокупки
ИЗ
(ВЫБРАТЬ
Док.Ссылка КАК Ссылка,
Док.Количество КАК Количество,
СУММА(Док1.Количество) КАК КоличествоИтог,
Док.Номенклатура КАК Номенклатура,
Док.Цена КАК Цена
ИЗ
Документ.ПриобретениеТоваровУслуг.Товары КАК Док
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг.Товары КАК Док1
ПО Док.Ссылка.МоментВремени >= Док1.Ссылка.МоментВремени
И Док.Номенклатура = Док1.Номенклатура
СГРУППИРОВАТЬ ПО
Док.Ссылка,
Док.Количество,
Док.Номенклатура,
Док.Цена) КАК ВложенныйЗапрос
ГДЕ
ВложенныйЗапрос.КоличествоИтог - ВложенныйЗапрос.Количество < &Колво
УПОРЯДОЧИТЬ ПО
ВложенныйЗапрос.Ссылка.МоментВремени убыв
|
|
|
7
Chebchic1
24.06.26
✎
17:27
|
но в составе набора данных - не работает
|
|
|
8
Chebchic1
24.06.26
✎
17:27
|
ну точнее ЦенаПокупки = 0 везде
|
|
|
9
toypaul
гуру
24.06.26
✎
18:44
|
(7) а не в составе набора?
|
|
|
10
maxab72
24.06.26
✎
19:36
|
(6) Ну, я бы сказал, что и не должно работать. Идея ФИФо в запросе такая:
1. Получаем таблицу1: Количество; Дата прихода
2. Суммируем и получаем Общий приход.
3. Из Общего прихода вычитаем Остаток и получаем Расход.
4. Соединяем таблицу1 с самой собой по Дата прихода <= Дата прихода и суммируем
5. Вычитаем из каждой строки прихода из суммы более ранних приходов Расход, получаем Разницу.
6. Отбрасываем все минусы в Разнице. А где не минусы, берем минимум между Количеством и Разницей. Получаем распределение остатка по приходам.
Пример: было три прихода:
Приход 5 (последний)
Приход 7
Приход 8 (первый)
Остаток 6, значит Расход 14.
Суммируем приходы п. 4
Приход 5 8+7+5 = 20
Приход 7 8+7 = 15
Приход 8 8
Вычитаем расход:
Приход 5 20 - 14 = 6
Приход 7 15 - 14 = 1
Приход 8 8 - 14 = -6
Проверяем на минусы и минимум
Приход 5 Мин(5, 6) = 5
Приход 7 Мин (7, 1) = 1
Приход 8 0
итого распределение остатка:
Приход 5 5
Приход 7 1
|
|
|
11
Trance_1C
25.06.26
✎
07:39
|
лучше сформировать программно скд, там можно получить фифо без лишних заклинаний в запросе.
|
|
|
12
Web00001
25.06.26
✎
09:28
|
Какие фифо вообще. Вы здоровые нет? Он говорит, надо взять 5последних закупок и цену на них.
ВТ1 - получаем список дат из регистра закупок
ВТ2 - из регистра цен получаем ближайшую дату, к дате из ВТ1
Итоговый запрос - левым соединением регистр цен по дате
|
|
|
13
АгентБезопасной Нацио
25.06.26
✎
09:36
|
(12) нет, он говорит, что нужно взять цены последних 5 штук.
|
|