|
Возможно ли запросом без цикла узнать сколько дней товар был на складе в наличии? | ☑ | ||
---|---|---|---|---|
0
Обфускация
27.06.18
✎
14:06
|
Возможно ли запросом без цикла узнать сколько дней товар был на складе в наличии? Если можно то как?
|
|||
1
vis_tmp
27.06.18
✎
14:09
|
Возможно.
|
|||
2
olegves
27.06.18
✎
14:09
|
(0) возможно - берешь Период (измерение периодического регистра) поступления на склад и получаешь разницу с текущей датой (можно задать параметром запроса) в днях
|
|||
3
ssh2006
27.06.18
✎
14:09
|
(0) остатки и обороты периодичность день, разность дат
|
|||
4
Обфускация
27.06.18
✎
14:10
|
Можете пример нарисовать для типового регистра остатков?
|
|||
5
Darych
27.06.18
✎
14:12
|
(4) лодырь
|
|||
6
Лодырь
27.06.18
✎
14:12
|
(5) Нихрена, это не я.
|
|||
7
Darych
27.06.18
✎
14:13
|
6 :)
|
|||
8
Малыш Джон
27.06.18
✎
14:19
|
(4) Выбирай обороты с периодичностью нужной, делай нарастающий итог на каждую дату, выкидывай те даты, где остаток нарастающим итогом 0, считай количество дней.
|
|||
9
olegves
27.06.18
✎
14:20
|
(4) деньги за тебя тоже получить?
|
|||
10
aleks_default
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. выполняешь, загружаешь в ТЧ может что-то упустил |
|||
14
aleks_default
27.06.18
✎
14:33
|
(12) В отладке проверял? Может даты не заполнены?
|
|||
15
_Дайвер_
27.06.18
✎
14:56
|
(14) Он женщиной стал...
|
|||
16
Малыш Джон
27.06.18
✎
14:57
|
хмм... неожиданно...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |