Проект "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
<alert info> Вычисляется задолженность на 00:00, то есть документы на дату расчета исключаются из расчета.
</alert>
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)
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->
<!-- -->