Skip to content

Instantly share code, notes, and snippets.

@MikeRzhevsky
Created February 19, 2022 05:44
Show Gist options
  • Save MikeRzhevsky/40bef74f15727bb5c43894f7bdf5032e to your computer and use it in GitHub Desktop.
Save MikeRzhevsky/40bef74f15727bb5c43894f7bdf5032e to your computer and use it in GitHub Desktop.
{{ config(
materialized='incremental',
as_columnstore=false,
pre_hook=""" {% if is_incremental() %}
delete from {{this}}
where Период >= {{ CurrentDay() }}
{% endif %}
"""
, post_hook = "{% if is_incremental() == false %}
{{ create_nonclustered_index( ['Товар']) }}
{{ create_nonclustered_index( ['Период']) }}
{% endif %}"
)
}}
with СкладКуда as (
select Регистратор, Склад as СклКуда, Товар as Товар
from {{ source('1c' , 'РегистрНакопления.ОстаткиТоваров') }}
where ТипДвижения = 0 and
{% if is_incremental() %}
Период >= {{ CurrentDay() }}
{% else %}
Период >= '20220201'--FirstDay()
{% endif %}
group by Регистратор,Склад,Товар
),
СкладОткуда as (
select Регистратор, Склад as СклОткуда, Товар as Товар
from {{ source('1c' , 'РегистрНакопления.ОстаткиТоваров') }}
where ТипДвижения = 1 and
{% if is_incremental() %}
Период >= {{ CurrentDay() }}
{% else %}
Период >= '20220201' -- FirstDay()
{% endif %}
group by Регистратор,Склад,Товар
)
select mov.Период, whn.Наименование as Склад, mov.Товар, mov.ОстатокТовара as Количество,
(select whn.Наименование from СкладКуда
left join {{ source('1c' , 'Справочник.МестаХранения') }} whn on
whn.Ссылка = СклКуда
where СкладКуда.Регистратор = mov.Регистратор
and СкладКуда.Товар = mov.Товар) as СкладКуда,
(select whn.Наименование from СкладОткуда
left join {{ source('1c' , 'Справочник.МестаХранения') }} whn on
whn.Ссылка = СклОткуда
where СкладОткуда.Регистратор = mov.Регистратор
and СкладОткуда.Товар = mov.Товар) as СкладОткуда
from {{ source('1c' , 'РегистрНакопления.ОстаткиТоваров') }} as mov
left join {{ source('1c' , 'Справочник.МестаХранения') }} whn
on whn.Ссылка = Склад
where
{% if is_incremental() %}
Период >= {{ CurrentDay() }}
{% else %}
Период >= '20220201' -- FirstDay()
{% endif %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment