bdd2

Планирование закупок с возможностью формирования заказа (код открыт) для УТ 10.3 версия 2.0

Опубликовал looxxx Пристайко (looxxx) в раздел Отчеты - Управленческие

Возможности:
Расчет средней продажи в день, планируемый объем продаж для задаваемого периода, остаток на дату, необходимый объем закупок с учетом остатка
Анализ нескольких периодов с присвоением каждому периоду коэффициента (для учета сезонности)
Формирование Заказов поставщику несколько (берется основной поставщик из номенклатуры) или один общий
Выгрузка результатов в эксель
Возможно не учитывать продажи собственным фирмам
Выбор 5ти 6ти 7ми дневной рабочей недели (в выходные запасы не учитываются для расчета средних продаж и необходимых закупок)

Планирование будущих продаж расчитывается исходя из продаж прошлых периодов. Т.е. он считает средние показатели продаж за прошлые периоды (можно задать несколько периодов с коэффициентом веса этих периодов для учета сезонности). Расчитывает, сколько товара продастся в задаваемый период(= средняя продажа * кол-во дней (задается пользователем -это обычно количество дней до следущей закупки)). Из этого количества вычитаются существующие остатки и получается количество товара, необходимое для заказа. Галочку учитывать или не учитывать резервы мне сейчас доделывают. Так что будет в следующей версии.

Общая формула расчета такая:
План продаж(расчитанный по динамике) - (Остатки - Резервы)

Выложил новую версию отчета, назовем ее Планирование закупок 2.0


Описание/инструкция:

1. Устанавливаем период анализа.

2. Устанавливаем коэффициент периода. Можно задавать несколько периодов с разными коэффициентами (в сумме должны быть равны 1). Мне это нужно чтобы учитывать сезонность. Кому не нужно ставим 1.

3. Устанавливаем рабочую неделю 5, 6, 7 дневную. Необходимо для расчета количества дней в продаже. Для розницы обычно 7 дней. Для опта 5.

4. Количество дней закупок - на какой период расчитать необходимые запасы товара. Для 5 дневной недели на месяц ставим 20 дней.

5. Ставим округление. Я обычно округляю конечные результаты вручную.

6. Ставим галочку чтобы сформировать одну заявку поставщику, если нет галочки, то формируются заявки по основным поставщикам в параметрах номенклатурыы.

7. Если стоит галочка, то в отчете не выводится номенклатура, которую нет необходимости дозаказывать. Если не стоит, то выводится вся номенклатура.

8. При установленной галочке не учитывает продажи котрагентам, для которых стоит сопоставление с организациями(Регистр сведений "Собственные контрагенты"

9. Не учитывать резерв.

10. Вариант использования внутреннего заказа:

а. Игнорировать.

б. Вычитать из заказа. Используется при формировании внутренних заказов. Например если нужно заказать 100 котлов, а 30 мы уже заказали ранее, то теперь нужно дозаказать 70.

в. Прибавлять к заказу. Используется менеджерами по закупкам. Они делают отчет потребности по средним продажам. При этом нужно добавить индивидуальные внутренние заказы магазинов.

11. Аналогично пункту 10 только для заказов покупателя. У меня разделено понятие заказ покупателя и резерв (п.9), т.к. не все заказы покупателей резервируются. Зависит от политики компании.

12. Сделан для того чтобы сгладить неправильную статистику по заказным позициям или по товарам которых не было в наличии очень долго. Например в наличии не было водонагревателей Bosch (проблемы с поставщиком). Привезли 100 штук. За 2 дня все продали. По отчету получится средняя продажа 50 шт. в день. Поэтому я ставлю обычно ограничение, что если товар продавался менее 70% дней, то принимаем количество дней, которые он продавался равным 70%. Для 30 рабочих дней это будет 21 день. Т.е. для нашего случая 100 водонагревателей / 21 день (а не 2 дня) = около 5 водонагревателей в день, что уже ближе к реальности.

13. Подбор номенклатуры для анализа.

14. Подбор складов, по которым расчитываются продажи.

15. Доп. склад. Это дополнительный столбик в отчете (п.26). Удобно для создания заказов товара с оптовых складов на магазины. Я обычно при анализе продаж в розничном магазине ставлю доп склад - оптовые склады. Отчет выводит сколько необходимо заказать. Доп. склад показывает сколько есть на оптовых складах. Нажимаем кнопку Заполнить из доп остатка (п. 28) и обработка заполняет столбик Закзать(п. 27) необходимым количеством из наличия на Доп складах. Затем мы можем сделать внутренний заказ (п.30) или сразу перемещение (п.40).

При двойном щелчке по значениям в столбиках 16, 21-26 формируются отчеты для дополнительного анализа данных из обработки. В отчеты передаётся номенклатура и склады, но только если в настройках отчета не стоят предустановленные параметры при открытии(галочка "открывать" в настройках отчета).

27. Значения в столбике В документ можно изменять.

 

PS: Колонка 26 Доп. остаток почему-то расчитывается не всегда правильно. Если кто исправит, буду премного благодарен.

Не забываем ставить коэффициент "1" для периода. Иначе все расчет не будет производиться, т.к. все будет умножаться на 0.

 

 Открытый исходный код!

Похожие обработки:
SCM: Планирование закупок 81 (для УТ, УПП, Комплексной) или ...
Новая Динамика продаж (планирование закупок) для УТ 10.3 для 1С

Скачать файлы

Наименование Файл Версия Размер
Планирование закупок 2. для 8.2
.epf 51,06Kb
31.05.16
22
.epf 51,06Kb 22 Скачать
Планирование закупок
.epf 44,80Kb
30.10.12
555
.epf 44,80Kb 555 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Maniac (Eugeneer) 01.09.09 12:48 Сейчас в теме
{Форма.ГлавнаяФорма(116,25)}: Переменная не определена (глТекущийПользователь)
Если ЗначениеЗаполнено(<<?>>глТекущийПользователь) Тогда
{Форма.ГлавнаяФорма(117,69)}: Переменная не определена (глТекущийПользователь)
ДатаНачала = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>глТекущийПользователь, "ОсновнаяДатаНачалаОтчетов");
2. Maniac (Eugeneer) 01.09.09 12:48 Сейчас в теме
Вот рабочий вариант планирования на основании динамики продаж и всех показателей
http://infostart.ru/projects/3743/
3. looxxx Пристайко (looxxx) 197 01.09.09 13:26 Сейчас в теме
(1) У меня в конфигурации такая переменная определена:
"Управление торговлей", редакция 10.3 (10.3.3.3):

Основная конфигурация Конфигурация.УправлениеТорговлей.Модуль приложения(6, 7) : Перем глТекущийПользователь Экспорт;

Основная конфигурация Конфигурация.УправлениеТорговлей.Модуль приложения(57, 2) : глТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;

4. looxxx Пристайко (looxxx) 197 01.09.09 13:27 Сейчас в теме
(2) а у вас какая конфигурация?
5. Maniac (Eugeneer) 01.09.09 13:28 Сейчас в теме
6. looxxx Пристайко (looxxx) 197 01.09.09 13:29 Сейчас в теме
Лично у меня ошибка не выскакивает.
А таких проффесионалов как Maniac такая мелочь не остановит ;) Ведь код открыт!

Постараюсь поправить.
Я сам не программист, а заказчик. Некоторые мелочи я смогу поправить.

А так я всеми руками за если кто-нибудь иправит обработку (сделает ее универсалтной для всех конфигураций) и выложит ее.
7. looxxx Пристайко (looxxx) 197 01.09.09 13:41 Сейчас в теме
(1) Обновил. Теперь выскакивает ошибка?
8. Евгений (zenz) 01.09.09 17:03 Сейчас в теме
УТ 10.3.7.8 ошибка по кнопке "Формирование заказа"

{ОбщийМодуль.ОбщегоНазначения(1822)}: Невозможно обработать параметр "ТекПользователь" для получения значения
ВызватьИсключение СтрокаИсключения;
9. Maniac (Eugeneer) 01.09.09 20:44 Сейчас в теме
(6) Интересно а с автором разработки вы согласовывали что его обработку выложите на какой либо сайт. За такое можно и минусы получить.
10. Maniac (Eugeneer) 01.09.09 20:56 Сейчас в теме
И кстати в разработке не видно плана продаж. По логике вещей, любое планирование закупок должно строится на основе плана продаж, с учетом существующих остатков, резервов и уже сделанных заказов.
В вашей обработке заказов не видно. Планирования тоже нет.
Судя по ошибкам и расковерканному коду особого то и желания нет в ней ковырятся. Как правило заказчику нужно готовое, проверенное, рабочее решение. коророе прошло проверку не на одном предприятии.
Формула для расчета заказа должна быть: План продаж(расчитанный по динамике - (Остатки - Резервы+Заказы). Это касаемо Рекомендуется заказать. Но этого также мало. Человеку нужно видеть не только те позиции которые попали в отчет, а по всей номенклатуре, в том числе новой (которая еще не продавалась или нет на остатках). Также ваша обработка не отрабатывает по подразделениям.
Так что ребята, кому нужно нормально решение (недорогое) и проверенное - вэлкам:
http://infostart.ru/projects/3743/
11. Maniac (Eugeneer) 01.09.09 21:01 Сейчас в теме
Судя по запросу который я просмотрел он неверный. Так что боюсь уважаемый у вас планирование как бы сказать ... косячное :)) Можете конено говорить все что угодно. Могу на голом запросе сказать что нет.
12. Денис Уваров (rediska) 02.09.09 08:45 Сейчас в теме
Какая то прямо "маниакальная" неприязнь к чужому труду :)))
13. correct_coding (correct_coding) 394 02.09.09 13:11 Сейчас в теме
Маньяк, ты внатуре маньяк :)
14. looxxx Пристайко (looxxx) 197 02.09.09 16:45 Сейчас в теме
(9) Отчет мой. Я разработал ТЗ. Я заплатил за его выполнение.

(10) Планирование будущих продаж расчитыватся исходя из продаж прошлых периодов. Т.е. он считает средние показатели продаж за прошлые периоды (можно задать несколько периодов с коэффициентом веса этих периодов для учета сезонности). Расчитывет сколько товара продастся в задаваемый период(= средняя продажа * кол-во дней (задается пользователем -это обычно количество дней до следущей закупки)). Из этого количества вычитаются существующие остатки и получается количество товара необходимое для заказа. Галочку учитыват или не учитывать резервы мне сейчас доделывают. Так что будет в следующей версии.

Общая формула расчета такая:
План продаж(расчитанный по динамике - (Остатки - Резервы)

Заказы поставщикам я умышленно не хотел учитывать. Мое личное мнение если по продукции еще остался не закрытый заказ и мы делаем еще один, то старый заказ в 99% уже не нужен. Это сугубо мое личное мнение. Можете не соглашаться :)

(10) Что отчет может показать по новой продукции, которая еще не продавалась?

(12) Маньяк так злится потому что его "нормально решение (недорогое) и проверенное - http://infostart.ru/projects/3743/" меньше будут покупать.
Хотя совсем недавно он злился, что нормально решение (недорогое) и проверенное другого программиста продается за деньги (http://www.infostart.ru/projects/3295).
15. Maniac (Eugeneer) 02.09.09 16:51 Сейчас в теме
(14) заказы все же нужно учитывать. Если есть старый заказы, т ов вашем случае при формировании новых они должны быть закрыты.
Планирование не может делаться на все в определенный момент.
Есть заказы которые уже идут и нужно делать дозаказ.
Например мы делаем заказ на месяц. Но также осуществляются контрольные точки. раз в неделю или через 2 недели закупщик выкручивает планирование и в случае если программа показывает еще рекомендации к заказу поставщику, программа должны учитывать заказы которые есть.
Повторюсь, все же вам нужно доработать заказы. В вашем случае если вы считаете что старые должны анулироваться тогда должно происходить их автоматическое (или любое закрытие).
16. Maniac (Eugeneer) 02.09.09 16:52 Сейчас в теме
У большинстваа пользователей вашей разработки будет эта потребность.
Иначе программа постоянно будет рекомендовывать заказывать то что уже заказано.
17. Maniac (Eugeneer) 02.09.09 16:56 Сейчас в теме
(14) есл ипродукция не продавалась и нет на остатках он ничего и не выведет. Эти позиции нужны для того чтобы закупщик вручную в этой обработке поставил заказать. Вполне вероятно новые позиции ставятся к заказу на основании данных по товарам из этой же группы.
18. Maniac (Eugeneer) 02.09.09 17:01 Сейчас в теме
Кстати предлагаю вам не заморачиваться с доплатами и доработку вашей разработки, а приобрести мою. Гарантирую что вам понравится.
Могу забесплатно доработать под ваши функции которые вы уже сделали в своей. :)
19. Maniac (Eugeneer) 02.09.09 17:04 Сейчас в теме
20. Roman (roamy) 02.09.09 17:56 Сейчас в теме
Может некорректно задавал параметры - считало как здря(
ставлю + за открытый код
возможно надо дорабатывать под себя
21. looxxx Пристайко (looxxx) 197 02.09.09 18:18 Сейчас в теме
(16) Я буду очень рад если эта обработка подойдет хотя бы одному пользователю.
triz-ekb; NnoK; +2 Ответить
22. looxxx Пристайко (looxxx) 197 03.09.09 10:08 Сейчас в теме
23. looxxx Пристайко (looxxx) 197 03.09.09 12:37 Сейчас в теме
(10) Посмотрел ваш отчет. В нем тоже присутствуют ошибки и спорные моменты. И логика анализа и прогнозирования ничем не отличается. Так что очень странно слышать что ваш отчет "нормальный" и "проверенный" в отличии от этого.
Плюс вашего отчета (хотя в демо версии этого нет) это форма редактирования данных перед тем как сформировать заказ.
24. Екатерина Федорова (WiseCATSpb) 11 03.09.09 13:13 Сейчас в теме
Когда нажимаешь на кнопочку "Формирование заказа" выходит ошибка {ВнешняяОбработка.Заказы(895)}: Метод объекта не обнаружен (УстановитьДатуОплатыПоДоговору)
НовыйЗАказ.УстановитьДатуОплатыПоДоговору();
Конфигурация УТ 10.3.7.9

И не хватает доп колонок, например артикул номенклатура и полное наимевание

а в целом "+"
25. Victor Pol (Taurus09) 6 04.09.09 15:00 Сейчас в теме
Работает в УТ для Украины. Пока в целом тоже плюсану.
26. Андрей Иощенко (NnoK) 13.10.09 14:34 Сейчас в теме
Ошибка как и у (24)
Работаю в "Управление торговлей", редакция 10.3 (10.3.5.1)
а так так же "+"
27. looxxx Пристайко (looxxx) 197 11.03.10 18:04 Сейчас в теме
(20) может забыли коэф. для периода поставить?
28. looxxx Пристайко (looxxx) 197 11.03.10 18:06 Сейчас в теме
Теперь считает резервы правильно
29. Ljudmila (ludena) 01.04.10 00:45 Сейчас в теме
Какой замечательный отчет! Функциональный и удобный!
30. Обухов Юрий (Mraque) 25.05.10 12:53 Сейчас в теме
Привет, поставил в отборе номенклатуры группу товаров из 3-х артикулов. Период 1 равен месяцу... обработка ушла считать и не вернулась, по одной позиции делает достаточно оперативно. Не знаю пока в чем конкретно дело - буду смотреть. Пробую на доработанной УТ, но структура основных справочников и регистров не изменялась.

Если есть какие-то идеи или быть может уже исправлено, подскажи пожалуйста.
31. roman ivanov (RSlash1) 20.07.10 10:41 Сейчас в теме
Очень пригодился. Спасибо, что код открыт и можно подправить под свои потребности.
32. Иван Дижа (IDija) 142 21.07.10 11:09 Сейчас в теме
Отчет хороший, но при расчете дней продаж не учтено что в какие то дни товар отсутствовал на складе.
33. yaneg (ИТ-Терминал) 22.11.10 08:47 Сейчас в теме
УТ 10.3.12.3
При попытке открыть обработку, ошибка:

{Форма.ГлавнаяФорма(116,25)}: Переменная не определена (глТекущийПользователь)
Если ЗначениеЗаполнено(<<?>>глТекущийПользователь) Тогда
{Форма.ГлавнаяФорма(116,25)}: Переменная не определена (глТекущийПользователь)
Если ЗначениеЗаполнено(<<?>>глТекущийПользователь)

Можете подправить?
34. Алекс Петрухин (Alex_Pet) 02.11.11 04:36 Сейчас в теме
Ну, в принципе, обработка годная. Плюс - в наличие учета сезонности. ОГРОМНЫЙ минус - отсутствие учета товара по размещенным заказам. Абсолютно не согласен с тем, что вы писали на счет отсутствия учета заказов. Постоянно приходится сверяться с тем, что ты заказал, оплатил и товар уже в пути. Поэтому, очень хотелось бы видеть колонку "Заказано" в вашей обработке.
Удачи.
35. looxxx Пристайко (looxxx) 197 29.12.11 12:56 Сейчас в теме
(32) IDija, отчет как раз расчитывает сколько дней товар был в наличии.
36. Иван Дижа (IDija) 142 29.12.11 13:01 Сейчас в теме
(35) Разобрался и переделывал под себе много раз. Еще раз спасибо, очень помогла обработка!
37. Руслан Микулович (rumik007) 04.01.12 12:36 Сейчас в теме
Плюс однозначно, жаль что пока не могу скачать.
38. Shade (Shade) 2 04.01.12 16:25 Сейчас в теме
Спасибо огромное за обработку, очень пригодилась :) Последнее время всегда нахожу что-то полезное на инфостарте, спасибо создателям его :-) И Вам еще раз огромное спасибо.

По поводу Заказов: Правильно кто-то заметил, что иногда Заказы нужны, особенно если крупные поставки и из разных мест, но так как код открыт, доработать его можно, было бы желание или немного ден. средств :)))

Типовые механизмы планирования напрягли деталями, здесь все просто!!!
39. Shade (Shade) 2 04.01.12 16:27 Сейчас в теме
{Форма.ГлавнаяФорма(116,25)}: Переменная не определена (глТекущийПользователь)
Если ЗначениеЗаполнено(<<?>>глТекущийПользователь) Тогда
{Форма.ГлавнаяФорма(117,69)}: Переменная не определена (глТекущийПользователь)
ДатаНачала = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>глТекущийПользователь, "ОсновнаяДатаНачалаОтчетов");
Наверняка просто нет такой переменной, а точнее она есть, только в в Вашей редакции УТ называется по другому. Откройте конфигуратор и посмотрите, что да как, сделайте поиск по слову Пользователь, посмотрите как в конфигураторе эта переменная называется и в данном отчете исправьте так же через конфигуратор.
40. Алекс Петрухин (Alex_Pet) 21.02.12 05:36 Сейчас в теме
Кто нибудь может добавить в данную обработку учет товара по размещенным заказам? Готов поддержать фининсово.
41. Марат (marat10) 31.05.12 09:56 Сейчас в теме
{Форма.ГлавнаяФорма.Форма(116,25)}: Переменная не определена (глТекущийПользователь)
Если ЗначениеЗаполнено(<<?>>глТекущийПользователь) Тогда
{Форма.ГлавнаяФорма.Форма(117,69)}: Переменная не определена (глТекущийПользователь)
ДатаНачала = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>глТекущийПользователь, "ОсновнаяДатаНачалаОтчетов");

УТ 10.3.16
42. volodya (volodya_gold) 04.07.12 21:07 Сейчас в теме
Хорошая разработка. Как раз сел писать такую с нуля, часть написал - решил посмотреть еще идеи. Только здесь сходу в коде не разберешься. Чтобы внести небольшое изменение требуется много работы и придется переписывать часть функций.
43. Александр МАН (1977) 2 30.10.12 00:00 Сейчас в теме