Что нового в версии 4.4 Forecast NOW!

В версии 4.4. изменен интерфейс программы (стал более удобным и адаптивным), для целей улучшения продукта добавлена возможность сбора анонимной статистики. В обновлении мы существенно расширили функционал программы.
Алгоритм с учетом дат поступлений теперь позволяет формировать заказы на РЦ с учетом потребностей филиалов, учитывает сроки годности товаров. Также теперь использовать алгоритм можно без загрузки самих поступлений — в их качестве могут быть использованы товару в пути и заказах из истории продаж.

Теперь вы можете отправлять заказ по электронной почте поставщику из интерфейса программы или консольной утилиты.
Добавлена возможность указания порогов ограничения заказа — теперь вы сможете отсекать заказы с небольшой потребностью и значительными ограничениями. 
Выкладку на витрине теперь можно использовать как страховой запас, если вы применяете такую логику работы.
Добавлена расшифровка заказов, улучшена расшифровка оптимального запаса.
Уточнена логика кросс-докинга при округлении суммарного заказа до кратности — теперь автоматически изменяются связанные заказы, также операции кросс-докинга добавлены в консольную утилиту.

Для внутренних перемещений (балансировки)

  1. добавлена возможность разбивки по транспортным средствам
  2. указывается причина возникающего дефицита
  3. добавлены логики разворота аналогов (по цене, времени прихода на склад и порядку, заданному пользователем)
  4. добавлен учет зон хранения.

В обновлении вы сможете задать иерархию для проведения анализов, выяснить, какой клиент приносит наибольшую выручку и прибыль, рассчитать показатели эффективности суммарно по складам.

Уточнена работа консольной утилиты с возникавшими ошибками — вы можете

  1. остановить работу утилиты при возникновении ошибок
  2. игнорировать синтаксические ошибки в файлах загрузки


Оглавление

Контакты специалиста техподдержки
По всем возникающим в ходе использования программы вопросам Вы можете обращаться к специалисту технической поддержки:
e-mail: support@forecastnow.ru

 

Обновление программы

Ускорен процесс обновления программы в части обновления базы данных.

Полностью процесс обновления выглядит следующим образом:

  1. Закрыть программу у всех пользователей
  2. Скопировать базу данных (.db) для SQLite версии программы или дамп базы для MySQL и MS SQL версий на внешний носитель для обеспечения сохранности данных.
  3. Удалите программу через мастера установки и удаления программ
  4. Проверьте, что папка с программой пуста, если нет — удалите ее содержимое вручную
  5. Установить обновление, запустив дистрибутив
  6. Открыть программу
  7. При необходимости обновить базу данных (будет сообщено при выборе базы)
  8. При обновлении базы с версии 76 перед обновлением создаётся резервная копия базы (дамп) средствами СУБД.

Для MSSQL резервная копия хранится в каталоге хранения резервных данных (настраивается в свойствах сервера)

Для MySQL резервная копия сохраняется в каталоге, выбранном в диалоговом окне при обновлении базы или в Глобальных настройках.

Для MySQL также нужно указать путь к утилите mysqldump.exe

По умолчанию она находится по пути C:\Program Files\MySQL\MySQL Server 5.7\bin

Общие изменения

Новый интерфейс

Был обновлен интерфейс Forecast NOW! В ближайшее время соответствующим образом будет обновлена онлайн-документация документация, ниже приведены общие изменения.

    1. В меню «Файл» перенесены операции:

    2. загрузка/сохранение данных вручную

    3. администрирование (активация лицензии и прочее)

    4. вызов справки по программе

  1. Настройки программы (расписания заказов, транспортные средства, глобальные настройки и пр.) доступны в меню настройки, которое активно при нахождении на любой вкладке программы

  1.  Работа с функционалом программы проходит при помощи меню «Главная» и выбору нужной вкладки (Заказ, балансировка, продажи и пр.),

  1.   Меню «Вид» относится к виду выбранной вкладки (какие столбцы/свойства и т.д) отображать)

  1.   Все активные операции по автоподготовке заказа/балансировки перенесены в окно «Главная» (ранее были справа снизу выбранной вкладки)

Сбор базовой статистики

Для планирования развития продукта добавлена новая Глобальная настройка во вкладку Прочие — «Помочь нам сделать продукт лучше, отправляя анонимную статистику». По умолчанию настройка выключена. При активации настройки происходит отправка обезличенных метрик использования программы. На текущий момент собираются следующие метрики:

  1. Скорость открытия программы
  2. Частота использования различных вкладок и кнопок программы

Статистика позволит нам лучше планировать развитие продукта и совершенствовать его узкие места, еще до получения обращений от пользователей. Участие в этой программе будет полезным для вас, так как мы будем принимать во внимание результаты работы программы и корректировать план развития продукта с этим учетом.

Отсылаются: название метрики, версия программы. В обезличенном виде: номер клиента, номер базы, номер пользователя.

Для отправки используется адрес http://176.192.93.170:9091

Алгоритмические изменения

Расширение работы алгоритма с учетом дат поступления заказов

В обновлении расширена и улучшена работа алгоритма с учетом дату поступлений заказов:

  1. Поддерживается формирование заказов на РЦ с учётом потребностей филиалов
  2. Уточнен учет сроков годности
  3. Уточнен расчет прогнозируемого остатка

Использование алгоритма с учетом дат поступлений без загруженных поступлений

Использовать алгоритм с учетом дат поступления теперь можно без загрузки самих поступлений.

Использовать алгоритм можно, если не загружены поступления с датами прихода, а используются товары в пути и заказах при загрузке истории продаж. В этом случае при включенной глобальной настройке и если в базе нет ни одного загруженного поступления ни по одному товару, то поступлением будет считаться сумма последних известных значений в колонках «заказано» и «в пути», датой прихода — максимальная дата в базе + 1 день. Это соответствует текущей логике работы со значениями «заказно» и «в пути» для старого алгоритма со включенной опцией «Разрешить расход товара в пути».

Логика расчёта дефицита

Добавлена вариативность учета дефицита, при помощи глобальной настройки «Считать день дефицитным, если фактический остаток меньше, чем».

Ситуацией дефицита считается, если в какой-то день, продажи нулевые и остаток меньше, чем значение настройки, умноженное на средние продажи (рассчитанные за последний год для каждого дня отдельно по дням с ненулевыми остатками)

Можно установить с точностью до 2 знаков после запятой, доступные значение от 0.5 до 10.0. По умолчанию = 1.0

Заполнение настройки полезно, если вы считаете, что у вас ситуация дефицита наступает, если фактического остатка не хватает для покрытия потребности, больше, чем на 1 день.

По умолчанию ситуацией дефицита считается, если продажи нулевые и остатка не хватает на удовлетворение потребности на 1 день.

Логика учета порогов сезонности

Уточнена логика работы порогов сезонности, задаваемых в глобальных настройках.

Для корректного учета рассчитанных слишком больших и маленьких коэффициентов сезонности в Глобальные настройки-Прочие есть пороги фильтрации сезонности.

Минимальная граница не может быть больше 1.0, максимальная граница не может быть меньше, чем 1.0.

При учете сезонности в если коэффициент сезонности меньше, чем минимальная граница, то он считается равным 0, если больше, чем максимальная граница, то он считается равным максимальной границе.

Вкладка Заказ

Отправка заказа по электронной почте

Добавлена возможность отправки заказа поставщику по электронной почте из интерфейса программы (и консольной утилиты)

Для этого у вас должны быть заданы:

  1. Настройки отправки почты (Глобальные настройки — настройки отправки почты)
  2. Электронные почты поставщиков (Настройки — Поставщики)

  1. После установки нужных настроек для отправки подготовленных и сформированных заказов поставщику, необходимо нажать на «Отправить заказ», выбрать формат, тип файла и нажать Отправить.

Работа с общим ограничение по весу-объему заказа

Часто в ограничениях поставщика задаются минимальные вес и объем. Фактически это означает, что заказ должен быть увеличен до фуры. Для реализации такой логики изменена дозабивка заказа при одновременном указании веса и объема в качестве минимальных ограничений.

Если одновременно заданы минимальные вес и объем заказа и не задано других ограничений, то заказ будет увеличен таким образом, чтобы он не превысил ни одно из этих ограничений. Этот функционал полезен, если вы должны увеличивать заказ до транспортного средства. Такая же логика работы дозабивки применяется при автоматическом учете ограничений поставщика.

% дозабивки заказа

Добавлена возможность управления дозабивкой заказа для того, чтобы заказы с минимальной потребностью поставщику не увеличивались до больших ограничений.

% ограничения задается в Настройки-Поставщики (или загружается в файле с Поставщиками)

Если изначальный заказ меньше любого из порогов (по сумме, весу, объему), то заказ будет обнулен, т.е. вы можете дозабивать заказы, если изначальная потребность больше заданного % по ограничению поставщика.

Общее описание работы функционала:

Если у поставщика указан порог ограничения заказа по минимальной сумме, то этот порог учитывается следующим образом:

  1. определяется сумма, вес, объем изначального заказа (X1, X2, X3)
  2. эта сумма делится на ограничение (Y1, Y2, Y3)
  3. если хотя бы одно ограничение, умноженное на порог, больше суммы/веса/объема изначального заказа (Y1 (2,3) * ограничение/100 > X1 (2,3)), то заказ обнулится и в статус-строке заказа отобразится «Сумма заказа без обработок меньше X% от суммы заказа с ограничениями».

Например, порог = 50%

Изначальный заказ 40 000 ден. ед, минимальное ограничение 100 000 ден. ед.

Изначальный заказ равен 40% от ограничения, а это меньше порога, значит заказ будет обнулен.

Изменение заказа нового товара

Введен новый статус достоверности заказа «Не рассчитано. Новый товар». Введение статуса вызвано невозможностью рассчитывать заказы по новому товару (в том числе по его продажам), пока не накоплено хотя бы 3 дня его продаж.

Такой статус присваивается позиции, если она попадает под условия для Нового товара, параметр способ расчёта нового товара равен «по продажам» и в истории продаж меньше 3х дней с доступным остатком больше 0. В этом случае заказ по позиции равен 0.

При ручном сохранении заказов в файл, если в заказе есть позиция со статусом «Не рассчитано. Новый товар.» и не отредактированным «Заказать», то выводится предупреждение «В заказе X имеются товары для которых нужно вручную указать кол-во заказа», где X — название заказа.

Таким образом общая логика заказа нового товара:

  1. Сначала он заказывается до минимального или изначального запаса
  2. После накопления 3 дней продаж товар заказывается по бездефицитным средним продажам (при указании способа расчета нового товара «по продажам»)
  3. После окончания периода нового товара товар заказывается по методам математического моделирования

Изменения формирования заказа на РЦ

Доработано формирование заказа на РЦ для учета минимальных запасов и новых товаров на филиалах.

В случае, когда заказ формируется на главный склад иерархии и учитываются продажи дочерних складов, то оптимальный запас на РЦ рассчитывается следующим образом:

  1. Проводится моделирование по РЦ и филиалам, где позиция является достоверной
  2. Прибавляются «Добавлять к заказу» с филиалов (если там есть продажи и/или остатки)
  3. Если на филиалах товар является новым и нет продаж и остатков, то к ОТЗ РЦ прибавляется изначальный запас филиалов (или «Добавлять к заказу», если не задан), если на РЦ нет продаж и остатков
  4. Для новых позиций из филиалов с числом дней продаж больше 2 рассчитывается Оптимальный запас методом по продажам (если он выбран) и также прибавляется к ОТЗ РЦ

Полная формула приведена ниже:

Конечный ОТЗ = «ОТЗ из моделирования» + «изначальный запас РЦ» + «добавлять к заказу РЦ» + «ОТЗ для нового товара, рассчитанный для РЦ» + «изначальный запас филиала1» + .. + «изначальный запас филиалаN» + «добавлять к заказу филиала1» + ... + «добавлять к заказу филиалаN» + «ОТЗ для нового товара, рассчитанный для филиала1» + ... «ОТЗ для нового товара, рассчитанный для филиалаN»

«ОТЗ из моделирования» = ОТЗ, построенные по всем доступным актуальным историям продаж с РЦ и всех филиалов через моделирование

«изначальный запас РЦ» = если на РЦ есть какие-то остатки, то 0, иначе параметр «изначальный запас» с РЦ

«добавлять к заказу РЦ» = если на РЦ есть какие-то остатки, то параметр «добавлять к заказу» с РЦ, если остатков нет и параметр «изначальный запас» с РЦ нулевой, то то параметр «добавлять к заказу» с РЦ, иначе 0

«ОТЗ для нового товара, рассчитанный для РЦ» = если на РЦ больше 2х недефицитных продаж и товар на РЦ НОВЫЙ и установлен способ расчёта нового товара По продажам, то ОТЗ по средним продажам, иначе 0

«изначальный запас филиалаX» = если на РЦ есть хоть какие-то продажи или остатки, то 0, иначе, если у филиалаX нет положительных остатков, то параметр «изначальный запас» с филиалаX, иначе 0

«добавлять к заказу филиалаX» = если на филиалеX есть какие-то остатки, то параметр «добавлять к заказу» с филиалаX, если остатков на филиалеX нет и на РЦ нет хоть каких-то продаж и остатков и параметр «изначальный запас» с филиалаX нулевой, то то параметр «добавлять к заказу» с филиалаX, иначе 0

«ОТЗ для нового товара, рассчитанный для филиалаX» = если на филиалеX больше 2х недефицитных продаж и товар на филиалеX НОВЫЙ и установлен способ расчёта нового товара По продажам, то ОТЗ по средним продажам филиалаX, иначе 0

Способ учета «Добавлять к заказу»

В программе можно задать параметр «Добавлять к заказу» — ниже этого объема товара не должен опускаться запас (например, витринная выкладка). Однако часто эта витринная выкладка может восприниматься как страховой запас на случай колебаний спроса. При этом этот страховой запас также рассчитывается при моделировании оптимального запаса (и регулируется уровнем сервиса). Чтобы не было задвоения страховых запасов (заданных через добавлять к заказу и рассчитанных при моделировании) добавлена возможность управления учетом параметра «Добавлять к заказу» в глобальных настройках.

  1. «Добавлять всегда» (значение по умолчанию) — «Добавлять к заказу» увеличивает рассчитанный оптимальный товарный запас (гарантируется наличие этого товара независимо от спроса).
  2. «Добавлять при превышении страхового запаса» — используется, если витринный запас воспринимается как страховой. Добавлять к заказу воспринимается как возможный страховой запас — при расчете оптимального запаса программа (ОТЗ) выберет, что использовать в качестве страхового запаса — добавлять к заказу или рассчитанный при моделировании страховой запас: ОТЗ = прогноз спроса + макс (добавлять к заказу, страховой запас) .

Новая расшифровка ОТЗ и заказать

Уточнена работа расшифровки оптимального запаса и заказа:

  1. Добавлена расшифровка «Заказать» (влияние кратности и прочих факторов)
  2. Уточнен сам принцип расшифровки

Для расшифровки, как и ранее, нужно выбрать позицию в таблице Заказа и нажать «Расшифровать расчёт» (или выбрать соответствующий пункт при помощи правой кнопки мыши)

После этого откроется таблица, в которой рассчитаны влияние разных факторов на Оптимальный Запас и Заказать.

Объединение заказов с учетом общей кратности, изменение связанных заказов

В программе была доступна операция объединения заказов (логика кросс-докинга) — сначала рассчитывалась потребность на филиалах, потом эти потребности объединялись в один заказ на РЦ. При этом при объединении можно учитывать кратность общего заказа.

В обновлении добавлено изменение связанных заказов при округлении общего до кратности (общий заказ изменяется до кратности, увеличивается или уменьшается число товаров к заказу и нужно учесть это изменение в изначальных заказах, так как фактически поедет чуть больше или чуть меньше товара на филиалы).

При создании общего заказа на склады с учетом кратности также будут изменены связанные заказы — тот, по которому проходит создание общего заказа и изначальные заказы на торговые точки.

То количество заказать, на которое изменился общий заказ из-за учета кратности будет пропорционально распределено между изначальными заказами (с учетом их кратности). Излишек(недостаток) распределяется пропорционально исходным объёмам заказа с учётом кратности склада, с которого сделан изначальный заказ. Не распределённое попадает без учёта кратности на последний склад.

Также у измененных изначальных и объединенного заказа появится комментарий «заказ увеличен на <> для учета общей кратности».

Перемещение строчки в сформированном заказе

Можно перемещать строчки сформированном заказе:

  1. При зажатой клавише Ctrl+Shift и нажатие ↑, выделенная строка перемещается вверх.
  2. При зажатой клавише Ctrl+Shift и нажатие ↓, выделенная строка перемещается вверх.

При сохранении заказа, в файле сохраняется установленный порядок строк

Балансировка

Настройки балансировки по умолчанию

Настройки балансировки по умолчанию (используются при автоподготовке балансировки и по умолчанию для ручных балансировок) перенесены в общее меню «Настройки».

Разбивка по транспортным средствам

Вы можете распределить сформированные внутренние перемещения по транспортным средствам (сами средства нужно задать в справочнике транспортных средств)

Разбивка по транспортным средствам доступна, только если в балансировке есть одно направление

Для распределения балансировки по транспортным средствам нужно:

  1. Выбрать сформированную балансировку в списке балансировок
  2. Вызвать контекстное меню правой кнопкой мыши
  3. Выбрать пункт «Разбить по ТС»
  4. В открывшемся окне нужно выбрать типы транспортных средств (ранее заданные в Настройки — Транспортные средства) и задать порядок распределения
  5. Если необходимо, чтобы товары, оставшиеся после разбивки по заданным ТС, далее разбивались по последней фуре из списка нужно поставить соответствующую галочку (если вы разбиваете товар по одному типу фур, то галочка должна стоять обязательно)

В итоге в списке заказов появятся балансировки, разбитые по транспортным средствам.

Разворот аналогов

При наличии аналогов при расчете балансировки программа выбирает, какие аналоги перемещать в первую очередь.

В обновлении добавлен способ выбора этого разворота аналогов при помощи настройки балансировки «Метод разворота аналогов»

Механизм разворота

  1. Список аналогов сортируется в зависимости от настройки:

сначала старые запасы, потом новые — сортировка по дате последнего изменения остатка от меньшей к большей

сначала дешевые, потом дорогие — сортировка по цене закупки от меньшей к большей

по приоритету — сортировка по приоритету на вкладке Аналоги от самого высокого до низкого

  1. В том случае если значения равны, то сортировка происходит по артикулу товара
  2. Пока количество для перемещения больше нуля забирается полностью возможный остаток «На складе» у текущего аналога и отнимается от количества перемещения для главного аналога.

Если остатка «На складе» не хватило и стоит галочка «добавить к остатку склада донора расход остатка „Заказано“», будет забираться остаток «Заказано» у аналога (так же весь) и отниматься от кол-ва перемещения для главного аналога

Если и остатка «Заказано» не хватило, то забирается остаток «в пути» у аналога и отнимается от количества перемещения для главного аналога

  1. Если кол-во перемещения у главного аналога больше нуля, то осуществляется переход к следующему аналогу по отсортированному списку.
Учет кратности при развороте аналогов

При развороте аналогов в балансировке учитывается кратность аналогов. (Кратность или Кратность (балансировка) в зависимости от настроек балансировки) .

Последнее перемещение может быть не кратно.

Причина дефицита

Добавлен столбец «Причина дефицита» — в столбце объясняется, почему возник дефицит:

  1. «на складе-доноре» нет доступного остатка для перемещения — остатки на складе доноре равны 0 — перемещение невозможно
  2. «остаток склада-донора зарезервирован под его потребность» — полностью выполнить нужное перемещение нельзя, так как на складе-доноре должен остаться товар под его продажи
  3. «были выполнены перемещения со склада-донора на другие склады» — остаток склада-донора уехал для удовлетворения потребностей других складов, полное перемещение на отображаемый склад невозможно
  4. «округление по кратности» или «округление по минимальной партии» — полное покрытие потребности склада-реципиента невозможно из-за установленной кратности или минимальной партии и правил округления

Расписание балансировки

Если для проведения балансировки Вы используете расписание заказов, отличающееся от Заказа, то это расписание нужно предварительно задать в Параметры — Балансировка и выбрать в Настройках Балансировки.

Учет зон хранения при балансировке

При расчете оптимальных внутренних перемещений (балансировке) в обновлении учитывается вместимость зон хранения.

Зоны хранения для простых перемещений учитываются для складов-реципиентов.

Для сложных перемещений (если склад по одному перемещению является донором, по другому — реципиентом) зоны хранения учитываются и для складов-доноров и складов-реципиентов.

Для каждого склада по последним строкам перемещений (в таблице есть № перемещения) вычисляем суммарный вес и объём:

Вес = (Фактический остаток склада В + Количество перемещения) * вес единицы из классификации

Объём = (Фактический остаток склада В + Количество перемещения) * объем единицы из классификации

При переполнении какой-то зоны хранения будет выведено сообщение о превышении зон хранение будет с информацией о числе и самих перемещениях, в которых произошло переполнение.

Вес и объем перемещения

Добавлены столбцы с отображение веса и объема перемещения

  1. Если не задан объем упаковок разного уровня, то Объем/вес перемещения = кол-во перемещения * объём/вес единицы товара
  2. Если задан объем упаковок разного уровня, то

Объем/вес перемещения = целое Число упаковок 2 уровня к перемещению (если больше 1) * вес/объем упаковки 2 уровня + оставшееся целое число упаковок 1 уровня (если больше 1) * вес/объем упаковки 2 уровня + оставшеся число к перемещению* вес/объем из классификации

Пример: Перемещение = 256 штук,

Упаковка 2-го уровня = 100,

Упаковка 1-го уровня = 10

Вес упаковки 2-го уровня = 10

Вес упаковки 1-го уровня = 5

Вес штуки = 3

Перемещение = 2 упаковки 2-го уровня + 5 упаковок 1-го уровня + 6 штук

Вес перемещения = 2 * 10 + 5 * 5 + 6 * 3 = 63

Путь сохранения балансировки для учетной системы

Добавлена возможность, задания формата файла сохранения и путь сохранения балансировки для учетной системы

Для того, чтобы балансировка сохранялась в выбранном формате и по выбранному пути необходимо при сохранении балансировки выбирать «сохранить в учетную систему»

Навигация

Мультивыбор товаров в режиме дерева

Доступно мультивыделение древовидных представлениях панели навигации (ранее было доступно только в режиме списка). Выделить несколько групп или товаров можно удерживая shift или ctrl. В контекстном меню для мультивыделения есть операции «добавить все выделенные товары + товары из выделенных групп» (Добавить товары) и «добавить все выделенные группы» (Добавить группы)

Предупреждение о закрытии программы

Добавлено предупреждение и закрытии программы при нажатии соответствующих кнопок (кнопка выхода, Файл-Выход, Alt+F4)

Анализ

Учет иерархий складов при проведении анализов.

Часто возникает ситуация, когда для проведения анализов используется иерархия складов, отличающаяся от используемой при заказах/балансировке. Для этого добавлена возможность установки иерархии для проведения анализов (ABC-XYZ, Анализ Эффективности, Анализ Динамики, Обеспечение продаж, Излишки, Анализ — Ассортимент, Анализ — Неслучайное отсутствие спроса, Прогноз-Обеспечение продаж) при помощи глобальных настроек — Анализ — Иерархия складов.

  1. «Использовать из параметров» — при проведении анализов для товаров будет использована иерархия складов из их параметров.
  2. «Не использовать» — иерархии складов не будут учтены при проведении анализов.
  3. Имя конкретной иерархии складов из базы — для всех товаров в анализе будет использована указанная здесь иерархия.

ABC-XYZ

ABC анализ по клиентам

Если у вас загружена история продаж в поклиентском разрезе, то вы может оценить, какой клиент вносит наибольший вклад в продажи, выручку, себестоимость и частоту продаж при помощи выбора среза «по клиентам».

Выбор анализа при сохранении

При сохранении анализа для «классификации» в программе (в дальнейшем можно посмотреть его итоги, использовать в фильтрах и правилах автоустановки) вы можете «перезаписать» ранее сохраненный анализ, выбрав его в раскрывающемся списке (можно выбрать только свои анализы + доступные всем пользователям)

Категорийный менеджмент

Настройки анализа категорийного менеджмента

В анализ-категорийный менеджмент добавлена возможность исключения нескладских, новых и товаров с недостаточным объемом данных из анализа.

Для этого необходимо поставить соответствующие галочки на вкладке анализа:

Эффективность

Суммарно по складам

При помощи соответствующей настройки анализ-эффективность можно проводить «суммарно по складам».

Если настройка включена и в анализ добавляются товары/группы с нескольких складов, то показатели эффективности будут рассчитаны суммарно по выбранным складам (товары разных складов воспринимаются как группа товаров).

Консольная утилита

Остановка работы консольной утилиты при возникновении ошибок

Если во время работы консольной утилиты выявлены ошибки, то можно отменить дальнейшее выполнение команд. Для этого нужно в файл для консольной утилиты вставить дополнительную команду для обработки кодов возврата. Пример скрипта обработки ошибки.

echo %ERRORLEVEL%

IF %ERRORLEVEL% EQU 0 goto okay

:erorrs

echo some errors

exit

:okay

echo okay

Данное поле нужно вставить после команды, при выполнении которой если будут выявлены ошибка утилита прекратит свою работу.

Например:

Если при загрузке истории продаж возникнут ошибки, то консольная утилита прекратит свою работу и файл классификации не будет загружен.

FSystemConsole.exe" import -sh -a «C:\file\format.format» «C:\file\history.csv» demo.dbecho %ERRORLEVEL%

IF %ERRORLEVEL% EQU 0 goto okay

:erorrs

echo some errors

exit

:okay

echo okay

FSystemConsole.exe" import -o -r «C:\file\classification.csv» demo.db

Игнорирование синтаксических ошибок

Выполняется при помощи ключа

—ignore-syntax-errors

При использовании опции загрузка будет проведена даже при наличии синтаксических ошибок в файле продаж и классификации.

Строки с синтаксическими ошибками будут проигнорированы, остальные — загружены

Для классификации игнорируется одна критическая ошибка — неверное кол-во аргументов (например если вместо Товар1;Название;Товар написать Товар1;Название)

Отправка заказа по почте

Отправка заказа по электронной почте выполняется при помощи ключа

—email

Флаг для автоматической отправки сохранённых заказов на e-mail, указанный в карточке поставщика. Заказы отправляются только при указании флага с форматом, в указанном формате.

Формирование общих заказов на склады

Добавлены ключи для операция формировании общего заказа на склады

—group-order-by-product

Создаст общий заказ на склады по объединенным при помощи ключа —merge-orders заказы

—group-order-roundbystorage storage

storage — код склада

Создаст общий заказа на склады с учетом кратности указанного склада по объединенным при помощи ключа —-merge-orders заказы

При этом будут изменены объединения заказов, и объединённые заказы (по поставщику, группе заказа, складу), из которых этот заказ получен в соответствии с кратностью указанного склада.

Сохранение заказа в csv

Выполняется при помощи ключа

—csv

Информация о расположении файлов с логами ошибок импорта в диалоге ошибок консольной утилиты

В сообщение о критической ошибке импорта при открытии програмым добавлено путь к файлу с логом ошибок.

Удаление нулевых строк из заказа

Выполняется при помощи ключа

—remove-null-tobuy-records

Удаление из заказов, строк с нулевым значением Заказать. В реестре сохраняются полные заказы.

Импорт данных

Формат файла загрузки поставщиков

Добавлен формат загрузки файла поставщиков:

#suppliersTable

данные1;данные2;...;данныеn

значение поставщика по данным1;значение поставщика по данным2;...;значение поставщика по даннымn

#suppliersLimitsByStorages

код_поставщика;склад;наименование_ограничения;значение

типы данных: Код поставщика;имя поставщика;период отсрочки платежа;минимальный объём заказа, ден.ед.;минимальный объем заказа, ед. веса;минимальный объем заказа, ед. объёма;текущий остаток от максимального товарного кредита;стоимость обработки одной строки заказа;заданный уровень упаковки;минимальное количество упаковок для заказа;уровень упаковок для кратности;кратность упаковки;фиксированная стоимость доставки;стоимость доставки заказа в процентах от стоимости груза;стоимость доставки за ед веса;стоимость доставки за ед объёма;порог ограничения заказа по минимальной сумме, %;Почта

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

#suppliersLimitsByStorages — необязательный элемент, в котором можно указать ограничения на поставщика и стоимости доставки в разрезе складов

наименование_ограничения/стоимость доставки бывают:

минимальный объем заказа, ден ед

минимальный объем заказа, ед объёма

минимальный объем заказа, ед веса

кратность упаковки

минимальное число упаковок для заказа

стоимость обработки одной строки заказа

стоимость доставки за единицу веса, ден ед

стоимость доставки за единицу объёма, ден ед

стоимость доставки заказа от стоимости груза, %

фиксированная стоимость доставки, ден ед

порог ограничения заказа по минимальной сумме, %

для значения поддерживаются форматы с «.» и с «,»

Ограничения поставщиков в разрезе складов можно загружать несколькими файлами, при этом данные будут добавляться, а при совпадении поставщика, склада и наименования — перезаписываться

Пример:

#suppliersTable

код поставщика;порог ограничения заказа по минимальной сумме, %

supplier_id;50

supplier_id;stogare_1_id;минимальный объем заказа, ден ед;100000.11 supplier_id;stogare_2_id;минимальный объем заказа, ден ед;200000.2 supplier_id;stogare_3_id;минимальный объем заказа, ден ед;300000.3 supplier_id;stogare_1_id;минимальный объем заказа, ед объёма;7000.7 supplier_id;stogare_2_id;минимальный объем заказа, ед объёма;8000.8 supplier_id;stogare_3_id;минимальный объем заказа, ед объёма;9000.9 supplier_id;stogare_1_id;минимальный объем заказа, ед веса;400.4 supplier_id;stogare_2_id;минимальный объем заказа, ед веса;500.5 supplier_id;stogare_3_id;минимальный объем заказа, ед веса;600.6 supplier_id;stogare_1_id;кратность упаковки;55

supplier_id;stogare_1_id;минимальное число упаковок для заказа;66 supplier_id;stogare_1_id;стоимость обработки одной строки заказа;3

Начало формы

Глобальные настройки

Доступ к глобальным настройкам

Доступ к глобальным настройкам доступен только пользователям с ролью «Администратор».

Пути сохранения

Все глобальные настройки, относящиеся к сохранению заказов и балансировки вынесены в раздел Глобальные настройки-Пути сохранения

Параметры

Округление «половина кратности, складская»

Добавлено новое правило округления «Половина кратности, складская»

Работает как обычное правило «По правилам», за исключением значений меньших 1 кратности — тогда если заказ больше половины кратности, он округляется до кратности, если меньше половины — остается изначальным (не обнуляется).

Например, кратность = 24, заказать = 10. При округлении по правилам программа закажет 0, при округлении по «Половина кратности, складская» программа закажет 10 единиц товара.

При данном правиле округления, в балансировке, округление количества перемещения по минимальной партии, будет происходить «По правилам».

Копирование правила автоустановки параметров

Добавлена возможность копирования правил автоустановки параметров при помощи контекстного меню или кнопки «копировать правило»

При нажатии кнопки «копировать правило» или вызова соответствующего пункта контекстного меню на правиле открывается диалог создания правила с заполненными как в оригинальном правиле полями и пустым именем. Правило добавляется в ту же папку, что и оригинальное правило.

Сохранение правила автоустановки параметров

Правила автоматической установки параметров, можно сохранить в файл формата xlsx, в табличном виде.

Для этого нужно в окне с правилами автоустановки параметров, выделить нужные правила и нажать кнопку «Сохранить выбранные правила».

Данный функционал можно использовать для формирования отчёта из правил автоматической установки.
Пример сохранённых автоправил

Администрирование

Сохранение статистик в csv

Добавлена возможность сохранения статистик базы данных в csv при помощи ключа — -csv

Вывод предупреждения об окончании действия лицензии

Добавлена проверка срока окончания лицензии. Если лицензия истекает меньше чем через 3 дня, то при запуске программы выводится сообщение

«Срок действия лицензии истекает тогда-то. Для продления обратитесь к разработчику support@forecastnow.ru »

Журнал

Добавлены запись в журнал действий по:

  1. Создание правил автоустановки параметров
  2. Изменение правил автоустановки параметров

Узнайте, чем программа Forecast NOW! будет полезна именно вашей компании

Оставьте заявку на демонстрацию программы. С вами свяжется менеджер, чтобы подобрать удобное время демонстрации.

Мы подробно расскажем о функциях, которые будут полезны именно вам и рассчитаем экономию от внедрения программы. После чего вы сможете поработать в демонстрационной версии программы самостоятельно.