Публичное пространство
Запрос данных о продажах в ERP с помощью reports.request
Описание
Инцидент: клиенту требуется запросить данные о продажах за определенный день (диапазон дат)
Как решить: Для того, чтобы перевыгрузить данные о продажах, необходимо файл reports.request (кодировка должна быть UTF без BOM) поместить в папку сервера Reports/source
Параметры для перевыгрузки
Параметр | Допустимые значения | Описание |
date | 12.04.2011 | Конкретная дата |
dateRange | 01.04.2011-12.04.2011 | Диапазон дат |
report | Zreports, purchases | Отчеты для выгрузки |
shop | 432 | Номер магазина |
shopsRange | 701-703 | Номера магазинов (При отсутствии – по всем магазинам) |
cash | 3 | Номер кассы (При отсутствии – по всем магазинам) |
cashesRange | 4-8 | Номера касс |
shift | 3 | Номер смены |
shiftsRange | 1-19 | Номера смен (При отсутствии – по всем сменам) |
Пример файла
dateRange: 03.03.2011-14.03.2011, 27.05.2011 report: Zreports, purchases shopsRange: 13,15,17-22 cashsRange: 1-3,6,7 shiftsRange: 13,15,17-22
Настройки в модуле "Управление продажами"
Файлы xml сформируются в зависимости от настроек выгрузки в модуле Управление продажами → Внешние системы → Вкладка ERP → Протокол Set Retail 10: файлы
Принцип срабатывания report.request
1. По-умолчанию каждую минуту SetRetail10 проверяет - есть ли файл reports.request в каталоге /reports/source.
2. Если файл есть, то в reports.request описан запрос на экспорта чеков, тогда сервис делает изменение таблицы erpi_purchase
следующим образом:
UPDATE erpi_purchase SET sendedtoerp = false WHERE shop IN (...) AND cash IN (...) AND shift IN (...) AND operday IN (...)
3. Если в файле reports.request описан запрос на экспорт z-отчётов, то сервис делает изменение таблицы erpi_zreport таким образом:
UPDATE erpi_zreports SET sendedtoerp = false WHERE shopnumber IN (...) AND cashnumber IN (...) AND shiftnumber IN (...) AND dateoperday IN (...)
3. Если файла нет - ничего не происходит
4. В п.2 происхолдит обновление таблиц. Это приводит их в состояние, в котором таблицы находятся, как будто чеки только, что пришли с касс.
В таблице erpi_purchase
в поле accepted_by_ws
становится false
.
5. Таймер экспорта (на скриншоте) настроен на 60 минут
6. Каждые 60 минут таймер в п.5 проверяет - нет ли записей в таблицах п.2, п.4. Если есть, то экспорт производится в каталог /reports
7. Отсчет таймера начинается от начала запуска сервера.
Например:
- В 18:00 - сервер запущен
- В 18:49 - будет выгружен файл reports.request в каталог /reports/source.
- В 18:49 в таблице
erpi_purchase
в полеsendedtoerp
становитьсяfalse
. - Но ТОЛЬКО в 19:00 (исходя из таймера) будет сформированы xml в папке /reports/.
- Если даже файл reports.request в каталог /reports/source будет выгружен в 18:01, то xml в папке /reports/ появятся только в 19:00
Дополнительная информация
- Файл запроса reports.request обновляет только статус чеков и Z-отчетов в табице БД и формирует файлы xml.
- Если время не установлено в модуле Управление продажами, (флаги не выставлены) то считается, что файловый экспорт выключен.
© 1994-2023, ООО «Кристалл Сервис Интеграция».
Все права защищены..