Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Остатки товаров на момент заказа в запросе

Остатки товаров на момент заказа в запросе
Я
   MistaEr
 
24.09.16 - 13:26
Хочу получать остатки товаров на момент заказа, что то не так делаю


ВЫБРАТЬ
    ЗаказыПокупателейОбороты.Регистратор.Дата КАК ДатаЗаказа,
    ЗаказыПокупателейОбороты.Номенклатура КАК Номенклатура,
    ЗаказыПокупателейОбороты.ХарактеристикаНоменклатуры,
    ЗаказыПокупателейОбороты.КоличествоПриход КАК КоличествоЗаказа,
    ЗаказыПокупателейОборотыРеализации.КоличествоРасход
ПОМЕСТИТЬ ВТ_Заказы
ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОборотыРеализации
        ПО ЗаказыПокупателейОбороты.ЗаказПокупателя = ЗаказыПокупателейОборотыРеализации.ЗаказПокупателя
            И ЗаказыПокупателейОбороты.Номенклатура = ЗаказыПокупателейОборотыРеализации.Номенклатура
            И ЗаказыПокупателейОбороты.ХарактеристикаНоменклатуры = ЗаказыПокупателейОборотыРеализации.ХарактеристикаНоменклатуры
ГДЕ
    ЗаказыПокупателейОборотыРеализации.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
    ВТ_Заказы.ДатаЗаказа КАК ДатаВремяЗаказа,
    МАКСИМУМ(ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.Период = &НачДата
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
            ИНАЧЕ ВЫБОР
                    КОГДА ТоварыНаСкладахОстаткиИОбороты.Период <= ВТ_Заказы.ДатаЗаказа
                        ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот
                    ИНАЧЕ 0
                КОНЕЦ
        КОНЕЦ) КАК КоличествоКонечныйОстаток
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
    ВТ_Заказы КАК ВТ_Заказы,
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
            &НачДата,
            &КонДата,
            День,
            ,
            Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)
                И Склад.КодДилера = &КодДилера) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
    ВТ_Заказы.ДатаЗаказа
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_Заказы.ДатаЗаказа КАК ДатаЗаказа,
    ВТ_Заказы.Номенклатура КАК Номенклатура,
    ВТ_Заказы.ХарактеристикаНоменклатуры,
    ВТ_Заказы.КоличествоЗаказа,
    ЕСТЬNULL(ВТ_Остатки.КоличествоКонечныйОстаток, 0) КАК КоличествоКонечныйОстаток
ИЗ
    ВТ_Заказы КАК ВТ_Заказы
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки
        ПО ВТ_Заказы.Номенклатура = ВТ_Остатки.Номенклатура
            И ВТ_Заказы.ХарактеристикаНоменклатуры = ВТ_Остатки.ХарактеристикаНоменклатуры
            И ВТ_Заказы.ДатаЗаказа = ВТ_Остатки.ДатаВремяЗаказа
 
 
   zak555
 
1 - 24.09.16 - 13:42
с учётом движений документа ?
   MistaEr
 
2 - 24.09.16 - 13:43
(1) Он выводит только начальный остаток, на все периоды заказов
   zak555
 
3 - 24.09.16 - 13:43
какой-то запросы мутный, скажии словами что надо получить
   MistaEr
 
4 - 24.09.16 - 13:54
ВТ_Заказы - получаю даты заказов и вообще заказанные за период товары, но эти заказы должны быть закрыты(реализованы) документов РеализацияТоваровУслуг
ВТ_Остатки - получаю остатки товаров на каждую дату заказа

Далее - Нужна таблица,

Номенклатура\ДатаЗаказа\КоличествоЗаказа\ОстатокНаМоментЗаказа\
   MistaEr
 
5 - 24.09.16 - 13:59
(0) Тут МАКСИМУМ неверно стоит, а ставлю СУММА, тоже непонятно что получается
   MistaEr
 
6 - 24.09.16 - 14:11
(3) Это вроде как бы Остатки на каждый день, но не совсем то. Это остатки на момент каждого заказа. Причем, каждая номенклатура ведь включена не в каждый заказ
   PR2
 
7 - 24.09.16 - 14:12
(0) Заинтриговал. Продолжай.
   MistaEr
 
8 - 24.09.16 - 14:19
(7) У меня больше нет вариантов. В СКД легко обратиться в общий модуль. А тут придется в цикле остатки доставать
   PR2
 
9 - 24.09.16 - 14:32
(8) А что, разве в (0) не анонс был?
   MistaEr
 
10 - 24.09.16 - 14:37
(9) Думал может ты такой умный быстро подправишь запрос
 
 Рекламное место пустует
   zak555
 
11 - 24.09.16 - 14:38
(6) мне первый пакет, например, не понятен
   MistaEr
 
12 - 24.09.16 - 14:40
(11) ВТ_Заказы - получаю даты заказов и вообще заказанные за период товары, но эти заказы должны быть закрыты(реализованы) документов РеализацияТоваровУслуг


Делаю ПОлное соединение с реализованными, закрытыми заявками
   zak555
 
13 - 24.09.16 - 14:42
(12) тебе надо получить остатки по тем заказам, который не реализованы ?
   MistaEr
 
14 - 24.09.16 - 14:53
(13) нет, по тем которые попали в ВТ_Заказы
   zak555
 
15 - 24.09.16 - 14:55
РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОбороты
РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОборотыРеализации
   MistaEr
 
16 - 24.09.16 - 14:58
Условия смотри
   RomarioAgro
 
17 - 24.09.16 - 15:59
таблица остатков, по моему не верно построена
что нужно сделать:
Таблица остатков и оборотов, если она строится с периодами (не целиком за период) в конкретном периоде (только если он не крайний) в котором не было оборотов, не содержит начальных и конечных остатков.
1) получаем таблицу остатков и оборотов ВТ_ОстаткиИОбороты;
2) проводим левое соединение ВТ_Заказы и ВТ_ОстаткиИОбороты по ВТ_Заказы.ДатаЗаказа <= ВТ_ОстаткиИОбороты.Период группируем по измерениям и получаем Максимум(ВТ_ОстаткиИОбороты.Период) - получаем таблицу ближайших периодов, содержащих остатки ВТ_ДатыОстатков.
3) проводим внутреннее соединение ВТ_ОстаткиИОбороты и ВТ_ДатыОстатков по ВТ_ОстаткиИОбороты.Период = ВТ_ДатыОстатков.Период 
примерно так
   RomarioAgro
 
18 - 24.09.16 - 16:02
ошибся с знаком
2) проводим левое соединение ВТ_Заказы и ВТ_ОстаткиИОбороты по ВТ_Заказы.ДатаЗаказа >=
   youalex
 
19 - 24.09.16 - 18:47
1)
остатки на каждый день - считаются как РН.Остатки на начало периода + (объединение)  таблица периодов ЛС  с таблицей движений По РН.Период <=Период.Период.

2) Использовать .Обороты с периодоми Регистратор/Запись - имхо, моветон.
   MistaEr
 
20 - 24.09.16 - 22:18
Всем спасибо, но я сделал в цикле
   tixis
 
21 - 25.09.16 - 00:57
(8) В СКД обратиться в общий модуль = тот же цикл если чо


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует