Анализ продаж и формирование заявки поставщику
(Код на основе Анализа продаж и формирование заказов)
Доработку необходимо сделать отдельной обработкой (без внедрения в конфигурацию) с нуля, но на основе имеющегося Анализа продаж и формирование заказа.
За основу элементов на форме берется наш «Анализ продаж и формирование заказов». У нас в стандартный добавлено два элемента - выпадающий список «Склад» и программный код под него, который в добавленный столбец табличной формы «Остаток на складе» добавляет остаток на выбранном складе. Конфигурацию нашу я дам.
Также, туда добавляем возможность формирования Анализа не по одному магазину, а по нескольким «из списка» (сейчас если не заполнять графу «магазин» система просчитывает по всем, но оформляет это разными раскрывающимися списками (плюсики) – условно нам это нужно свести в одну таблицу по тем магазинам которые нам нужны. Почти.
После выбора всех действующих магазинов и заполнения остальных реквизитов (период анализа, желаемой даты поставки, количество дней, добавленного нами пункта «склад» и др.) программа формирует таблицу с следующих столбцов:
А) Чекбокс (о включение единицы в будущий документ Заказ поставщику) – при редактировании количества проставляет галочку;
Б) Наименование (необходимо учесть, что в разных магазинах ассортимент может частично не совпадать, а нам нужно все, что есть/было/продавалось в анализируемом периоде в обоих магазинах);
В) Остаток на складе – берет, как и сейчас из того, который мы указали в соответствующем окошке (доработка, которую сделали);
Г) Остаток в торговле – суммирует остатки данной номенклатуры товара с каждой точки выбранной для анализа.
Д) Блок Статистика продаж столбец Дней в продаже – наверное самое сложное в данной доработке: стандартный алгоритм Анализа нам не подходит, он не учитывает возможное отсутствие товара в середине анализируемого периода. В этой связи расчет Количества дней в продаже необходимо реализовать по такому принципу: от общего количества дней в анализируемом периоде отминусовуется количество дней в которых остаток товара был равен или меньше 0 или наоборот, за каждый день в анализируемом периоде когда остаток товара на конец дня был больше или =1 к переменной добавляем 1. Условно алгоритм (второй вариант) выглядит следующим образом:
Переменная = 0;
ОТ магазина 1 ДО магазина Х сделать НАЧАЛО
ОТ последнего дня анализируемого периода ДО первого дня анализируемого периода СДЕЛАТЬ НАЧАЛО
ЕСЛИ остаток на конец периода больше или = 0 ТОГДА переменная + 1 ИНАЧЕ конец.
Следующий день;
КОНЕЦ
КОНЕЦ
Ячейка = переменная деленная на количество магазинов, участвующих в анализе (по возможности – не всех магазинов из анализа, а тех из них, в которых товар был хотя бы 1 день за анализируемый период);
Как указано в алгоритме подсчет проводится по всем выбранным магазинам. Количество дней в продаже формируется на основании анализа Движения номенклатуры за выбранный период.
Е) Блок Статистика продаж столбец Проданное количество – сумма проданного количества товара на всех точках, участвующих в Анализе за выбранный период – алгоритм есть в стандартном Анализе его необходимо только запустить на все выбранные магазины;
Ж) Блок Статистика продаж столбец Средняя продажа – ПроданКолич / ДнейВПрод – насколько известно это стандартная формула, реализованная в Анализе.
З) Из табличной части имеющегося сейчас стандартного Анализа продаж и формирование заказов нам точно не нужны такие столбцы: Код, Ед (в блоках «К заказу», «К возврату», «Статистика продаж», «Остаток на начало продаж»), Цена, Сумма к заказу, Сумма к возврату, блоки «Ожидаемое поступление», «Возврат покупателей», «Возврат поставщику»
З) Остаток на начало продаж формируется по формуле ОстНаНачПрод = (ОстНаСкл + ОстВТорг) – (СреднПрод * КоличДнейДоДняНачПрод) – насколько известно это стандартная формула, реализованная в Анализе;
ТАКЖЕ у нас есть отдельная доработка под названием «Анализ продаж ABC-XYZ», однако он доделан не до конца – нельзя выбрать конкретный магазин по которому проводится анализ, а XYZ не работает. Информация с этого отчета нам нужна в доработке Анализ продаж и формирование заказа поставщику. Насколько мне известно в справочнике Номенклатура (карточка товара) есть такое поле Примечание или как-то так, в общем, незадействованное поле – так вот, нам необходимо в существующий анализ добавить одну строчку кода – записать в это незадействованное поле номенклатуры категорию, которую для него высчитал этот Анализ. Если готовы доработать этот отчет – готовы заплатить дополнительно, а пока в Анализе продаж и формировании заказа поставщику необходимо просто предусмотреть два столбца:
- Категория АВС (берется из графы «Примичание» или как она там в стандартной карточке номенклатуры. В свою очередь туда она попадает каждый раз когда формируется анализ АВС-ХУЗ*****) – в зависимости от категории меняется цвет ячейки.
- Категория ХУЗ (возможно тоже берется из графы «Примичание» или как она там в стандартной карточке номенклатуры. В свою очередь туда она попадает каждый раз когда формируется анализ АВС-ХУЗ) – но данная категория на сейчас не есть очень необходимой – в зависимости от категории меняется цвет ячейки.
И) Количество к заказу формируется по следующей формуле: КолКЗак = (сколько дней от сегодня и до ДатыОкончанияПродаж * СреднПрод) – ОстатНаСкл – ОстВТорг. – насколько известно это стандартная формула реализованная в Анализе.
После редактирования оператором количества товара, по нажатию на соответствующие имеющиеся кнопки, формируется документ «Заказ поставщику».
П.С: не исключаю ошибок в формулах, но в случае выявления серьезных косяков — буду доплачивать.
Я нацелен на долгосрочную работу, у нас периодически появляется необходимость что-то доработать. Кроме того, нам нужен человек на удаленное сопровождение работоспособности системы (по абонплате, хотя можно и почасовка – ежемесячный бюджет исчисляется тысячами гривен) – у нас система построена на принцепе распределенных информационных баз - центральный склад и 3 – 7 торговых точек (их 7, но пока автоматизировано только 3, на подходе еще 2). Поэтому, как вы понимаете периодически у нас происходят сбои и их нужно оперативно устранять, но, справедливости ради, нужно отметить, что не часто. Мы все люди и разное случается –мы готовы обсуждать цены, условия, сроки и т.д., но для меня, кроме профессионализма, главное честность – что-то не получается, срывается, с чем то не согласны – не вопрос, обсудили нашли выход и пошли дальше.
Надеюсь на плодотворное, взаимовыгодное и долгое сотрудничество.
Цена указана ту на которую я рассчитываю, но она обсуждаема. По словам бывшего программиста (к сожалению разошлись по причине того, что на основной работе его задействовали на долгосрочный большой проект и он не смог физически дальше нас сопровождать) эта доработка на 6 рабочих часов. Рыночная (можно даже сказать хорошая для программиста) цена часа – 400 грн., тоесть- работа на 2400 грн., но мы готовы платить и 3000 – если работа будет делаться оперативно и без лишней головной боли (общение на предмет путей реализации головняком не считается).
ПС: предпочтение отдается специалистам из Украины, поскольку мы рассчитываем не только на одноразовую работу, но и на дальнейшее сотрудничество по обслуживанию, а это предусматривает общение по мобильному.