![]() |
|
УТ 10.3 Формирование заказа на основе средних объемов продаж | ☑ | ||
---|---|---|---|---|
0
hawk1
22.01.20
✎
21:25
|
Дорабатываю документ ЗаказПоставщику чтобы можно было формировать заказ на основе средненедельного объема продаж за период. Вот код процедуры
Для Каждого СтрокаТЧ Из Товары Цикл Запрос = Новый Запрос("ВЫБРАТЬ | ПродажиОбороты.КоличествоОборот КАК ТребуемоеКоличество |ИЗ | РегистрНакопления.Продажи.Обороты(&НачДата, &КонДата, , ) КАК ПродажиОбороты |ГДЕ | ПродажиОбороты.КоличествоОборот > 0 | И ПродажиОбороты.Номенклатура = &Номенклатура"); Запрос.УстановитьПараметр("НачДата", Дата - 24 * 60 * 60 * ЭтаФорма.КоличествоДней); Запрос.УстановитьПараметр("КонДата", Дата); Запрос.УстановитьПараметр("Номенклатура", СтрокаТЧ.Номенклатура); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); Если Выборка.Количество() > 0 Тогда ТребуемоеКоличество = Выборка.ТребуемоеКоличество; Иначе ТребуемоеКоличество = 0; КонецЕсли; ЗапросОстатки = Новый Запрос("ВЫБРАТЬ | ТоварыНаСкладахОстатки.КоличествоОстаток КАК ТекущееКоличество |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Дата, | Номенклатура = &Номенклатура | И Склад = &Склад) КАК ТоварыНаСкладахОстатки"); ЗапросОстатки.УстановитьПараметр("Дата", Дата); ЗапросОстатки.УстановитьПараметр("Номенклатура", СтрокаТЧ.Номенклатура); ЗапросОстатки.УстановитьПараметр("Склад", Склад); ВыборкаОстатки = ЗапросОстатки.Выполнить().Выбрать(); ВыборкаОстатки.Следующий(); ТекущееКоличество = ВыборкаОстатки.ТекущееКоличество; ОбъемПродажЗаНеделю = ТребуемоеКоличество * 7 / КоличествоДней; СтрокаТЧ.Количество = Окр(ОбъемПродажЗаНеделю * ЭтаФорма.Коэффициент - ТекущееКоличество); КонецЦикла; Иногда при увеличении количества дней периода, за который берутся данные о продажах, количество заказываемого товара уменьшается, хотя по логике должно увеличиваться. Почему такое может происходить? |
|||
1
Amra
22.01.20
✎
21:29
|
Возвраты? Они, по идее, уменьшают ОбъемПродажЗаНеделю
|
|||
2
hawk1
22.01.20
✎
21:36
|
(1) Тоже об этом подумал, но как их правильно учесть?
|
|||
3
Amra
22.01.20
✎
21:41
|
(2) Поставить отбор по виду регистратора? Чтото типа Где НЕ ПродажиОбороты.Регистратор ССЫЛКа Документ.ВозвтратОтПокупателя
|
|||
4
fdsa01
22.01.20
✎
22:04
|
(0) Надо не среднее брать, а медиану :))
|
|||
5
hawk1
22.01.20
✎
22:14
|
(3) Только что посмотрел возвратов у них не было.
|
|||
6
hhhh
23.01.20
✎
00:08
|
(5) у вас потому что формула такая
ОбъемПродажЗаНеделю = ТребуемоеКоличество * 7 / КоличествоДней; тут и ежу понятно, если увеличиваем КоличествоДней, ОбъемПродажЗаНеделю уменьшится. |
|||
7
hawk1
23.01.20
✎
16:13
|
(6) Так требуемое количество вычисляется за заданное количество дней.
|
|||
8
hhhh
23.01.20
✎
16:34
|
(7) ну и не факт какое изменение перевесит. По идее должно быть без разницы, за 7 дней берете информацию или например за 27. ОбъемПродажЗаНеделю должен быть одинаковым. Но конкретно в реальности может быть немного меньше или немного больше. Поэтому ваша ситуация "при увеличении количества дней периода, за который берутся данные о продажах, количество заказываемого товара уменьшается" может случиться в 50% случаев, а другие 50% что увеличится.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |