Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
консоль [23/06/2020 10:30] – [Логирование выполнения команды] t.osmanovконсоль [24/06/2025 12:00] (текущий) – [Синтаксис] Evgeny Viktorov
Строка 14: Строка 14:
   *[[консоль#экспорт_информационной_базы|экспортировать информационную базу]]   *[[консоль#экспорт_информационной_базы|экспортировать информационную базу]]
   *[[консоль#расчет_статистик_базы_данных|рассчитывать статистики базы данных]] (для сверки с учетной системой)   *[[консоль#расчет_статистик_базы_данных|рассчитывать статистики базы данных]] (для сверки с учетной системой)
 +  *  [[консоль#расчет_текущих_дефицитов|рассчитывать текущие дефициты товаров]] 
 +  * [[консоль#формирование_карточки_товара|формировать карточку товара по выбранному шаблону]]
 +  * [[консоль#формирование_графика_заказов_и_поставок|формировать график заказов и поставок в Excel]]
 +  * [[консоль#анализ_состояния_базы|анализировать состояние базы]]
  
 В консольную утилиту выводятся сведения о начале и завершении операции, а также о времени выполнения. Такой же вывод есть для подопераций. Консольная утилита по завершению предоставляет код возврата, при отсутствии ошибок он равен нулю, в противном случае - код ошибки. Описание ошибок представлено в таблице ниже. В консольную утилиту выводятся сведения о начале и завершении операции, а также о времени выполнения. Такой же вывод есть для подопераций. Консольная утилита по завершению предоставляет код возврата, при отсутствии ошибок он равен нулю, в противном случае - код ошибки. Описание ошибок представлено в таблице ниже.
Строка 215: Строка 219:
 --recipients-limits импорт файла, содержащего ограничения для внутренних перемещений --recipients-limits импорт файла, содержащего ограничения для внутренних перемещений
 --clients импорт файла содержащего данные по клиентам --clients импорт файла содержащего данные по клиентам
 +---suppliers-prices   импорт файла, содержащего прайс-листы поставщиков
 </code> </code>
  
Строка 229: Строка 234:
 ==Параметры== ==Параметры==
 [[формат_данных_для_загрузки#формат_файла_для_выгрузкизагрузки_параметров|Формат файла параметров]] [[формат_данных_для_загрузки#формат_файла_для_выгрузкизагрузки_параметров|Формат файла параметров]]
 +
 +Также доступна опция --dir
 +
 +При ее использовании будут загружены все файлы из указанной директории
  
 ==Аналоги== ==Аналоги==
Строка 261: Строка 270:
 ==Загрузка дат поступления заказов== ==Загрузка дат поступления заказов==
 Формат: [[формат_данных_для_загрузки#ожидаемые_поступления_с_датами|csv]] или [[загрузка_данных_в_forecastnow#Ожидаемые поступления с датами|xml]] Формат: [[формат_данных_для_загрузки#ожидаемые_поступления_с_датами|csv]] или [[загрузка_данных_в_forecastnow#Ожидаемые поступления с датами|xml]]
 +
 +Также доступна опция –dir
 +
 +При ее использовании будут загружены все файлы из указанной директории
 ==Направления балансировки== ==Направления балансировки==
 [[формат_данных_для_загрузки#Направления балансировки|формат файла направлений балансировки]] [[формат_данных_для_загрузки#Направления балансировки|формат файла направлений балансировки]]
Строка 283: Строка 296:
 ==Данные по клиентам== ==Данные по клиентам==
 [[формат_данных_для_загрузки#данные_по_клиентам|Формат файла с данными по клиентам]] [[формат_данных_для_загрузки#данные_по_клиентам|Формат файла с данными по клиентам]]
-===Режим(только для истории продаж, классификации, произвольных полей товаров, параметров)===+ 
 +==Прайс-листы поставщиков== 
 +[[формат_данных_для_загрузки#прайс_листы_поставщиковормат файла с данными по прайс-листам]] 
 +===Режим загрузки===
  
 Выбор режима загрузки [[загрузка_данных_в_forecast_now#режимы_загрузки_истории_продаж|истории продаж]], Выбор режима загрузки [[загрузка_данных_в_forecast_now#режимы_загрузки_истории_продаж|истории продаж]],
  [[загрузка_данных_в_forecast_now#режимы_загрузки_классификации|классификации ]],  [[загрузка_данных_в_forecast_now#режимы_загрузки_классификации|классификации ]],
- [[загрузка_данных_в_forecast_now#Загрузка произвольных полей товара для таблицы Заказа|произвольных полей товара для таблицы Заказа]],  [[консоль#Загрузка дат поступления заказов|дат поступления заказов]], [[загрузка_данных_в_forecast_now#режимы_загрузки|параметров]] и [[ консоль#ограничения_на_внутренние_перемещения|внутренних перемещений]]+ [[загрузка_данных_в_forecast_now#Загрузка произвольных полей товара для таблицы Заказа|произвольных полей товара для таблицы Заказа]],  [[консоль#Загрузка дат поступления заказов|дат поступления заказов]], [[загрузка_данных_в_forecast_now#режимы_загрузки|параметров]] и [[ консоль#ограничения_на_внутренние_перемещения|ограничений для внутренних перемещений]] и [[https://help.fnow.ru/doku.php/%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C#%D0%BF%D1%80%D0%B0%D0%B9%D1%81-%D0%BB%D0%B8%D1%81%D1%82%D1%8B_%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%89%D0%B8%D0%BA%D0%BE%D0%B2|прайс-листы]]
  
 ==Синтаксис== ==Синтаксис==
Строка 293: Строка 309:
  -r, --remove                           режим замены и удаления старой информации  -r, --remove                           режим замены и удаления старой информации
  -a, --append                           режим добавления и обновления информации  -a, --append                           режим добавления и обновления информации
- -s                                     сохранение старых свойств в классификации. Может использоваться при загрузке комплексного xml файла. Указывается в конце команды  
 </code> </code>
  
Строка 372: Строка 387:
 Будут обновлены только данные только по тем столбцам, которые присутствуют в файле загрузки. Аналогичен [[загрузка_данных_в_forecast_now?&#режимы_загрузки_истории_продаж|режиму загрузки]] "Обновить частично" Будут обновлены только данные только по тем столбцам, которые присутствуют в файле загрузки. Аналогичен [[загрузка_данных_в_forecast_now?&#режимы_загрузки_истории_продаж|режиму загрузки]] "Обновить частично"
 Этот флаг используется только для [[консоль#режим_только_для_истории_продаж_и_классификации|режима загрузки "обновить"]] Этот флаг используется только для [[консоль#режим_только_для_истории_продаж_и_классификации|режима загрузки "обновить"]]
 +
 +<code>--day-completion-part <0|1></code>
 +
 +Указывается, загружены ли остатки на конец дня или же это остатки за текущий день, которые необходимо и использовать в расчётах. \\
 +В обычной логике программы, загружаются и учитываются остатки на конец дня(значение 1 или же без указания флага). \\
 +Для того, чтобы программа использовала фактические остатки и не считала, что это данные уже на конец дня, нужно загружать информацию указывая значение флага 0. При этом, максимальной датой в базе будет считаться предыдущая дата продажи в файле. \\
 +В программе не может быть несколько дат с неполной информацией за день.
 +<note important>Остатки таким образом будут учитываться при формирование заказа с включенной глобальной настройкой [[настройки/глобальные_настройки#учитывать_даты_поступления_заказа|Учитывать даты поступления заказов]]</note>
  
 <code>--dir</code>  <code>--dir</code> 
Строка 380: Строка 403:
  
 Программа автоматически объединит содержимое csv файлов из директории, в указанный временный файл и загрузит историю продаж из этого файла. \\ Программа автоматически объединит содержимое csv файлов из директории, в указанный временный файл и загрузит историю продаж из этого файла. \\
 +Чтобы загрузка происходила из указанной директории, обязательно указание флага "dir" \\
 Если утилите не удастся создать новый временный файл, то об этом будет сообщено, программа завершится. \\ Если утилите не удастся создать новый временный файл, то об этом будет сообщено, программа завершится. \\
 Если файл с таким именем уже существует, то программа попытается его удалить и создать новый. \\ Если файл с таким именем уже существует, то программа попытается его удалить и создать новый. \\
Строка 388: Строка 412:
 <code>--save-properties</code>  <code>--save-properties</code> 
  
-В режиме замены классификации будут сохранены созданные в программе свойства и их значения+В режиме замены классификации будут сохранены созданные в программе свойства и их значения. Указывается в конце команды.
  
 <code>--no-warnings</code> <code>--no-warnings</code>
Строка 398: Строка 422:
 для которого производится загрузка настроек балансировки. для которого производится загрузка настроек балансировки.
  
 +<code>----disable-update-campaigns</code>
 +Отключение логирования некритических ошибок.
  
 +Говорит о том, что при загрузке не будет производиться перевод прошедших акций типа объем в коэффициент. Данное действие лучше выполнять один раз в день с помощью консольной команды: update-past-amount-campaigns <databaseName>, которую стоит запланировать после прогрузки ночных файлов истории. Такой подход позволит наиболее эффективно/быстрее (без потери качества результата) производить частые загрузки истории продаж как в течении дня, так и в ночное время.
  
 =====Работа с резервными копиями базы данных===== =====Работа с резервными копиями базы данных=====
Строка 429: Строка 456:
 Программа должна быть запущена под пользователем, который имеет права на запись во временную папку для массовой загрузке, а сервер СУБД имеет права на чтение из этой папки. \\ Программа должна быть запущена под пользователем, который имеет права на запись во временную папку для массовой загрузке, а сервер СУБД имеет права на чтение из этой папки. \\
  
-Перед процессом сжатияавтоматически создается дамп базы\\+Перед процессом сжатия создается дамп базы, если  включена глобальная настройка [[настройки/глобальные_настройки#создавать_резервную_копию_базы_при_обновлении|"Создавать резервную копию базы" ]]\\
  
  
Строка 462: Строка 489:
  
 <code>Source</code> <code>Source</code>
-Имя базы для MySQL или путь к базе для SQLite, в которой нужно формировать заказы+Имя базы для MySQL\MSSQL или путь к базе для SQLite, в которой нужно формировать заказы
  
 <code>Target</code> <code>Target</code>
Строка 528: Строка 555:
 <!---rc-transit-rest - В пути----> <!---rc-transit-rest - В пути---->
 <!---rc-order-rest - Заказано----> <!---rc-order-rest - Заказано---->
 +<!--rc-sum-arrivals - Сумма поступлений-->
 <!---rc-backorder - Невыполненный заказ----> <!---rc-backorder - Невыполненный заказ---->
 <!---rc-needed - Прогноз спроса----> <!---rc-needed - Прогноз спроса---->
Строка 611: Строка 639:
  
 ====Полный синтаксис формирования заказов==== ====Полный синтаксис формирования заказов====
-<code>make-orders [--order-schedule schedule] [(--user | -u) user_name] [--group-by-suppliers | --group-by-storages]  [--dates date1 date2] [--union-by-supplier | --union-by-supplier-ordergroup | --union-by-supplier-ordergroup-customer | --merge-orders] [--group-order-by-product | --group-order-roundbystorage storage] [--save-union-only] [--remove-null-tobuy-records] [ --consider-balancing] [-md5][--xml] [--xls] [--xlsx] [--csv] [--sync] [--no-order-file] [--email] filter source target </code>+<code>make-orders [--order-schedule schedule] [(--user | -u) user_name] [--group-by-suppliers | --group-by-storages]  [--dates date1 date2] [--union-by-supplier | --union-by-supplier-ordergroup | --union-by-supplier-ordergroup-customer | --merge-orders] [--group-order-by-product | --group-order-roundbystorage storage] [--save-union-only] [--remove-null-tobuy-records] [--remove-empty-order]] [ --consider-balancing] [-md5][--xml] [--xls] [--xlsx] [--csv] [--sync] [--no-order-file] [--email] [--pattern-name] filter source target </code>
  
 <code> --order-schedule название расписания</code> <code> --order-schedule название расписания</code>
Строка 634: Строка 662:
 Объединение сформированных заказов по [[формирование_заказа#объединение_заказов_по_поставщикам| поставщикам]], Объединение сформированных заказов по [[формирование_заказа#объединение_заказов_по_поставщикам| поставщикам]],
 [[формирование_заказа#объединение_заказов_по_поставщикам_и_группе_заказа|поставщику и группе заказа]] или по [[формирование_заказа#объединение_заказов_по_поставщикам_группе_заказа_и_складу|поставщику, группе заказа и складу]]. [[формирование_заказа#объединение_заказов_по_поставщикам_и_группе_заказа|поставщику и группе заказа]] или по [[формирование_заказа#объединение_заказов_по_поставщикам_группе_заказа_и_складу|поставщику, группе заказа и складу]].
-Выбрать можно только одно объединение+Выбрать можно только одно объединение \\ 
 +В название файла объединённого заказа указывается идентификатор заказа.
  
 <code> <code>
Строка 644: Строка 673:
 --group-order-by-product --group-order-by-product
 </code> </code>
-[[формирование_заказа#создание_общего_заказа_на_склады|Создаст общий заказ]] на склады по объединенным при помощи ключа --merge-orders заказы+[[формирование_заказа#создание_общего_заказа_на_склады|Создаст общий заказ]] на склады  
 +  *по одному общему заказу (если использовался  ключ --merge-orders
 +  * по всем заказам, полученным в результате работы одного из ключей --union-by (если не используется ключ --merge-orders)
  
 При этом будут [[формирование_заказа#изменение_связанных_заказов|изменены]] объединения заказов, и объединённые заказы(по поставщику, группе заказа, складу), из которых этот заказ получен в соответствии с кратностью указанного склада При этом будут [[формирование_заказа#изменение_связанных_заказов|изменены]] объединения заказов, и объединённые заказы(по поставщику, группе заказа, складу), из которых этот заказ получен в соответствии с кратностью указанного склада
Строка 653: Строка 684:
 storage - код склада storage - код склада
  
-[[формирование_заказа#создание_общего_заказа_на_склады_с_учетом_кратности|Создаст общий заказа на склады с учетом кратности]] указанного склада по объединенным при помощи ключа ----merge-orders заказы+[[формирование_заказа#создание_общего_заказа_на_склады_с_учетом_кратности|Создаст общий заказа на склады с учетом кратности]] указанного склада по объединенным при помощи ключа %%--%%merge-orders заказы
  
- | --group-order-roundbystorage storage 
 <code>--save-union-only</code> <code>--save-union-only</code>
 Сохранение только объединенных заказов Сохранение только объединенных заказов
Строка 668: Строка 698:
 В реестре сохраняются полные заказы. В реестре сохраняются полные заказы.
  
 +<code>--remove-empty-order</code> 
 +Удаление пустых заказов
 <code>--xml --xls --xlsx --csv</code> <code>--xml --xls --xlsx --csv</code>
 Флаги для дополнительного сохранения заказов в [[консоль#форматы_сохранения_заказов|заданных расширениях]] Флаги для дополнительного сохранения заказов в [[консоль#форматы_сохранения_заказов|заданных расширениях]]
Строка 687: Строка 718:
  
 Пустые заказы и нулевые заказы (где у всех позиций заказать =0) отправлены не будут Пустые заказы и нулевые заказы (где у всех позиций заказать =0) отправлены не будут
 +
 +<code>--pattern-name</code>
 +Использование имени заказа из [[настройки/глобальные_настройки#пути_сохранения|глобальных настроек]]
  
 <code>filter</code> <code>filter</code>
Строка 694: Строка 728:
 <code>Source</code> <code>Source</code>
  
-Имя базы для MySQL или путь к базе для SQLite, в которой нужно формировать заказы+Имя базы для MySQL\MSSQL или путь к базе для SQLite, в которой нужно формировать заказы
  
  
Строка 750: Строка 784:
 </code> </code>
 source - имя базы source - имя базы
 +
 +====Вывод времени выполнения последнего успешно рассчитанного консолью заказа====
 +
 +Если вам необходимо получить отдельно информацию о времени формирования последнего успешно сформированного заказа, то можно воспользоваться данной командой:
 +
 +<code>
 +FSystemConsole.exe check-completion make-orders <make-order-args>
 +</code>
 +
 +check-completion make-orders <make-order-args> - по команде производится поиск последнего успешного формирования заказов через консоль, запущенного с указанными в команде аргументами <make-order-args>. В противном случае выдает сообщение, что такого заказа нет
 +
 +<make-order-args> - аргументы запуска консольного заказа, по которому нужно получить информацию, аргументы точно как был запущен заказ.
 +
 +Если последний заказ был успешно сформирован командой через консоль с указанными аргументами, то будет выведено сообщение с временем начала и окончания выполнения команды: \\
 +''Last successful execution: Started: время  дата Ended: время  дата''
 +
 +Если же подобная команда не выполнялась или завершилась некорректно, то так же будет выведено соответствующее сообщение: \\
 +''No sucessful executions.''
 +
 +**Пример команды:** \\
 +Заказ формируется с помощью команды:
 +<code>FSystemConsole.exe make-orders --user "user" --consider-balancing "1" "base" "D:\FNOW\OUT\ORDERS"</code>
 +
 +Чтобы отдельно получить информацию о времени и факте формирования заказа, нужно выполнить команду:
 +<code>FSystemConsole.exe check-completion make-orders --user "user" --consider-balancing "1" "base" "D:\FNOW\OUT\ORDERS"</code>
 +
 +====Оповещение о превышение бюджетов====
 +В случае, если по итогам работы консольной утилиты превышаются бюджеты на закупку, пользователям в центре уведомлений отображается файл вида
 +<code>
 +Название правила ; Период действия ; Бюджет ; Порог бюджета ; Превышение бюджета ;
 +Пример:
 +Бюджет_филиала_32 ; 11.04.2023-30.04.2023 ; 500000 руб. ; 95% ; 140000 руб.
 +</code>
 =====Проведение балансировки===== =====Проведение балансировки=====
 ====Минимальный синтаксис команды=== ====Минимальный синтаксис команды===
Строка 761: Строка 828:
 Во время выполнения команды, файл настроек проходит проверку на наличие ошибок. Если в файле есть ошибки, то балансировка не сформируется и будет выведено соответствующее сообщение, с указанием пути где хранится лог файл. Если указан флаг который игнорирует ошибки файла настроек, то балансировка сформируется и ошибочные настройки будут заменены на настройки по умолчанию. Во время выполнения команды, файл настроек проходит проверку на наличие ошибок. Если в файле есть ошибки, то балансировка не сформируется и будет выведено соответствующее сообщение, с указанием пути где хранится лог файл. Если указан флаг который игнорирует ошибки файла настроек, то балансировка сформируется и ошибочные настройки будут заменены на настройки по умолчанию.
  
-<code>user</code> - пользователь, чьи настройки будут использованы при балансировке+<code>user</code> - пользователь, чьи настройки будут использованы при балансировке.  
 +Так же, если в команде указан пользователь, то балансировка дополнительно сохраниться в том формате, который использовался пользователем последний раз. 
  
 <note tip> <note tip>
Строка 826: Строка 894:
 алгоритм балансировки;<по рентабельности|пропорциональное распределение остатка с рц> алгоритм балансировки;<по рентабельности|пропорциональное распределение остатка с рц>
 направление балансировки;<значение направления из настроек "Направления балансировки"> направление балансировки;<значение направления из настроек "Направления балансировки">
-метод разворота аналогов;<сначала старые запасы, потом новые|сначала дешевые, потом дорогие|по приоритету|обратно приоритету> </code>+метод разворота аналогов;<сначала старые запасы, потом новые|сначала дешевые, потом дорогие|по приоритету|обратно приоритету
 +группа заказа;<не учитывать|основная|балансировка></code>
  
 3.3. Дополнительные настройки (если строчка присутствует в файле настроек, то эта настройка будет учтена при проведении балансировки) 3.3. Дополнительные настройки (если строчка присутствует в файле настроек, то эта настройка будет учтена при проведении балансировки)
  
-<code>учитывать аналоги+<code> 
 +учитывать даты поступления заказов 
 +учитывать аналоги
 не учитывать разницу цен не учитывать разницу цен
 норма складского запаса равна сроку поставки + периодичность норма складского запаса равна сроку поставки + периодичность
Строка 836: Строка 907:
 добавлять к остатку склада-донора остаток в пути добавлять к остатку склада-донора остаток в пути
 добавлять к остатку склада-реципиента остаток заказано добавлять к остатку склада-реципиента остаток заказано
-добавлять к остатку склада-реципиента остаток в пути</code>+добавлять к остатку склада-реципиента остаток в пути 
 +исключать перемещения с нулевым свободным остатком на доноре</code>
  
 4. Имена полей, которые должны быть в сформированных балансировках, берутся либо из настроек балансировки пользователя(задается через вид -> поля товаров), 4. Имена полей, которые должны быть в сформированных балансировках, берутся либо из настроек балансировки пользователя(задается через вид -> поля товаров),
Строка 849: Строка 921:
 доставка;от(РЦ1);до(РЦ2);срок(1);стоимость(2000);кг(3);%(4) доставка;от(РЦ1);до(РЦ2);срок(1);стоимость(2000);кг(3);%(4)
 доставка;от(РЦ1);до(Ф2);срок(455);стоимость(21);кг(1);%(20) доставка;от(РЦ1);до(Ф2);срок(455);стоимость(21);кг(1);%(20)
-Отображать все нулевые перемещения;Есть дефицит+Отображать все нулевые перемещения;Есть свободный остаток на складе доноре;Не по расписанию;Есть дефицит;Остальное
 доход на высвобожденные средства;10 доход на высвобожденные средства;10
 не перемещать товар;14 не перемещать товар;14
Строка 862: Строка 934:
 добавлять к остатку склада-донора остаток в пути добавлять к остатку склада-донора остаток в пути
 алгоритм балансировки;пропорциональное распределение остатка с рц алгоритм балансировки;пропорциональное распределение остатка с рц
-направление балансировки;Распределение остатков рц</code>+направление балансировки;Распределение остатков рц 
 +группа заказа;балансировка</code>
  
 <note important> <note important>
Строка 882: Строка 955:
 ====Полный синтаксис команды==== ====Полный синтаксис команды====
  
-<code>FSystemConsole balancing database [source] target [--user] [--filter] [--xml] [--csv] [--xlsx][--consider-balancing] [--no-split-by-destinations] [--no-verification] [--balancing-by-clients]</code>+<code>FSystemConsole balancing database [source] target [--user] [--filter] [--xml] [--csv] [--xlsx][--consider-balancing] [--no-split-by-destinations] [--no-verification] [--balancing-by-clients] [--no-split-by-order-group] [--exclude-null-balancing]</code>
  
  
Строка 891: Строка 964:
   *<code>--user Имя пользователя </code>- указывается имя пользователя, настройки балансировки и отображения которого будут использованы для сохранения балансировки (показанные параметры/свойства/анализы, единицы измерения и направления балансировки).   *<code>--user Имя пользователя </code>- указывается имя пользователя, настройки балансировки и отображения которого будут использованы для сохранения балансировки (показанные параметры/свойства/анализы, единицы измерения и направления балансировки).
 Если указывается пользователь то файл настроек указывать не обязательно. Если в команде указан и файл настроек и пользователь, то настройки балансировки будут использоваться от указанного пользователя, а файл настроек будет проигнорирован. При входе в программу, после формирования балансировок, будет выведено сообщение, что файл настроек использоваться не будет. Если указывается пользователь то файл настроек указывать не обязательно. Если в команде указан и файл настроек и пользователь, то настройки балансировки будут использоваться от указанного пользователя, а файл настроек будет проигнорирован. При входе в программу, после формирования балансировок, будет выведено сообщение, что файл настроек использоваться не будет.
 +Так же, если в команде указан пользователь, то балансировка дополнительно сохраниться в том формате, который использовался пользователем последний раз. 
  
   *<code>--filter </code>- указание фильтра, по которому будет проходить балансировка.   *<code>--filter </code>- указание фильтра, по которому будет проходить балансировка.
Строка 905: Строка 979:
   *<code>[--xml] [--csv] [--xlsx] </code>   *<code>[--xml] [--csv] [--xlsx] </code>
  
-При указании этих флагов (одного или нескольких) балансировка также будет сохраняться в указанном формате. По умолчанию балансировка сохраняется в excel csv, для флага "--csv" просто в csv (в имя файла дописывается --csv так как расширение файлов у них одинаковое). Если файл цели указан с расширением xml, то флаг "--xml" можно не указывать.+При указании этих флагов (одного или нескольких) балансировка также будет сохраняться в указанном формате. По умолчанию балансировка сохраняется в excel csv, для флага %%"--csv"%% просто в csv (в имя файла дописывается %%--csv%% так как расширение файлов у них одинаковое). Если файл цели указан с расширением xml, то флаг %%"--xml"%% можно не указывать.
 В excel csv формате балансировка сохраняется всегда. В excel csv формате балансировка сохраняется всегда.
  
  
   *<code>--no-split-by-destinations</code>   *<code>--no-split-by-destinations</code>
-При формирование балансировок с указанием фильтра подготовки, сформированные балансировки не будут разбиваться по направлениям. Если указан этот флаг, то в качестве результата необходимо указывать не папку, а имя файла. Если балансировка была проведена через фильтр автоподготовки с флагом --no-split-destinations (не разбивать по направлениям), то в программе будет отображаться единственная балансировка с названием соответствующем шаблону: \\ <Наименование фильтра> <Текущая дата в момент проведения балансировки>+При формирование балансировок с указанием фильтра подготовки, сформированные балансировки не будут разбиваться по направлениям. Если указан этот флаг, то в качестве результата необходимо указывать не папку, а имя файла. Если балансировка была проведена через фильтр автоподготовки с флагом %%--no-split-destinations%% (не разбивать по направлениям), то в программе будет отображаться единственная балансировка с названием соответствующем шаблону: \\ <Наименование фильтра> <Текущая дата в момент проведения балансировки>
  
   *<code>--no-verification</code>   *<code>--no-verification</code>
Строка 925: Строка 999:
 Если данный флаг не указан, то балансировка формируется исходя из настроек балансировки, пользователя указанного в команде. Если данный флаг не указан, то балансировка формируется исходя из настроек балансировки, пользователя указанного в команде.
  
 +  *<code>--no-split-by-order-group</code>
  
 +При заданных группах заказа, сформированные балансировки будут разбиваться в соответствие с заданными значениям групп заказа. Если в консольной команде указан данный флаг, то разбиение по группам заказа не происходит, не зависимо от настроек.
 +
 +  *<code>--exclude-null-balancing</code>
 +
 +Удаляются все балансировки без товаров или у которых суммарное количество для перемещения равно 0.
 ====Отображение балансировки в интерфейсе программы=== ====Отображение балансировки в интерфейсе программы===
 При выполнении консольной балансировки её результат сохраняется в базу.  При выполнении консольной балансировки её результат сохраняется в базу. 
Строка 1027: Строка 1107:
 <code> <code>
 --storage storage_name --storage storage_name
- 
 --client client_name --client client_name
- 
 --product product_name  --product product_name 
 </code> </code>
  
-Акция попадает в выборку, только если в неё входят клиент и склад и артикул одновременно.+Указывать нужно коды: storage_name - код склада, client_name - код клиента, product_name - код товара (артикул). 
 + 
 +Указать можно любой из 3 флагов. 
 +Если указаны все 3 флага, то акция попадает в выборку, только если в неё входят и клиенти склади код товара (артикулодновременно.
  
  
Строка 1052: Строка 1133:
  
 Если допущена ошибка в названии категории, то не будет рассчитана ни одна акция Если допущена ошибка в названии категории, то не будет рассчитана ни одна акция
 +
 +Также возможно задание категорий, по которым не будет проводиться расчет акций.
 +
 +Задается при помощи
 +<code>
 + --ignoredcategory cat1;cat2;cat3
 +</code>
 +
 +Например:
 +calc-coeff-mcampaigns --ignoredcategory test1;test2 demo
 +
 +Будут рассчитаны все акции кроме категорий test1 и test2
 ==Принудительное прогнозирование коэффициентов акций== ==Принудительное прогнозирование коэффициентов акций==
 При расчете коэффициентов акций можно принудительно прогнозировать коэффициент всех попавших под фильтр команды акций(даже для прошедших акций). При расчете коэффициентов акций можно принудительно прогнозировать коэффициент всех попавших под фильтр команды акций(даже для прошедших акций).
Строка 1082: Строка 1175:
  
 ====Синтаксис==== ====Синтаксис====
-<code>FSystemConsole.exe kpianalysis database source target</code>+<code>FSystemConsole.exe kpianalysis database source target [--user userName] [--from dateFrom] [--to dateTo] </code>
  
  
Строка 1097: Строка 1190:
 Файл, куда сохранятся результаты анализа Файл, куда сохранятся результаты анализа
  
-Для сохранения результатов в формате xlsx нужно дописать флаг --xlsx после директории сохранения файла с результатами+Для сохранения результатов в формате xlsx нужно дописать флаг <code> --xlsx </code>  после директории сохранения файла с результатами 
 + 
 +user 
 + 
 +Берутся настройки пользователя (расчет сверхзапасов и пр.) для проведения анализа
  
 =====Расчет прогноза - обеспечение продаж без участия пользователя===== =====Расчет прогноза - обеспечение продаж без участия пользователя=====
  
 ====Синтаксис==== ====Синтаксис====
-<code>FSystemConsole.exe stockanalysis database source target</code>+<code>FSystemConsole.exe stockanalysis database source target --filter filter [--user user_name] [--utf8] [--type] [--units] [--price]] [[--remove-null]]</code>
  
 +database - Путь или имя базы для расчетов
  
-database+source - [[обеспечение_продаж&#создать_файл_с_параметрами_анализа_csv_или_txt|Файл]] с параметрами расчетов. 
  
-путь или имя базы для расчетов+target - Полный путь к Excel csv(.csv) или Excel(.xlsx) файлу, в который будут записаны результаты прогноза.
  
-source+filter - имя фильтра подготовки заказа, отбирающего товары для расчета. Если он указан, то отбор товаров из файла source не будет учитываться 
  
-[[обеспечение_продаж&#создать_файл_с_параметрами_анализа_csv_или_txt|Файл]] с параметрами расчетов. +username - имя пользователя, от которого будут взяты  настройки и вид итоговой таблицы 
  
-target+utf8 - сохранение файла в формате utf8
  
-Файлкуда сохранятся результаты анализа+type - выбор типа анализа  
 +  *demand - оценка спроса 
 +  *stocks - оценка запасов 
 +  *sales - оценка продаж 
 + 
 +units - выбор показателей анализа 
 +  *amount - в натуральных единицах 
 +  *money - в денежных единицах 
 + 
 +prices - выбор цен 
 +  *sell (цены реализации) 
 +  *purchase (цены закупки)
  
 +--remove-null - удаление строк с нулевым прогнозом
 =====Расчёт прогноза - плана заказов===== =====Расчёт прогноза - плана заказов=====
  \\  \\
Строка 1169: Строка 1279:
 Вы можете проводить ABC- XYZ и кросс ABC-анализ автоматически при помощи консольной утилиты. Результаты анализа запишутся в базу, а также в Excel файл с разбиением товаров по группам. Вы можете проводить ABC- XYZ и кросс ABC-анализ автоматически при помощи консольной утилиты. Результаты анализа запишутся в базу, а также в Excel файл с разбиением товаров по группам.
 ====Синтаксис команды==== ====Синтаксис команды====
-<code> FSystemConsole.exe abcxyzanalysis database source target [--user username] [--save name] [--public] </code>+<code> FSystemConsole.exe abcxyzanalysis database source target [--filter filter] [--user username] [--save name] [--public] [--sum-storage]] </code>
 database – название базы  database – название базы 
  
Строка 1175: Строка 1285:
  
 target – место сохранения файла с результатами анализа target – место сохранения файла с результатами анализа
 +<code>--filter filter </code> 
 +имя фильтра автоподготовки заказа, отбирающего товары для проведения анализа. Если в файле настроек указаны товары и задан фильтр автоподготовки, то товары будут браться из фильтра.
 <code>--user username </code> <code>--user username </code>
 флаг с указанием пользователя для которого будет сохранён анализ, если пользователь  не указан, анализ в базе сохранён не будет, а только в файл флаг с указанием пользователя для которого будет сохранён анализ, если пользователь  не указан, анализ в базе сохранён не будет, а только в файл
Строка 1182: Строка 1293:
 <code>--public </code> <code>--public </code>
 флаг что бы сделать доступным итоги анализа всем пользователям флаг что бы сделать доступным итоги анализа всем пользователям
 +
 +<code>--lastyear</code>
 +флаг для проведения анализа за последний год от максимальной даты в базе
 +<code>--sum-storage</code>
 +флаг для проведения анализа суммарно по складам
 ===Формат файла для проведения анализа=== ===Формат файла для проведения анализа===
 1.Основные параметры проведения анализа 1.Основные параметры проведения анализа
Строка 1191: Строка 1307:
 склад - код склада или пусто (тогда расчет будет произведен по всем складам) склад - код склада или пусто (тогда расчет будет произведен по всем складам)
  
-тип - группа или срез+тип - товар, группа или срез
  
-название - название группы или среза+название - код товара, название группы или среза
  
 2. Настройки анализа 2. Настройки анализа
  
 Нужно задать тип анализа и границы отнесения к группам. Формат: Нужно задать тип анализа и границы отнесения к группам. Формат:
-<code>Ось;название оси (X,Y,Z (не обязательно));тип анализа (ABC/XYZ);Параметр;граница отнесения к группе С/группе X; граница отнесения к группе B/группе Y;</code>+<code>Ось;название оси (X,Y,Z (не обязательно));тип анализа (ABC/XYZ/XYZ (без нулей)/FMR);Параметр;граница отнесения к группе С/группе X/группе R; граница отнесения к группе B/группе Y/группе M;</code>
 Пример: Пример:
 <code>ось;X;ABC;Кол-во дней продаж;5;20 <code>ось;X;ABC;Кол-во дней продаж;5;20
Строка 1228: Строка 1344:
  
 <code>учитывать дефицит</code> <code>учитывать дефицит</code>
 +
 +если нужно [[анализ/abc-xyz#настройки_abc_анализа|учитывать комплекты]]:
 +
 +<code> учитывать комлекты</code>
 +
 +если нужно провести анализ [[анализ/abc-xyz#abc-xyz_анализ_внутри_каждой_группы_отдел|внутри каждой группы отдельно]]
 +
 +<code> изолированно</code>
 +
  
  
Строка 1245: Строка 1370:
 ось;X;ABC;Продажи, ед.;5;15 ось;X;ABC;Продажи, ед.;5;15
 ось;Y;XYZ;Продажи, ед.;20;55 ось;Y;XYZ;Продажи, ед.;20;55
 +ось;Z;FMR;Кол-во дней продаж;25;50
 дополнительные столбцы;Вес;Объём</code> дополнительные столбцы;Вес;Объём</code>
  
Строка 1273: Строка 1399:
 <code>assortiment database source target [--user username] [--public]</code> <code>assortiment database source target [--user username] [--public]</code>
  
-target - xls файл, в который будут записаны итоги анализа+target - полный путь к xls или xlsx файлу, в который будут записаны итоги анализа.
  
 флаг - -public - сделать доступным итоги анализа всем пользователям флаг - -public - сделать доступным итоги анализа всем пользователям
Строка 1282: Строка 1408:
  
 ==Формат файла для проведения анализа== ==Формат файла для проведения анализа==
-формат файла source состоит из простого перечисления товаров/групп/срезов для анализа 
  
-склад;тип;название+Формат файла source состоит из простого перечисления товаров/групп/срезов для анализа 
 + 
 +<code>склад;тип;название</code> 
 + 
 +  * склад - код склада
  
-где тип - товар, группа или срез+  * тип - товар, группа или срез
  
-название - артикул товара, название группы или среза+  * название - артикул товара, название группы или среза \\ 
 +Если анализ формируется по срезу, после названия среза, через ";", нужно указать конкретное значение среза. Анализ сформируется по товарам у которых значение среза соответствует указанному.
  
-результаты анализа также записываются в базу программы.+Результаты анализа также записываются в базу программы.
  
  
Строка 1309: Строка 1439:
  
 --csv --xlsx - флаги для выбора формата сохранения файла. Без указания флага файл статистик сохранится в формате xlsx --csv --xlsx - флаги для выбора формата сохранения файла. Без указания флага файл статистик сохранится в формате xlsx
- 
 ===Формат файла настроек=== ===Формат файла настроек===
 <code>дата_от;дата_до <code>дата_от;дата_до
Строка 1335: Строка 1464:
 Завершившиеся акции Завершившиеся акции
 </code> </code>
 +=====Расчет текущих дефицитов=====
 +В Forecast NOW! можно определить, есть ли текущий дефицит по товару и % дефицита по группе товара. 
 +<code>
 +FSystemConsole.exe calc-current-deficit  base path --csv --filter test --email mail@mailru
 +</code>
 +base - имя базы
 +
 +path - путь сохранения файла
 +
 +-- filter - имя фильтра для отбора товаров для расчета дефицита
 +
 +-- email - почты, на которые нужно разослать анализ (перечисляются через ,
  
 +--csv и --xlsx - форматы сохранения файла (по умолчанию сохраняются в xlsx)
  
 +====Итог анализа====
 +В итоге будет сохранен файл, где рассчитан % дефицита для группы товаров и есть ли дефицит по конкретным товарам
  
 +{{ :currentdeficite.png?600 |}}
 =====Удаление информации из базы===== =====Удаление информации из базы=====
 ====Синтаксис==== ====Синтаксис====
Строка 1356: Строка 1501:
 balancing-destinations   направления балансировки balancing-destinations   направления балансировки
 clients                  справочник клиентов clients                  справочник клиентов
 +outdated-parameters-storages      неактуальные склады из параметров (из параметров удалятся все склады, которых нет как в истории продаж, так и в справочнике складов)
 +campaigns              акции
 </code> </code>
  
Строка 1398: Строка 1545:
 После запуска утилиты для каждого артикула будет удалена информация о продажах(со всех складов), классификации, параметрах(тоже со все складов), аналогах(если товар входил в нетривиальную группу аналогов, то он будет из неё удалён, в остальном порядок товаров в группе останется прежним. Если товар был главным аналогом, то за место него главным станет второй по порядку.).  После запуска утилиты для каждого артикула будет удалена информация о продажах(со всех складов), классификации, параметрах(тоже со все складов), аналогах(если товар входил в нетривиальную группу аналогов, то он будет из неё удалён, в остальном порядок товаров в группе останется прежним. Если товар был главным аналогом, то за место него главным станет второй по порядку.). 
  
 +====Удаление  товаров, не существующих в классификации из таблицы параметров====
 +
 +<code> FSystemConsole.exe clean-up-params demo.db </code>
 +
 +Удаляет из параметров записи по всем товарам, которые не существуют в классификации
 =====Экспорт информационной базы===== =====Экспорт информационной базы=====
 Позволяет экспортировать информационную базу, в том числе, в обезличенном режиме Позволяет экспортировать информационную базу, в том числе, в обезличенном режиме
Строка 1403: Строка 1555:
 ====Синтаксис команды==== ====Синтаксис команды====
 <code> <code>
-FSystemConsole.exe export type source target [options]+FSystemConsole.exe export type source target [опции]
 </code> </code>
-  *type: -ib или - -information-base  (экспорт информационной базы)+  *type: -ib или %%--%%information-base  (экспорт информационной базы)
   *source: имя базы   *source: имя базы
   *target: путь к экспортированному файлу   *target: путь к экспортированному файлу
  
-===Обезличивание информации===+===Опции=== 
 + 
 + 
 + 
 +==Обезличивание информации==
 Для обезличивания нужно добавить опцию <code>--impersonal</code> Для обезличивания нужно добавить опцию <code>--impersonal</code>
-==Пример==+ 
 +**Пример**
 <code>FSystemConsole.exe export -ib test.db D:\FN\test.ib --impersonal</code> <code>FSystemConsole.exe export -ib test.db D:\FN\test.ib --impersonal</code>
  
Строка 1462: Строка 1619:
   *Комплексные форматы заказов   *Комплексные форматы заказов
  
 +
 +==Выбор складов и товаров для сохранения==
 +
 +Для сохранения информационной базы с определённым набором товаров, необходимо добавить опцию и файл со списком товаров.
 +
 +<code>
 +--items-file <путь к файлу с товарами>
 +</code>
 +
 +Файл со списком товаров должен быть в csv формате. Содержать в себе два столбца: 1 - склад, 2 - код товара. Без заголовка
 +
 +Пример файла для 4 товаров с 2 складов
 +
 +<code>Склад №1;40000000016
 +Склад №1;40000000017
 +Склад №1;40000000018
 +Склад №1;40000000019
 +Склад №2;40000000016
 +Склад №2;40000000017
 +Склад №2;40000000018
 +Склад №2;40000000019</code>
 +
 +В информационной базе будут присутствовать данные только по указанным артикулам(информация по товарам аналогам так же будет выгружена) и складам. Истории продаж по связанным складам из иерархии или направлений балансировки не будет.
 +
 +Список выгружаемых данных:
 +
 +Данные которые выгружаются только по выбранным товарам и аналогам:
 +
 +  * История продаж
 +  * Параметры
 +  * Аналоги
 +  * Классификация (выгружаются только группы, их свойства и структура родительских групп, в которой находятся выбранные товары)
 +  * Акции
 +  * Поступления
 +  * Закупки под клиентов
 +  * Комплекты
 +  * Временные параметры
 +Данные, которые всегда выгружаются полностью:
 +
 +  * Структуры подчиненности складов
 +  * Стоимости и сроки доставки балансировки
 +  * Направления балансировки
 +  * Поставщики
 +  * Прайс-листы поставщиков
 +  * Параметры товаров поставщиков
 +  * Сроки доставки поставщиков
 +  * Группы поставщиков
 +  * Условия оплаты поставщиков
 +  * Критериев выбора товаров для ограничений заказа
 +  * Зоны хранения
 +  * Псевдонимы упаковок
 +  * Справочник клиентов
 +  * Сегменты клиентов
 +  * Пороги округления по упаковкам
 +  * Фильтры подготовки заказов
 +  * Расписание заказов
 +  * Выходные и рабочие дни
 +  * Транспортные средства
 +  * Пользователи, группы и права доступа групп
 +  * Настройки пользователей
 +  * Глобальные настройки
 +
 +
 +**Пример команды**
 +
 +<code>
 +FSystemConsole.exe export -ib test.db D:\FN\test.ib --items-file  D:\FN\items.csv
 +</code>
 =====Частичная выгрузка данных===== =====Частичная выгрузка данных=====
  
Строка 1521: Строка 1746:
 Сообщение об ошибке работы консольной утилиты в интерфейсе: "Не удалось активировать файл лицензии 'полный путь к файлу лицензий'. Недостаточно прав доступа к папке 'путь где хранится файл лицензии'" Сообщение об ошибке работы консольной утилиты в интерфейсе: "Не удалось активировать файл лицензии 'полный путь к файлу лицензий'. Недостаточно прав доступа к папке 'путь где хранится файл лицензии'"
 =====Изменение кода склада===== =====Изменение кода склада=====
-Позволяет изменить записанные в программе коды складов. Для изменения кода склада нужно сохранить информационную база(Данные-Сохранить информационную базу) потом через консольную утилиту поменять коды складов в файле информационной базы и потом загрузить информационную базу в программу(Данные-Загрузить информационную базу). +Позволяет изменить записанные в программе коды складов. 
  
 ====Синтаксис==== ====Синтаксис====
-<code>FSystemConsole rename --storages dictionary_file old_ib_file new_ib_file</code> +<code>FSystemConsole.exe rename --storages storages.csv base </code>
- +
-dictionary_file - путь к файлу с кодами складов, csv файл вида "старый кода склада;новый код склада"+
  
 +storages.csv - путь к файлу с кодами складов, csv файл вида "старый кода склада;новый код склада"
 Старые коды будут заменятся на соответствующие им новые. Старые коды будут заменятся на соответствующие им новые.
  
-old_ib_file путь к файлу с информационной базой, в которой надо переименовать коды склады+base - имя базы данных, где нужно выполнить переименование кодов складов
  
-new_ib_file - путь к файлу с информационной базой, в который запишется информационная база с переименованными кодами складов+Переименование поддерживается в 
 +История продаж, Параметры, Акции, Результаты анализов 
 +Справочник Складов, Структура подчиненности складов, Пользователи и группыФильтр подготовки заказов, Календари, Расписания заказов, Настройки балансировки по умолчанию, Транспортные средства, Правила автоустановки параметров, Поставщики, направления балансировки, Ограничения балансировки, Поступления, Поля товаров, Закупки под клиентов, Партионные остатки, Пользовательские критерии для ограничений заказа, Справочник клиентов (доступные склады, сроки доставки по клиент склад)
  
-Если во время работы команды что-то пойдёт не такто об этом будут сообщено в журнале через ненулевой код возврата.+В случае если новый код склада существует, то переименование не будет выполненов консоли будет выдана ошибка с указанием где именно и какой код склада уже существует
  
 =====Очистка журнала действий пользователей===== =====Очистка журнала действий пользователей=====
Строка 1556: Строка 1781:
 database — название базы database — название базы
  
-names — после флага, в кавычках, через запятую, указываются названия правил ("правило1,правило2,правило3"), которые нужно применить. \\+names — после флага, в кавычках, через запятую, указываются названия правил (%%"%%правило1,правило2,правило3%%"%%), которые нужно применить. \\
 tags — после флага, в кавычках, через пробел, указывается список тэгов в соответствие с которыми применяются автоправила tags — после флага, в кавычках, через пробел, указывается список тэгов в соответствие с которыми применяются автоправила
  
 Совместное использование в одной команде флагов names и tags, не допускается Совместное использование в одной команде флагов names и tags, не допускается
- 
  
 Если список названий правил и тип правил, не указаны, то операция будет произведена над всеми правилами в базе(если такие есть). Если список названий правил и тип правил, не указаны, то операция будет произведена над всеми правилами в базе(если такие есть).
  
 +=====Работа с кэш-сервером=====
 +1) Обновление всех файлов кэша для указанной БД
 +<code>
 +FSystemConsole cache-server update --database databaseName
 +</code>
 +
 + FSystemConsole databaseName - конкретное название рабочей базы FNOW
 +
 +
 +2). Удаление файлов кэша
 +<code>
 +cache-server deleteCacheFiles --database databaseName
 +</code>
 +
 + databaseName - конкретное название рабочей базы FNOW
 +
 +=====Формирование карточки товара=====
 +При помощи утилиты можно сформировать карточку товара. Команда:
 +<code>productcard <databaseName> (<saveDirPath>) -- user <userName> (--xlsx) (--csv) (--sql) (--filter <filterName>)
 +</code>
 +
 +Указание <databaseName> и --user <userName> ОБЯЗАТЕЛЬНО.
 +Если карточка формируется с указанием ключа --sql (необязательный аргумент), то указание папки сохранения файлов (<saveDirPath>) необязательно.
 +
 +Ключ --user задает имя того пользователя, от которого будут выбираться столбцы карточки для выгрузки (например, параметр Не заказывать, свойство Вес и т.д.)
 +Выгружаемые столбцы настраиваются в отображении карточки товара на вкладке Анализ - Карточка товара.
 +Если не указать столбцы, то выгрузки не будет.
 +
 +Примеры команд:
 +<code>
 +productcard demo.db --user Администратор --sql (выгрузить в промежуточную базу FNTransferDatabase, в таблицу productCard карточку по всем товарам из классификации)
 +productcard demo.db --user Администратор --sql --filter РЦ (выгрузить в промежуточную базу FNTransferDatabase, в таблицу productCard карточку по товарам, подходящие под условия фильтра РЦ)
 +
 +Промежуточная база FNTransferDatabase создается автоматически в том же месте, где и основная база. Название задается автоматически, переименовать нельзя.
 +
 +productcard demo.db C:\\Temp--user Закупщик (выгрузить карточку по всем товарам классификации в формате xlsx - по умолчанию - в каталог C:\\Temp)
 +productcard demo.db C:\\Temp--user Балансировщик --csv (выгрузить карточку по всем товарам классификации в формате csv в каталог C:\\Temp)
 +productcard demo.db C:\\Temp--user Администрато --csv --xlsx --filter РЦ (выгрузить карточку по товарам, подходящих под условия фильтра РЦ, в форматах csv и xlsx в каталог C:\\Temp)
 +</code>
 +
 +При использовании выгрузки в промежуточную базу (флаг --sql) лучше будет позаботиться о том, чтобы работала массовая загрузка.
 +(подключение консоли к серверу БД через localhost или 127.0.0.1, путь для массовой загрузки существует (см. глоб. настройку), к нему есть доступ для записи.
 +
 +Выгружаются данные в колонках
 +storage(Код склада), product(артикул товара), column0(значение первого столбца с данными в карточке товара указанного в команде пользователя), column1(значение второго столбца), ...., columnN
 +
 +Поддерживаемые колонки: параметры, свойства, поля товаров, результаты анализов
 +=====Формирование графика заказов и поставок=====
 +
 +Вы можете сформировать график ближайших заказов и поставок в Excel в разбивке поставщик-склад-группа товаров, склад-группа товаров-поставщик и т.п (любая комбинация трех признаков заказа).
 +Для этого нужно использовать команду
 +
 +<code>
 +FsystemConsole delivery-schedule databaseName [--horizon 21] [--grouping supplier;group;storage | supplier;storage;group | group;supplier;storage | group;storage;supplier | storage;supplier;group | storage;group;supplier] [--saveDir path]
 +</code>
 +
 +delivery-schedule — название команды
 +         
 +databaseName — обязательный аргумент — название базы данных FN или путь до файла с базой SQLite.
 +
 +horizon – необязательный аргумент, указывает горизонт оценки заказов в днях. По  умолчанию должно использоваться 7 дней.
 +
 +grouping – способ группировки записей календарей. Предполагает три значения, перечисляемые через ;. supplier – поставщик, group – группа классификации, storage – склад. Указывает тип представления дерева от верхних уровней к дочерним. Например: group;supplier;storage – на верхнем уровне будут располагаться товарные группы, в них будут вложены поставщики, в свою очередь поставщиков можно раскрыть по отдельным складам. Возможные варианты перестановок приведены выше в описании формата команды.
 +
 +По умолчанию будет использоваться группировка supplier;group;storage.
 +
 +saveDir – необязательный аргумент, указывает путь к каталогу, куда должен будет выгружаться файл. По умолчанию будет использоваться подкаталог «Поставки» в директории сохранения заказов для учётной системы (соответствующий путь указан в [[настройки/глобальные_настройки#пути_сохранения|глобальной настройке]]). 
 +
 +====Итог работы====
 +В итоге вы получите Excel файл с двумя листами- "Календарь заказов" и "Календарь поставок", где будет отображено число заказов/поставок на каждую дату по выбранным признакам 
 +
 +{{ ::2024-09-11_11-06-50.png?800 |}}
 +
 +=====Проверка заказов=====
 +Вы можете проверять, какие заказы должны быть сегодня подготовлены различными пользователями, исходя из существующих расписаний заказов.
 +
 +Для этого в консольной утилите нужно использовать команду
 +
 +<code>
 +check-orders databaseName <filter f1;f2....;fn>,
 +</code>
 +
 +databaseName - название базы данных FN, 
 +
 +filter - необязательный элемент, по которому можно перечислить через ; фильтры для проверки. Если не указан, будут проверяться все имеющиеся фильтры в базе.
 +
 +Все заказы, которые нужно подготовить, появятся в [[:todo_list|списке дел]]
 +
 +=====Анализ состояния базы=====
 +Можно автоматически без взаимодействия с интерфейсом проверить состояние базы данных и выдать оповещение администраторам если есть необходимость в оптимизации некоторых элементов 
 +
 +<code>
 +analyze-database имя базы
 +</code>