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


Возможно ли запросом без цикла узнать сколько дней товар был на складе в наличии?

Возможно ли запросом без цикла узнать сколько дней товар был на складе в наличии?
Я
   Обфускация
 
27.06.18 - 14:06
Возможно ли запросом без цикла узнать сколько дней товар был на складе в наличии? Если можно то как?
 
 
   vis_tmp
 
1 - 27.06.18 - 14:09
Возможно.
   olegves
 
2 - 27.06.18 - 14:09
(0) возможно - берешь Период (измерение периодического регистра) поступления на склад и получаешь разницу с текущей датой (можно задать параметром запроса) в днях
   ssh2006
 
3 - 27.06.18 - 14:09
(0) остатки и обороты периодичность день, разность дат
   Обфускация
 
4 - 27.06.18 - 14:10
Можете пример нарисовать для типового регистра остатков?
   Darych
 
5 - 27.06.18 - 14:12
(4) лодырь
   Лодырь
 
6 - 27.06.18 - 14:12
(5) Нихрена, это не я.
   Darych
 
7 - 27.06.18 - 14:13
6 :)
   Малыш Джон
 
8 - 27.06.18 - 14:19
(4) Выбирай обороты с периодичностью нужной, делай нарастающий итог на каждую дату, выкидывай те даты, где остаток нарастающим итогом 0, считай количество дней.
   olegves
 
9 - 27.06.18 - 14:20
(4) деньги за тебя тоже получить?
   aleks_default
 
10 - 27.06.18 - 14:20
если товар в один и тот же день привезли и израсходовали - это считается что он был в наличии?
 
 Рекламное место пустует
   Обфускация
 
11 - 27.06.18 - 14:22
Вот у меня такой запрос в цикле, он всегда показывает 0 даже когда остатки были. Что там не так?
   Обфускация
 
12 - 27.06.18 - 14:22
ДнейВыборки=окр((объект.ДатаПродажОкончание-объект.ДатаПродажНачало)/(60*60*24),0);
для каждого стр из объект.Товары цикл
    ДнейНаСкладе=0;
    для СчДней=0 по ДнейВыборки  цикл
    ЗапросОстатокСклада=новый запрос;
    ЗапросОстатокСклада.Текст="ВЫБРАТЬ
                              |    ОстаткиНоменклатурыОстатки.Номенклатура,
                              |    ОстаткиНоменклатурыОстатки.КоличествоОстаток
                              |ИЗ
                              |    РегистрНакопления.ОстаткиНоменклатуры.Остатки(&период, ) КАК ОстаткиНоменклатурыОстатки
                              |ГДЕ
                              |    ОстаткиНоменклатурыОстатки.Номенклатура = &Номенклатура
                              |    И ОстаткиНоменклатурыОстатки.Склад = &Склад";
     ЗапросОстатокСклада.УстановитьПараметр("Склад",стр.склад);
     ЗапросОстатокСклада.УстановитьПараметр("Номенклатура",стр.Номенклатура);
     ЗапросОстатокСклада.УстановитьПараметр("период",объект.ДатаПродажНачало+СчДней*60*60*24);
     ИтогЗапросОстаток=ЗапросОстатокСклада.Выполнить().Выгрузить();
     Если  ИтогЗапросОстаток.Количество()>0 тогда
     Если  ИтогЗапросОстаток[0].КоличествоОстаток>0 тогда
        ДнейНаСкладе=ДнейНаСкладе+1; 
    конецесли;     
    конецесли;
 конеццикла;
 стр.ДнейНаСкладе=ДнейНаСкладе;
конеццикла;
   _Дайвер_
 
13 - 27.06.18 - 14:28
НУ если ты хочешь запросом это делать, тогда:
1. тебе надо в массив добавить те номенклатуры по которым ты собираешься получить дни
2. пишешь запрос, в нем указываешь что номенклатура в массиве, получаешь дату, добавляешь поле запроса "0", в выражении высчитываешь значение полученное.
3. выполняешь, загружаешь в ТЧ

может что-то упустил
   aleks_default
 
14 - 27.06.18 - 14:33
(12) В отладке проверял? Может даты не заполнены?
   _Дайвер_
 
15 - 27.06.18 - 14:56
(14) Он женщиной стал...
   Малыш Джон
 
16 - 27.06.18 - 14:57
хмм... неожиданно...

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