====== Утилита фоновой загрузки данных ======
FSystemConsole.exe
Находится в директории вместе с программой
===== Синтаксис =====
==== Справка по команде ====
FSystemConsole.exe help
==== Загрузка данных ====
FSystemConsole.exe import тип [режим формат | режим] исходник цель [опции]
**Тип**
-sh, --sales-history импорт истории продаж
-o, -c, --ontology, --classification импорт классификации
-p, --properties импорт параметров
-a, --analogs импорт аналогов
-mс, --marketing-campaigns импорт акций
-of, ----orderFrequency импорт расписания поставок
-sp, --suppliers импорт данных поставщиков
--all импорт файла формата xml, содержащего историю продаж и параметры
--storage-aliases импорт файла, содержащего названия складов
===Режим(только для истории продаж и классификации)===
Режим «Заменить» применяется для загрузки полной классификации при первоначальной загрузке истории продаж, для создания новых групп, новых товаров и изменения принадлежности групп. Алгоритм работы точно такой же, как при загрузки истории продаж: старая классификация полностью заменяется данными из новой классификации. Поэтому загружаемая классификация в режиме "Заменить" должна быть полной и содержать в себе все данные. Пользовательские изменения при это будут утеряны. Рекомендуется их сохранить и впоследствии загрузить через режим "Обновить"
Режим «Обновить» применяется для загрузки дополнительной информации по имеющейся классификации.
В режиме «Обновить» запрещается создание новых групп, изменение принадлежности групп, изменение названия групп и товаров. Режим «Обновить» используется только для загрузки данных по действующей классификации. Например, с помощью этого режима вы можете изменить свойства для товаров или указать принадлежность нового товара к имеющейся группе.
-r, --remove режим замены и удаления старой информации
-a, --append режим добавления и обновления информации
-s сохранение старых свойств в классификации. Может использоваться только при загрузке комплексного xml файла. Указывается в конце команды
===Формат(только для истории продаж)===
файл формата истории продаж
Файл формата можно получить следующим образом:
-Запустить программу,
-Выбрать режим пользователя
-Выбрать файл истории продаж для загрузки
-Нажать "Указать Формат истории продаж"
{{loading: form9.png}}
5.Заполнить формат
*выбрать формат даты,
*выбрать разделитель полей
*выбрать разделитель целой и дробной части
*есть ли заголовок в загружаемом файле
*соотнести столбцы файла столбцам, доступным в программе
6. Нажать "Сохранить в файл" - получите искомый файл для загрузки формата расширением .format
{{loading: form10.png}}
Пример файла формата
Склад;Артикул;Клиент;Дата;Кол-во;Цена реализации;Выручка;Цена закупки;Себестоимость;Учетная цена;Прибыль;Остаток;Товар в пути, ед.;Размещенный заказ, ед.;В резерве, ед.;Невыполненный заказ;Упущенный спрос
column-separator:;
decimal-separator:.
date-format:yyyy-MM-dd
header-flag:true
===Исходник===
исходный файл с данными для импорта
===Цель===
целевая база данных для импорта
===Опции===
--no-verification
Не будет производиться проверка истории продаж на корректность. Это позволит ускорить импорт, но возможны некорректные данные после импорта. Используйте только в том случае, если полностью уверены в корректности исходных данных. По умолчанию проверка корректности выполняется.
--dir
Будет произведена загрузка всех csv файлов из директории **Исходник** как файлов истории продаж. **Исходник** обязательно должен быть директорией в этом случае.
--save-properties
В режиме замены классификации будут сохранены созданные в программе свойства и их значения
==== Пример загрузки аналогов ====
FSystemConsole.exe import -a analogs.csv database.db
Пусть в программе содержатся следующие записи об аналогах:
гл.аналог1;аналог2;аналог4
гл.аналог2;аналог5
в файле analogs.csv:
гл.аналог1;аналог3;аналог4
В программе станет следующая информация по аналогам:
гл.аналог1;аналог2;аналог3;аналог4
гл.аналог2;аналог5
==== Сжатие и обновление базы данных ====
update <целевая база данных>
//Пример//
FSystemConsole.exe update source.db
==== Загрузка акций ====
Акции загружаются в программу при помощи команд -mc или --marketing-campaigns
Вид команды:
FSystemConsole.exe import -mc исходник цель
Исходник- исходный файл с данными для импорта определенного [[формат_данных_для_загрузки#формат_файла_для_обмена_данными_по_акциям|формата]]
Цель - целевая база данных для импорта
===Загрузка типа акции===
При загрузке акций в программу (при помощи команд -mс или --marketing-campaigns) можно задать ее тип. Это делается при помощи команды через команды SET_CMP_TYPE
Команда задается в разделе #campaigns файла загрузки акций
Возможные значения – COEF (тип - коэффициент) , AMOUNT (тип – объем)
Пример указания типа акции в файле импорта:
SET_CMP_TYPE;id_акции1;COEF
SET_CMP_TYPE;id_акции2;AMOUNT
Другой возможный способ задания типа акции через команду SET_CMP_PARAMS: (в разделе #campaigns файла загрузки акций)
Пример:
SET_CMP_PARAMS;6;{"campaignType":"AMOUNT"}
===Загрузка планируемых объемов спроса для акций типа Объем===
При загрузке акций в программу можно задать планируемый объем спроса и комментарии. Это делается при помощи команды SET_CMP_AMOUNT
Общий вид команды
SET_CMP_AMOUNT;акция;склад;артикул;клиент;дата(формат даты либо дд.мм.год или год-мм-дд);объём;комментарий
Примеры команды в файле импорта акций:
SET_CMP_AMOUNT;id_акции1;склад1;артикул1;клиент1;2016-01-11;100;какой-то комментарий
==Пример файла для загрузки акции типа Объем==
#campaigns
ADD_CMP;6;Акция по герметикам;04.05.2016;05.05.2016;1;Большие скидки;
SET_CMP_PARAMS;6;{"campaignType":"AMOUNT","userFields":{}} – **задан тип акции Объем**
ADD_WHS;Склад 1;6
SET_CMP_AMOUNT;6;Склад 1;60000202;;2016-05-04;2000;Заберут 2000 – **задан артикул, планируемый объем спроса по нему и комментарий**
#itemsCampaigns
ADD_SKU;60000209;6
#itemsCompareCampaigns
==Очистка планируемых объемов спроса==
Вид команды для очистки планируемых объемов:
CLEAR_CMP_AMOUNT_DATA;id_акции
При использование такой команды будет очищены планируемые объемы спроса у акции с идентификатором id_акции
Команда задается в разделе #campaigns файла загрузки акций
==== Пример работы с программой для командной строки Windows ====
Пример любезно предоставлен компанией ТОО Барс-NORD.
@echo off
rem ------------------------------------------------
rem Описание выгрузки:
rem Каждый день из системы учета выгружается история продаж в сетевую папку в формате .csv,
rem при чем файл именуется определенным образом:
rem [Имя базы данных]_[название СУБД]_[текущая дата в формате ГГГГММДД].csv;
rem Аналогично каждый день выгружается классификация в сетевую папку в формате .csv,
rem при чем файл именуется следующим образом:
rem classification_[текущая дата в формате ГГГГММДД].csv
rem ------------------------------------------------
rem Переход в папку с консольной утилитой импорта...
cd "C:\Program Files (x86)\ForecastNOW\"
rem Задаем путь запуска консольной утилиты импорта...
set fnow_file="C:\Program Files (x86)\ForecastNOW\FSystemConsole.exe"
rem Формирование даты в формате выгрузки ГГГГММДД...
set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2%
rem Задаем файл формата...
set fnow_base_format="C:\ForecastNOW\Export\format.format"
rem ------------------------------------------------
rem Обновление базы
rem Задаем файл обновлений...
set fnow_update_file="C:\ForecastNOW\Export\Sales_History\history_%now%.csv"
rem Задаем файл классификации
set fnow_base_classification="C:\ForecastNOW\Export\Classification\classification_%now%.csv"
rem Задаем путь к файлу базы данных или название базы данных в MySQL версии...
set fnow_base_file="databasename"
rem Задаем параметры обновления истории продаж...
set fnow_update_paremetrs= -sh -a %fnow_base_format% %fnow_update_file% %fnow_base_file%
rem Запуск обновления истории продаж:
%fnow_file% import %fnow_update_paremetrs%
rem Задаем параметры обновления классификации...
set fnow_update_paremetrs= -o -r %fnow_base_classification% %fnow_base_file%
rem Запуск обновления классификации:
%fnow_file% import %fnow_update_paremetrs%
==== Очистка данных ====
==Очистка аналогов==
Команда для очистки аналогов
FSystemConsole.exe remove analogs
- имя базы, в которой нужно удалить все аналоги - для sqlite базы - полный путь к ней, для MYSql - название базы
==Удаление товаров==
Можно удалять товары из базы через консольную утилиту.
Команда для удаления товаров
FSystemConsole remove products <путь к файлу с артикулами> <имя или путь к базе>
<путь к файлу с артикулами> - путь к файлу с форматом строки: артикул.
Например:
400000015
weqwe-ewqee-wwew-1111
После запуска утилиты для каждого артикула будет удалена информация о продажах(со всех складов), классификации, параметрах(тоже со все складов), аналогах(если товар входил в нетривиальную группу аналогов, то он будет из неё удалён, в остальном порядок товаров в группе останется прежним. Если товар был главным аналогом, то за место него главным станет второй по порядку.).