|   |   | 
| 
 | Остатки товаров на момент заказа в запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        MistaEr 24.09.16✎ 13:26 | 
        Хочу получать остатки товаров на момент заказа, что то не так делаю
 ВЫБРАТЬ ЗаказыПокупателейОбороты.Регистратор.Дата КАК ДатаЗаказа, ЗаказыПокупателейОбороты.Номенклатура КАК Номенклатура, ЗаказыПокупателейОбороты.ХарактеристикаНоменклатуры, ЗаказыПокупателейОбороты.КоличествоПриход КАК КоличествоЗаказа, ЗаказыПокупателейОборотыРеализации.КоличествоРасход ПОМЕСТИТЬ ВТ_Заказы ИЗ РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОборотыРеализации ПО ЗаказыПокупателейОбороты.ЗаказПокупателя = ЗаказыПокупателейОборотыРеализации.ЗаказПокупателя И ЗаказыПокупателейОбороты.Номенклатура = ЗаказыПокупателейОборотыРеализации.Номенклатура И ЗаказыПокупателейОбороты.ХарактеристикаНоменклатуры = ЗаказыПокупателейОборотыРеализации.ХарактеристикаНоменклатуры ГДЕ ЗаказыПокупателейОборотыРеализации.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ВТ_Заказы.ДатаЗаказа КАК ДатаВремяЗаказа, МАКСИМУМ(ВЫБОР КОГДА ТоварыНаСкладахОстаткиИОбороты.Период = &НачДата ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток ИНАЧЕ ВЫБОР КОГДА ТоварыНаСкладахОстаткиИОбороты.Период <= ВТ_Заказы.ДатаЗаказа ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот ИНАЧЕ 0 КОНЕЦ КОНЕЦ) КАК КоличествоКонечныйОстаток ПОМЕСТИТЬ ВТ_Остатки ИЗ ВТ_Заказы КАК ВТ_Заказы, РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( &НачДата, &КонДата, День, , Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры) И Склад.КодДилера = &КодДилера) КАК ТоварыНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ВТ_Заказы.ДатаЗаказа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Заказы.ДатаЗаказа КАК ДатаЗаказа, ВТ_Заказы.Номенклатура КАК Номенклатура, ВТ_Заказы.ХарактеристикаНоменклатуры, ВТ_Заказы.КоличествоЗаказа, ЕСТЬNULL(ВТ_Остатки.КоличествоКонечныйОстаток, 0) КАК КоличествоКонечныйОстаток ИЗ ВТ_Заказы КАК ВТ_Заказы ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки ПО ВТ_Заказы.Номенклатура = ВТ_Остатки.Номенклатура И ВТ_Заказы.ХарактеристикаНоменклатуры = ВТ_Остатки.ХарактеристикаНоменклатуры И ВТ_Заказы.ДатаЗаказа = ВТ_Остатки.ДатаВремяЗаказа | |||
| 1
    
        zak555 24.09.16✎ 13:42 | 
        с учётом движений документа ?     | |||
| 2
    
        MistaEr 24.09.16✎ 13:43 | 
        (1) Он выводит только начальный остаток, на все периоды заказов     | |||
| 3
    
        zak555 24.09.16✎ 13:43 | 
        какой-то запросы мутный, скажии словами что надо получить     | |||
| 4
    
        MistaEr 24.09.16✎ 13:54 | 
        ВТ_Заказы - получаю даты заказов и вообще заказанные за период товары, но эти заказы должны быть закрыты(реализованы) документов РеализацияТоваровУслуг
 ВТ_Остатки - получаю остатки товаров на каждую дату заказа Далее - Нужна таблица, Номенклатура\ДатаЗаказа\КоличествоЗаказа\ОстатокНаМоментЗаказа\ | |||
| 5
    
        MistaEr 24.09.16✎ 13:59 | 
        (0) Тут МАКСИМУМ неверно стоит, а ставлю СУММА, тоже непонятно что получается     | |||
| 6
    
        MistaEr 24.09.16✎ 14:11 | 
        (3) Это вроде как бы Остатки на каждый день, но не совсем то. Это остатки на момент каждого заказа. Причем, каждая номенклатура ведь включена не в каждый заказ     | |||
| 7
    
        PR2 24.09.16✎ 14:12 | 
        (0) Заинтриговал. Продолжай.     | |||
| 8
    
        MistaEr 24.09.16✎ 14:19 | 
        (7) У меня больше нет вариантов. В СКД легко обратиться в общий модуль. А тут придется в цикле остатки доставать     | |||
| 9
    
        PR2 24.09.16✎ 14:32 | 
        (8) А что, разве в (0) не анонс был?     | |||
| 10
    
        MistaEr 24.09.16✎ 14:37 | 
        (9) Думал может ты такой умный быстро подправишь запрос     | |||
| 11
    
        zak555 24.09.16✎ 14:38 | 
        (6) мне первый пакет, например, не понятен     | |||
| 12
    
        MistaEr 24.09.16✎ 14:40 | 
        (11) ВТ_Заказы - получаю даты заказов и вообще заказанные за период товары, но эти заказы должны быть закрыты(реализованы) документов РеализацияТоваровУслуг 
 Делаю ПОлное соединение с реализованными, закрытыми заявками | |||
| 13
    
        zak555 24.09.16✎ 14:42 | 
        (12) тебе надо получить остатки по тем заказам, который не реализованы ?     | |||
| 14
    
        MistaEr 24.09.16✎ 14:53 | 
        (13) нет, по тем которые попали в ВТ_Заказы     | |||
| 15
    
        zak555 24.09.16✎ 14:55 | 
        РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОбороты
 РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, Номенклатура В ИЕРАРХИИ (&КаталогНоменклатуры)) КАК ЗаказыПокупателейОборотыРеализации | |||
| 16
    
        MistaEr 24.09.16✎ 14:58 | 
        Условия смотри     | |||
| 17
    
        RomarioAgro 24.09.16✎ 15:59 | 
        таблица остатков, по моему не верно построена
 что нужно сделать: Таблица остатков и оборотов, если она строится с периодами (не целиком за период) в конкретном периоде (только если он не крайний) в котором не было оборотов, не содержит начальных и конечных остатков. 1) получаем таблицу остатков и оборотов ВТ_ОстаткиИОбороты; 2) проводим левое соединение ВТ_Заказы и ВТ_ОстаткиИОбороты по ВТ_Заказы.ДатаЗаказа <= ВТ_ОстаткиИОбороты.Период группируем по измерениям и получаем Максимум(ВТ_ОстаткиИОбороты.Период) - получаем таблицу ближайших периодов, содержащих остатки ВТ_ДатыОстатков. 3) проводим внутреннее соединение ВТ_ОстаткиИОбороты и ВТ_ДатыОстатков по ВТ_ОстаткиИОбороты.Период = ВТ_ДатыОстатков.Период примерно так | |||
| 18
    
        RomarioAgro 24.09.16✎ 16:02 | 
        ошибся с знаком
 2) проводим левое соединение ВТ_Заказы и ВТ_ОстаткиИОбороты по ВТ_Заказы.ДатаЗаказа >= | |||
| 19
    
        youalex 24.09.16✎ 18:47 | 
        1)
 остатки на каждый день - считаются как РН.Остатки на начало периода + (объединение) таблица периодов ЛС с таблицей движений По РН.Период <=Период.Период. 2) Использовать .Обороты с периодоми Регистратор/Запись - имхо, моветон. | |||
| 20
    
        MistaEr 24.09.16✎ 22:18 | 
        Всем спасибо, но я сделал в цикле     | |||
| 21
    
        tixis 25.09.16✎ 00:57 | 
        (8) В СКД обратиться в общий модуль = тот же цикл если чо     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |