gifts2017

Планирование закупок с возможностью формирования заказа (код открыт) для УТ 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
19
.epf 51,06Kb 19 Скачать
Планирование закупок
.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) 01.09.09 13:26
(1) У меня в конфигурации такая переменная определена:
"Управление торговлей", редакция 10.3 (10.3.3.3):

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

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

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

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

А так я всеми руками за если кто-нибудь иправит обработку (сделает ее универсалтной для всех конфигураций) и выложит ее.
7. looxxx Пристайко (looxxx) 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) 02.09.09 13:11
Маньяк, ты внатуре маньяк :)
14. looxxx Пристайко (looxxx) 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) 02.09.09 18:18
(16) Я буду очень рад если эта обработка подойдет хотя бы одному пользователю.
triz-ekb; NnoK; +2 Ответить
22. looxxx Пристайко (looxxx) 03.09.09 10:08
23. looxxx Пристайко (looxxx) 03.09.09 12:37
(10) Посмотрел ваш отчет. В нем тоже присутствуют ошибки и спорные моменты. И логика анализа и прогнозирования ничем не отличается. Так что очень странно слышать что ваш отчет "нормальный" и "проверенный" в отличии от этого.
Плюс вашего отчета (хотя в демо версии этого нет) это форма редактирования данных перед тем как сформировать заказ.
24. Екатерина Федорова (WiseCATSpb) 03.09.09 13:13
Когда нажимаешь на кнопочку "Формирование заказа" выходит ошибка {ВнешняяОбработка.Заказы(895)}: Метод объекта не обнаружен (УстановитьДатуОплатыПоДоговору)
НовыйЗАказ.УстановитьДатуОплатыПоДоговору();
Конфигурация УТ 10.3.7.9

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

а в целом "+"
25. Victor Pol (Taurus09) 04.09.09 15:00
Работает в УТ для Украины. Пока в целом тоже плюсану.
26. Андрей Иощенко (NnoK) 13.10.09 14:34
Ошибка как и у (24)
Работаю в "Управление торговлей", редакция 10.3 (10.3.5.1)
а так так же "+"
27. looxxx Пристайко (looxxx) 11.03.10 18:04
(20) может забыли коэф. для периода поставить?
28. looxxx Пристайко (looxxx) 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) 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) 29.12.11 12:56
(32) IDija, отчет как раз расчитывает сколько дней товар был в наличии.
36. Иван Дижа (IDija) 29.12.11 13:01
(35) Разобрался и переделывал под себе много раз. Еще раз спасибо, очень помогла обработка!
37. Руслан Микулович (rumik007) 04.01.12 12:36
Плюс однозначно, жаль что пока не могу скачать.
38. Shade (Shade) 04.01.12 16:25
Спасибо огромное за обработку, очень пригодилась :) Последнее время всегда нахожу что-то полезное на инфостарте, спасибо создателям его :-) И Вам еще раз огромное спасибо.

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

Типовые механизмы планирования напрягли деталями, здесь все просто!!!
39. Shade (Shade) 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) 30.10.12 00:00
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа