мета-данные страницы
B_BAL_KASSA
Проект «AnaliticDB»
Остатки в кассе
Назначение
Нерепликационная таблица B_BAL_KASSA из БД Срезы содержит суммы платежей по кассе и остатки в кассе на дату.
Предназначена для вычисления остатков в кассе.
Поля таблицы
select bk.id , -- ВнНомер bk.dttm , -- Дата и время расчета bk.DT , -- Состояние на дату bk.kassa_id , -- Касса bk.pay_Cash , -- Сумма оплат заказов наличными bk.db_Deposits , -- Сумма поступлений депозитов bk.Encashment , -- Инкассация bk.other_cash , -- Сумма прочих платежей bk.rest_Cash , -- Сумма остатка в кассе bk.kassa_name -- Касса from b_bal_kassa bk -- Остатки в кассе
dttm - Дата и время расчета.
DT - Задолженность на дату. Вычисляется задолженность на 00:00, то есть документы на указанную дату исключаются из расчета.
kassa_id - ID кассы в справочнике kasses из базы данных «Химчистка».
kassa_name - Касса - наименование кассы (kasses.name).
pay_Cash - Сумма оплат заказов наличными
db_Deposits - Сумма поступлений депозитов через кассу
Encashment - Инкассация
other_cash - Сумма прочих платежей
rest_Cash - Сумма остатка в кассе
Формирование таблицы
Расчет выполняется функцией TMain.CalcB_BAL_KASSA
- В качестве даты расчета берется первое число месяца от выбранной даты, котора будет записана в поле DT «Задолженность на дату»
- В качестве базовой даты расчета берется первое число предыдущего месяца от даты расчета
- Считывается базовая запись из b_bal_kassa на базовую дату расчета
- Считаются обороты платежей за месяц из a_Payments
- К значениям базовой записи из b_bal_kassa добавляются обороты и расчитывается остатки в кассе
Обороты платежей за месяц из a_Payments
select z.kassa_id, sum(iif((z.case_id=5) and (z.type_id=2),coalesce(z.debet,0)-coalesce(z.kredit,0),0)) as pay_Cash, sum(iif((z.case_id=5) and (z.type_id=4),coalesce(z.debet,0)-coalesce(z.kredit,0),0)) as db_Deposits, sum(iif((z.case_id=5) and (z.type_id=5),coalesce(z.debet,0)-coalesce(z.kredit,0),0)) as Encashment, sum(iif((z.case_id=5) and (z.type_id=1),coalesce(z.debet,0)-coalesce(z.kredit,0),0)) as other_cash from A_Payments z where (z.doc_date<:p1) and (z.doc_date>=:p2) group by z.kassa_id
Первый расчет выполняется на 01.01.2019 с начала существования базы данных where (z.doc_date<:p1)
b_bal_kassa на дату расчета
- dttm - «Дата и время расчета» выставляется автоматически как системное время.
- DT - «Задолженность на дату». Дату расчета, совпадающая с первым числом месяца на 00:00, поэтому документы на указанную дату исключаются из расчета.
- pay_Cash - «Сумма оплат заказов наличными» = базовая.pay_Cash+обороты.pay_Cash
- db_Deposits - «Сумма поступлений депозитов через кассу» = базовая.db_Deposits+обороты.db_Deposits
- Encashment - «Инкассация» = базовая.Encashment+обороты.Encashment (будет отрицательная на ПП и положительная в центральной кассе).
- other_cash - «Сумма прочих платежей» = базовая.other_cash+обороты.other_cash
- rest_Cash - «Сумма остатка в кассе» = pay_Cash+db_Deposits+Encashment+other_cash
- kassa_id - ID кассы в справочнике kasses из базы данных «Химчистка».
- kassa_name - Касса - наименование кассы (kasses.name).