====== Основные отчеты ======
Проект **[[:analiticdb|"AnaliticDB"]]**\\
===== Вопросы =====
Отчет **"ByCP's"** содержит все базовые поля, поэтому вопросы, связанные с их заполнением, распространяются и на все остальные отчеты.\\
1. По каким правилам должно выполняться заполнение строк с данными для строки типа **"Terminal"** ?\\
Заполнение таких строк сейчас отличается от ТЗ.\\
В ТЗ, при заполнении строки типа **"Terminal"**, используется некоторый неизвестный коэффициент пропорциональности.\\
2. По каким правилам должно выполняться заполнение строк с данными для **Additional Payment (Doplata)** ?\\
Желательно, чтобы было указано на какой форме программы отображаются данные для заполнения этой графы.\\
3. Как правильно вычислять значение графы **Brinks (Inkassatsya)** ?\\
Сейчас вычисление значений графы **Brinks (Inkassatsya)** берутся все кассовые перемещения.\\
Нужно ли выделять среди всех перемещений, те которые подходят под термин **"Инкассация"**?\\
Возможно, следует учитывать специфику касс "Основная касса организации" и "Банк"?\\
4. Как правильно вычислять остатки в кассе?\\
Сейчас, например, остаток на **31.01.2020** по кассе **14 "Островитянова" 1** отрицательный и равен **-229 513 868.36** и,
соответственно, оказывается отрицательной сумма на руках в кассе, которая отображается в графе **"Total Cash in Hand"**.\\
===== Замечания =====
В записи по заказу хранится только сумма к оплате, остальные суммы вычисляются через историю заказа и список товаров и услуг.\\
При полном расчете всех характеристик загрузка и расчет занимают длительный промежуток времени.\\
Ускоренный вид расчета работает примерно в сто раз быстрее, однако, в этом случае не учитывается динамика изменения сумм заказа.\\
**Total Sales** вычисляется на момент закрытия заказа, то есть уже с учетом всех возвратов, а **Sales Returns** полагается всегда равными нулю, так как возвраты уже учтены в стоимости заказа.\\
**Суммы к оплате и задолженность в ускоренном расчете считаются в полном объеме.**\\
Сейчас, при заполнении данных до 01.07.2020 используется ускоренный вид расчета, а после 01.07.2020 загрузка данных выполняется по расширенному варианту.\\
После уточнения алгоритмов заполнения полей будет выполнен перерасчет по расширенному варианту.\\
Наименование графы "Sales Returns" может не соответствовать содержимому, так как в случае добавления услуг в существующий заказ в эту графу будут попадать суммы новых услуг.\\
Видимо правильнее называть графу "Sales Changes".\\
Программа: AnaliticDB запускается через ярлык рабочего стола **"AnaliticDB"**.\\
Командный файл AnaliticDB_run.cmd запускает загрузку данных из базы данных Химчистки.\\
Главная форма проекта "Основные отчеты" для настройки параметров отчетов.\\
{{:pasted:20200722-144546.png}}\\
Кнопка **"Помощь"** открывает данное описание.\\
Программа позволяет сформировать 7 отчетов:\\
* [[an_RepByCPs|Отчет "ByCP's"]]\\
* [[an_RepAllCPsByPeriod|Отчет "AllCP’sByPeriod"]]\\
* [[an_RepDebtsSpecificMonth|Отчет "Debts for Specific Month"]]\\
* [[an_RepDebtByMonth|Отчет "DebtByMonth"]]\\
* [[an_RepDebtPymtByMonthLongPeriod|Отчет "DebtPymtByMonthLongPeriod"]]\\
* [[an_RepDebtPaidByNextMonth|Отчет "DebtPaidByNextMonth"]]\\
* [[an_RepDebtPaidByNextMonth2|Отчет "DebtPaidByNextMonth2"]]\\
Кнопка с наименованием отчета запускает процесс формирования отчета в файле Excel.\\
В дальнейшем средствами Excel файл можно сохранить в удобном месте.\\
Программа формирует файл в папке с исполняемым модулем и в дальнейшем их перезаписывает.\\
Формирование файлов занимает довольно много времени.\\
Кнопка **"Отчеты"** позволяет запустить процесс создания всех отчетов сразу.\\
Перед запуском формирования отчетов необходимо выставить параметры отчетов.\\
===== Параметры отчета =====
==== "ByCP's" ====
**Period** - месяц отчета\\
**Collection point** - Приемный пункт - выбирается из выпадающего списка.\\
==== "AllCP’sByPeriod" ====
**Period** - месяц отчета.\\
==== Report "Debts for Specific Month" ====
**Specific Month** - месяц приема заказов\\
**End of the payment period** - месяц завершения приема платежей по заказам\\
====== "DebtByMonth", "DebtPymtByMonthLongPeriod", "DebtPaidByNextMonth", "DebtPaidByNextMonth2" ======
**Specific Month** - месяц приема заказов\\
**To** - месяц завершения периода приема заказов\\
**End of the payment period** - месяц завершения приема платежей по заказам\\
===== Загрузка и расчет данных =====
Ежедневно ночью по расписанию запускается командный файл AnaliticDB_run.cmd и выполняется загрузка новых данных по заказам и платежам из базы данных Химчистки в базу данных отчетов.\\
Период загрузки определяется следующим образом:\\
В качестве начала периода берется следующий день за датой последней загрузки.\\
В качестве конца периода берется текущая дата минус количество дней задержки.\\
В поле **Delay load** отображается количество дней задержки. Количество дней задержки можно настраивать через файл конфигурации.\\
В поле **Last load** отображается дата конца периода загрузки.\\
Если сервер работает без сбоев, то ежедневно загружаются данные за прошедшие сутки с задержкой в несколько дней.\\
Задержка нужна для того, чтобы все документы на момент загрузки были внесены базу данных Химчистки.\\
Документы и их исправления, которые делаются после импорта данных уже никогда не попадут в базу отчетов.\\
Так как документов много, а отчеты используют суммы остатков, то для ускорения построения отчетов заполняются вспомогательные таблицы.\\
**Расчетом** называется процесс заполнения вспомогательных таблиц на основе базовых таблиц в рамках базы данных отчетов.\\
Расчет выполняется раз в месяц на первое число месяца после того, как загружены данные на первое число месяца.\\
В поле **Last calculation** отображается дата конца периода, за который выполнен последний расчет.\\
[[:analiticdb|Назад]]\\