Проект «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
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)