====== Утилита фоновой загрузки данных ====== 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 После запуска утилиты для каждого артикула будет удалена информация о продажах(со всех складов), классификации, параметрах(тоже со все складов), аналогах(если товар входил в нетривиальную группу аналогов, то он будет из неё удалён, в остальном порядок товаров в группе останется прежним. Если товар был главным аналогом, то за место него главным станет второй по порядку.).