====== Основные отчеты ====== Проект **[[: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|Назад]]\\