5394 lines
257 KiB
Transact-SQL
5394 lines
257 KiB
Transact-SQL
USE [mag_pbi]
|
||
GO
|
||
|
||
/****** Object: View [analytics].[deficit_orders] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[deficit_orders] AS
|
||
|
||
SELECT
|
||
[scenario_id] as [scenario_id]
|
||
, 'Дефицит' as [status]
|
||
, d.[1c_id]
|
||
, [place_month] as [order_date]
|
||
, 'руб.' as [currency]
|
||
, d.[code]
|
||
, [order_qty]
|
||
, n.[Цена учетная, руб] as [price]
|
||
, d.order_qty * n.[Цена учетная, руб] as [sum]
|
||
, [arrival_month]
|
||
FROM [mag_pbi].[analytics].[deficit_proposal] d
|
||
INNER JOIN pbi.nomenclature n ON n.[1c_id] = d.[1c_id]
|
||
GO
|
||
|
||
/****** Object: View [analytics].[doprekvizit] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[doprekvizit]
|
||
AS
|
||
SELECT
|
||
CASE WHEN i._Marked = 0x00 THEN 0 ELSE 1 END AS [ПометкаУдаления],
|
||
i._Type AS [ТипЗначения],
|
||
i._Fld28453 AS [ТипЗначенияВнешнейСистемы],
|
||
i._Fld17721 AS [description],
|
||
LOWER(
|
||
CONCAT(
|
||
SUBSTRING(h.hex, 25, 8), '-',
|
||
SUBSTRING(h.hex, 21, 4), '-',
|
||
SUBSTRING(h.hex, 17, 4), '-',
|
||
SUBSTRING(h.hex, 1, 4), '-',
|
||
SUBSTRING(h.hex, 5, 12)
|
||
)
|
||
) AS [uid],
|
||
i._Fld28554 AS [ИмяВоВнешнейСистеме],
|
||
CASE i._Fld28553 WHEN 0x01 THEN 1 ELSE 0 END AS [ВыгружатьВоВнешниеСистемы],
|
||
CASE i._Fld33511 WHEN 0x01 THEN 1 ELSE 0 END AS [ВыгружатьНаСайт],
|
||
CASE i._Fld28529 WHEN 0x01 THEN 1 ELSE 0 END AS [ФильтрНаСайте],
|
||
CASE i._Fld28530 WHEN 0x01 THEN 1 ELSE 0 END AS [ОтображатьНаСайте],
|
||
CASE i._Fld27792 WHEN 0x01 THEN 1 ELSE 0 END AS [АТС_НеПроверять],
|
||
CASE i._Fld17724 WHEN 0x01 THEN 1 ELSE 0 END AS [ЗаполнятьОбязательно]
|
||
FROM MAG_2019.dbo._Chrc1109 AS i
|
||
CROSS APPLY (SELECT CONVERT(varchar(36), i._IDRRef, 2) AS hex) AS h;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[doprekvizitvalues] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[doprekvizitvalues]
|
||
AS
|
||
SELECT
|
||
n._Code AS [code],
|
||
'DopRekvizit' AS [type],
|
||
|
||
-- GUID r._Reference188_IDRRef в текстовом виде (uid)
|
||
LOWER(
|
||
SUBSTRING(h.hex_ref,25,8) + '-' +
|
||
SUBSTRING(h.hex_ref,21,4) + '-' +
|
||
SUBSTRING(h.hex_ref,17,4) + '-' +
|
||
SUBSTRING(h.hex_ref, 1,4) + '-' +
|
||
SUBSTRING(h.hex_ref, 5,12)
|
||
) AS [uid],
|
||
|
||
r._Reference188_IDRRef AS [uid_bin],
|
||
r._Fld21137RRef AS [value_bin],
|
||
r._Fld21137RRef AS [name_uid_bin],
|
||
|
||
-- GUID r._Fld21137RRef в текстовом виде (name_uid)
|
||
LOWER(
|
||
SUBSTRING(h.hex_name,25,8) + '-' +
|
||
SUBSTRING(h.hex_name,21,4) + '-' +
|
||
SUBSTRING(h.hex_name,17,4) + '-' +
|
||
SUBSTRING(h.hex_name, 1,4) + '-' +
|
||
SUBSTRING(h.hex_name, 5,12)
|
||
) AS [name_uid],
|
||
|
||
c._Fld17721 AS [name],
|
||
|
||
pbi.get_rekvizit_value(
|
||
r._Reference188_IDRRef,
|
||
r._Fld21137RRef,
|
||
r._Fld21138_TYPE,
|
||
r._Fld21138_L,
|
||
r._Fld21138_N,
|
||
r._Fld21138_T,
|
||
r._Fld21138_S,
|
||
r._Fld21138_RTRef,
|
||
r._Fld21138_RRRef
|
||
) AS [value]
|
||
FROM MAG_2019.dbo._Reference188_VT21135X1 AS r
|
||
INNER JOIN MAG_2019.dbo._Reference188X1 AS n ON r._Reference188_IDRRef = n._IDRRef
|
||
INNER JOIN MAG_2019.dbo._Chrc1109 AS c ON c._IDRRef = r._Fld21137RRef
|
||
CROSS APPLY (
|
||
SELECT
|
||
CONVERT(varchar(36), r._Reference188_IDRRef, 2) AS hex_ref,
|
||
CONVERT(varchar(36), r._Fld21137RRef, 2) AS hex_name
|
||
) AS h;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[ForecastBasesKs] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[ForecastBasesKs] AS
|
||
WITH MaxDate AS (
|
||
SELECT MAX(Период) AS max_date
|
||
FROM [pbiProd].[СводныйСебестоимость Для PBI]
|
||
WHERE Статья = 'реализация'
|
||
),
|
||
LastFullMonth AS (
|
||
SELECT
|
||
YEAR(DATEADD(MONTH, -1, max_date)) AS last_year,
|
||
MONTH(DATEADD(MONTH, -1, max_date)) AS last_month
|
||
FROM MaxDate
|
||
),
|
||
|
||
-- 1. Продажи по SKU × месяц
|
||
Sales AS (
|
||
SELECT
|
||
artic_id,
|
||
YEAR(Период) AS Год,
|
||
MONTH(Период) AS Месяц,
|
||
SUM(Количество) AS total_sales
|
||
FROM [pbiProd].[СводныйСебестоимость Для PBI]
|
||
WHERE Статья = 'реализация'
|
||
GROUP BY artic_id, YEAR(Период), MONTH(Период)
|
||
),
|
||
|
||
-- 2. Дни в продаже (по флагу ostatok_all)
|
||
Stock AS (
|
||
SELECT
|
||
artic_id,
|
||
YEAR(dt) AS Год,
|
||
MONTH(dt) AS Месяц,
|
||
SUM(CASE WHEN ostatok_all = 1 THEN 1 ELSE 0 END) AS days_available
|
||
FROM [pbi].[w_ostatok_da_net]
|
||
GROUP BY artic_id, YEAR(dt), MONTH(dt)
|
||
),
|
||
|
||
-- 3. База: нормализованные продажи (только Основной + Маркетплейс)
|
||
Base AS (
|
||
SELECT
|
||
s.artic_id,
|
||
n.code,
|
||
n.description,
|
||
s.Год,
|
||
s.Месяц,
|
||
s.total_sales,
|
||
st.days_available,
|
||
-- сезонность: либо родная, либо общая (по группе 0)
|
||
COALESCE(sg_main.seasonal_koef, sg_def.seasonal_koef) AS seasonal_koef,
|
||
s.total_sales / NULLIF(COALESCE(sg_main.seasonal_koef, sg_def.seasonal_koef), 0) AS Normalized_sales,
|
||
CASE WHEN st.days_available > 19 THEN 1 ELSE 0 END AS valid_month,
|
||
CASE WHEN st.days_available > 19
|
||
THEN s.total_sales / NULLIF(COALESCE(sg_main.seasonal_koef, sg_def.seasonal_koef), 0)
|
||
ELSE NULL
|
||
END AS normalized_valid_sales
|
||
FROM Sales s
|
||
LEFT JOIN Stock st
|
||
ON s.artic_id = st.artic_id
|
||
AND s.Год = st.Год
|
||
AND s.Месяц = st.Месяц
|
||
JOIN [pbi].[nomenclature] n
|
||
ON s.artic_id = n.artic_id
|
||
LEFT JOIN [analytics].[seasonality_groups] sg_main
|
||
ON n.[1c_group] = sg_main.group_1c_id
|
||
AND s.Месяц = sg_main.[month]
|
||
LEFT JOIN [analytics].[seasonality_groups] sg_def
|
||
ON sg_def.group_1c_id = 0x00000000000000000000000000000000
|
||
AND sg_def.[month] = s.Месяц
|
||
WHERE n.Статус IN ('Основной', 'Маркетплейс')
|
||
),
|
||
|
||
-- 4. Пронумеровка месяцев (только до последнего полного месяца)
|
||
Windowed AS (
|
||
SELECT
|
||
b.*,
|
||
ROW_NUMBER() OVER (
|
||
PARTITION BY b.artic_id
|
||
ORDER BY (b.Год*100 + b.Месяц) DESC
|
||
) AS rn_desc
|
||
FROM Base b
|
||
CROSS JOIN LastFullMonth lm
|
||
WHERE (b.Год*100 + b.Месяц) <= (lm.last_year*100 + lm.last_month)
|
||
),
|
||
|
||
-- 4b. Последний валидный месяц (строгий, для контроля)
|
||
LastValid AS (
|
||
SELECT artic_id, normalized_valid_sales AS Base_LastMonth
|
||
FROM (
|
||
SELECT
|
||
artic_id,
|
||
normalized_valid_sales,
|
||
ROW_NUMBER() OVER (
|
||
PARTITION BY artic_id
|
||
ORDER BY (Год*100 + Месяц) DESC
|
||
) AS rn
|
||
FROM Windowed
|
||
WHERE valid_month = 1
|
||
AND normalized_valid_sales IS NOT NULL
|
||
) x
|
||
WHERE rn = 1
|
||
),
|
||
|
||
-- 5. Строгие базы (12M, 3M) – только по валидным месяцам
|
||
StrictAggregates AS (
|
||
SELECT
|
||
w.artic_id,
|
||
AVG(CASE WHEN rn_desc <= 12 AND valid_month = 1 THEN normalized_valid_sales END) AS Base_12M,
|
||
CASE
|
||
WHEN MIN(CASE WHEN rn_desc <= 3 THEN valid_month END) = 1
|
||
THEN AVG(CASE WHEN rn_desc <= 3 THEN normalized_valid_sales END)
|
||
ELSE NULL
|
||
END AS Base_3M
|
||
FROM Windowed w
|
||
GROUP BY w.artic_id
|
||
),
|
||
|
||
-- 6. Irregular-база: средняя нормализованная продажа за последние 12 календарных месяцев,
|
||
-- только по месяцам с total_sales > 0
|
||
IrregularBase AS (
|
||
SELECT
|
||
w.artic_id,
|
||
AVG(w.Normalized_sales) AS Base_Irregular
|
||
FROM Windowed w
|
||
CROSS JOIN LastFullMonth lm
|
||
WHERE (w.Год * 12 + w.Месяц) > (lm.last_year * 12 + lm.last_month - 12) -- последние 12 месяцев
|
||
AND (w.Год * 12 + w.Месяц) <= (lm.last_year * 12 + lm.last_month)
|
||
AND w.total_sales > 0
|
||
AND w.Normalized_sales IS NOT NULL
|
||
GROUP BY w.artic_id
|
||
),
|
||
|
||
-- 7. TREND (регрессия по ln(sales), окно ~24 мес по валидным)
|
||
TrendData AS (
|
||
SELECT
|
||
w.artic_id,
|
||
ROW_NUMBER() OVER (
|
||
PARTITION BY w.artic_id
|
||
ORDER BY (w.Год*100 + w.Месяц)
|
||
) - 1 AS t,
|
||
LOG(w.normalized_valid_sales) AS ln_sales
|
||
FROM Windowed w
|
||
CROSS JOIN LastFullMonth lm
|
||
WHERE (w.Год*100 + w.Месяц) > (lm.last_year*100 + lm.last_month - 200)
|
||
AND (w.Год*100 + w.Месяц) <= (lm.last_year*100 + lm.last_month)
|
||
AND w.normalized_valid_sales > 0
|
||
),
|
||
TrendAgg AS (
|
||
SELECT
|
||
artic_id,
|
||
COUNT(*) AS n_obs,
|
||
EXP(
|
||
(AVG(t*ln_sales) - AVG(t)*AVG(ln_sales))
|
||
/ NULLIF(AVG(t*t) - AVG(t)*AVG(t), 0)
|
||
) AS g_raw
|
||
FROM TrendData
|
||
GROUP BY artic_id
|
||
HAVING COUNT(*) >= 6
|
||
),
|
||
TrendFinal AS (
|
||
SELECT
|
||
artic_id,
|
||
POWER(
|
||
CASE
|
||
WHEN POWER(g_raw, 12) < 0.7 THEN 0.7
|
||
WHEN POWER(g_raw, 12) > 1.5 THEN 1.5
|
||
ELSE POWER(g_raw, 12)
|
||
END,
|
||
1.0/12
|
||
) AS Ktrend
|
||
FROM TrendAgg
|
||
)
|
||
|
||
-- === ФИНАЛ (одна строка на активный SKU) ===
|
||
SELECT
|
||
n.artic_id,
|
||
n.code,
|
||
n.description,
|
||
-- строгие базы
|
||
sa.Base_12M,
|
||
sa.Base_3M,
|
||
ib.Base_Irregular,
|
||
-- единая выбранная база
|
||
CASE
|
||
WHEN sa.Base_3M IS NOT NULL THEN sa.Base_3M
|
||
WHEN sa.Base_12M IS NOT NULL THEN sa.Base_12M
|
||
ELSE ib.Base_Irregular
|
||
END AS Base_Selected,
|
||
lv.Base_LastMonth,
|
||
tf.Ktrend
|
||
FROM pbi.nomenclature n
|
||
LEFT JOIN StrictAggregates sa ON n.artic_id = sa.artic_id
|
||
LEFT JOIN IrregularBase ib ON n.artic_id = ib.artic_id
|
||
LEFT JOIN LastValid lv ON n.artic_id = lv.artic_id
|
||
LEFT JOIN TrendFinal tf ON n.artic_id = tf.artic_id
|
||
WHERE n.Статус IN ('Основной', 'Маркетплейс');
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_analytics_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [analytics].[get_analytics_by_group]
|
||
AS
|
||
SELECT
|
||
n.code
|
||
, a.[Остаток дней продаж]
|
||
, a.[Дней в продаже / год]
|
||
, a.[Дней в продаже / квартал]
|
||
, a.[Продажи шт / день]
|
||
, a.[ТН / год, руб.]
|
||
, a.[ТН / квартал, руб.]
|
||
, a.[ТН / месяц, руб.]
|
||
, a.[Стоимость МП год, руб.]
|
||
, a.[%ТН год, руб.]
|
||
, a.[учетная сумма / год, руб.]
|
||
, a.[Оплаченный остаток]
|
||
, a.[Рентабельность / год]
|
||
, a.[Рентабельность / квартал]
|
||
, a.[Рентабельность / будущий год]
|
||
, [Рентабельность по остатку / год]
|
||
, [Рентабельность по остатку / квартал]
|
||
, [Рентабельность по остатку / будущий год]
|
||
FROM
|
||
analytics.[аналитика за 365 дн.] AS a
|
||
INNER JOIN pbi.nomenclature AS n ON n.[1c_id] = a.[1c_id]
|
||
INNER JOIN pbi.groups AS g ON n.[1c_group] = g.[1c_id]
|
||
WHERE (g.g NOT LIKE '*%')
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_forecast_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [analytics].[get_forecast_by_group] as
|
||
SELECT
|
||
n.code as code
|
||
,f.[scenario_id]
|
||
,FORMAT(f.[month], 'yyyy-MM-01') AS [month]
|
||
,f.[value] as quantity_base
|
||
,g.path
|
||
FROM [mag_pbi].[analytics].forecast f
|
||
INNER JOIN mag_pbi.pbi.nomenclature n /*номенклатура*/
|
||
ON n.[1c_id] = f.[1c_id]
|
||
INNER JOIN mag_pbi.pbi.groups g
|
||
ON n.[1c_group] = g.[1c_id]
|
||
WHERE g.g not like '*%' AND [value] > 0
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_forecast_scenarios] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [analytics].[get_forecast_scenarios] as
|
||
SELECT [scenario_id]
|
||
,[name]
|
||
,[description]
|
||
,[created_by]
|
||
FROM [mag_pbi].[analytics].[forecast_scenarios]
|
||
WHERE active = 1
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_mp_quantity_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [analytics].[get_mp_quantity_by_group] as
|
||
|
||
|
||
|
||
SELECT
|
||
t.code
|
||
, [Узел]
|
||
, [Склад]
|
||
, g.path
|
||
, [Доступное кол-во] as quantity
|
||
, [Доступное кол-во]
|
||
*
|
||
(case
|
||
(SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t.[1c_id] = up._OwnerID_RRRef)
|
||
when 0 then 1
|
||
when null then 1
|
||
else (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t.[1c_id] = up._OwnerID_RRRef)
|
||
end)
|
||
as quantity_base
|
||
|
||
--, (SELECT TOP 1 [Доступное кол-во] FROM [mag_pbi].[analytics].[Внешние остатки] v WHERE v.[code]=t.[code] AND v.[Узел]=t.[Узел] AND v.[Склад]=t.[Склад] ORDER BY [Дата обновления] DESC) as quantity
|
||
FROM [mag_pbi].[analytics].[Внешние остатки] as t
|
||
INNER JOIN [mag_pbi].[pbi].[groups] g ON t.group_id = g.[1c_id]
|
||
WHERE t.[Дата обновления] >= FORMAT(GETDATE(), 'yyyy-MM-dd')
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_mpcosts_monthly_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [analytics].[get_mpcosts_monthly_by_group] as
|
||
SELECT
|
||
sales.date
|
||
, n.code as code
|
||
, g.path
|
||
, sum(sales.sum) as sum
|
||
FROM
|
||
(
|
||
select
|
||
FORMAT([date], 'yyyy-MM') as date
|
||
, s.Сумма as sum
|
||
, s.[1c_id]
|
||
|
||
FROM [mag_pbi].[pbi].[Стоимость обработки заказа] s
|
||
|
||
) as sales
|
||
INNER JOIN [mag_pbi].[pbi].nomenclature n
|
||
ON n.[1c_id] = sales.[1c_id]
|
||
INNER JOIN [mag_pbi].[pbi].[groups] g ON n.[1c_group] = g.[1c_id]
|
||
|
||
GROUP BY sales.date, n.code, g.path
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_nomenclature_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [analytics].[get_nomenclature_by_group] as
|
||
SELECT
|
||
n.code as code,
|
||
n.description as 'description',
|
||
n.artic as artic,
|
||
g.path,
|
||
--concat('https://media.magok.ru/', f._Fld21201) as 'photo',
|
||
n.photo,
|
||
n.Производитель as 'manufacturer',
|
||
n.Бренд as 'brand',
|
||
n.[1c_id] as [1C_id],
|
||
n.[Статус] as status,
|
||
n.[АБС статус] as ABC
|
||
, wb._Fld28246 as [WB]
|
||
, wbip._Fld28246 as [WBIP]
|
||
, ozon._Fld28246 as [OZON]
|
||
, ozonip._Fld28246 as [OZONIP]
|
||
--, factory.Количество as factoryQuantity
|
||
--, way.Количество as onwayQuantity
|
||
, n.[max_year_quantity]
|
||
, n.[max_quarter_quantity]
|
||
, n.[Цена учетная, руб]
|
||
, n.[Цена учетная, usd]
|
||
, n.[СКО_МесячныхПродаж]
|
||
, n.cenovaya_gruppa
|
||
from [mag_pbi].[pbi].nomenclature n /*номенклатура*/
|
||
--INNER JOIN [mag_reports].[sales].[w_groups] g
|
||
INNER JOIN mag_pbi.pbi.groups g
|
||
ON n.[1c_group] = g.[1c_id]
|
||
/*LEFT JOIN [mag_2019].[dbo]._Reference191X1 f /*номенклатураПрисоедФайлы*/
|
||
ON f._IDRRef = n._Fld21086RRef*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_InfoRg28243X1] wbip -- идентификаторы объектов во внешних системах
|
||
ON wbip.[_Fld28244_RRRef] = n.[1c_id] AND wbip._Fld28245RRef = 0x997FB49691D57EFD11ED51180696FB46
|
||
|
||
LEFT JOIN [MAG_2019].[dbo].[_InfoRg28243X1] ozonip -- идентификаторы объектов во внешних системах
|
||
ON ozonip.[_Fld28244_RRRef] = n.[1c_id] AND ozonip._Fld28245RRef = 0x9987B49691D57EFD11EED582B1EEAA3C
|
||
|
||
LEFT JOIN [MAG_2019].[dbo].[_InfoRg28243X1] ozon -- идентификаторы объектов во внешних системах
|
||
ON ozon.[_Fld28244_RRRef] = n.[1c_id] AND ozon._Fld28245RRef = 0xAEC3B496910DCFD611EC0EF79C3B458F
|
||
|
||
LEFT JOIN [MAG_2019].[dbo].[_InfoRg28243X1] wb -- идентификаторы объектов во внешних системах
|
||
ON wb.[_Fld28244_RRRef] = n.[1c_id] AND wb._Fld28245RRef = 0xAEC3B496910DCFD611EC000B54C819F4
|
||
/*
|
||
LEFT JOIN [mag_pbi].[pbi].[Заказо_в_производстве] factory
|
||
ON factory.[1C_id] = n.[1c_id]
|
||
LEFT JOIN [mag_pbi].[pbi].[Заказо_в_пути] way
|
||
ON way.[1C_id] = n.[1c_id]
|
||
*/
|
||
--WHERE n._Folder = 1
|
||
--AND g.path like 'Игрушки%'
|
||
/*
|
||
SELECT
|
||
n.code
|
||
, n.description
|
||
, n.artic
|
||
, g.path
|
||
, n.photo
|
||
FROM [mag_pbi].[pbi].[nomenclature] n
|
||
INNER JOIN [mag_reports].[sales].[w_groups] g
|
||
ON n.group_id = g.group_id
|
||
*/
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_orders_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [analytics].[get_orders_by_group] as
|
||
SELECT
|
||
z.[Статус] as status
|
||
,z.[Номер заказа поставщику] as order_number
|
||
,z.[1C_id]
|
||
,z.[Дата заказа поставщику] as order_date
|
||
,z.Валюта as currency
|
||
, n._code as 'code'
|
||
,[Кол. упаковок] as packages
|
||
,z.Количество as units
|
||
,[Цена] as price
|
||
,[Сумма в руб.] as 'sum'
|
||
, z.Сумма as amount
|
||
,FORMAT([Желаемая дата], 'yyyy-MM') as 'month'
|
||
,g.path
|
||
FROM [mag_pbi].[analytics].[Заказы] z
|
||
INNER JOIN [mag_2019].[dbo]._Reference188X1 n /*номенклатура*/ ON n._IDRRef = z.[1c_id]
|
||
INNER JOIN [mag_pbi].[pbi].[groups] g ON n._ParentIDRRef = g.[1c_id]
|
||
--WHERE [Статус]='В пути' OR [Статус] = 'В производстве' OR [Статус] = 'Выгружен на складе'
|
||
WHERE
|
||
z.Статус NOT IN ('Тех. заказ', 'Подтвержден' ,'Закрыт')
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_orders_list] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[get_orders_list] AS
|
||
SELECT
|
||
DATEADD(YEAR, -2000, z._Date_Time) AS [Дата заказа поставщику],
|
||
CAST(DATEADD(YEAR, -2000, z._Fld3420) AS DATE) AS [Желаемая дата поступления],
|
||
z._Number AS [Номер заказа поставщику],
|
||
|
||
p._Description AS [Партнер],
|
||
r._Description AS [Контрагент],
|
||
|
||
CASE z._Fld3417RRef
|
||
WHEN 0xB9440E49408A17534955319EBF0DAE60 THEN N'Согласован'
|
||
WHEN 0x99FD3E66AA3EFB074984044D5A69CFD5 THEN N'В производстве'
|
||
WHEN 0x973A5675AC6A17F64DA37EC6C22FC12C THEN N'Частично отгружен'
|
||
WHEN 0xA55F81415BA33BC24A053ED26C6EC02E THEN N'Заказ отменён'
|
||
WHEN 0xA87A8B13710A30B447DFF1614E84D167 THEN N'В пути и произв.'
|
||
WHEN 0x8542BD023FE7B70E4613087D853F26E4 THEN N'Полностью отгружен'
|
||
WHEN 0xB38AD6232E2D17D44287D9924E5E6DF2 THEN N'Нет в заявке на оплату'
|
||
WHEN 0xB2A33CF1C728AF3463F20D54AE5A0BC THEN N'Заявка в процессе'
|
||
ELSE N'Неизвестно'
|
||
END AS [Статус],
|
||
|
||
v._Description AS [Валюта],
|
||
z._Fld3418 AS [Сумма],
|
||
|
||
CASE v._Description
|
||
WHEN 'USD' THEN z._Fld3418 * (SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency='USD2')
|
||
ELSE z._Fld3418 * (SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency=v._Description)
|
||
END AS [Сумма в руб],
|
||
|
||
ISNULL(man.[manufacturer], N'Не найдено') AS manufacturer,
|
||
ISNULL(man.[ROI_norm], 136) / 100 AS roi_year_normalized,
|
||
man.[n_percent],
|
||
man.[n_days],
|
||
man.[m_percent],
|
||
man.[m_days],
|
||
|
||
CASE WHEN z._Fld3418 = 0 THEN 0
|
||
ELSE (
|
||
SELECT SUM(zak.[Сумма] * a.[%ТН год, руб.])
|
||
FROM [analytics].[Заказы] zak
|
||
INNER JOIN [analytics].[аналитика за 365 дн.] a ON a.[1c_id] = zak.[1C_id]
|
||
WHERE zak.[Номер заказа поставщику] = z._Number
|
||
) / z._Fld3418
|
||
END AS [average_year_turnover],
|
||
|
||
z._Fld3432 AS comment
|
||
|
||
FROM MAG_2019.dbo._Document408X1 AS z
|
||
LEFT JOIN MAG_2019.dbo._Reference215X1 AS p ON p._IDRRef = z._Fld3409RRef -- Партнёр
|
||
LEFT JOIN MAG_2019.dbo._Reference168 AS r ON r._IDRRef = z._Fld3410RRef -- Контрагент
|
||
LEFT JOIN MAG_2019.dbo._Reference50 AS v ON v._IDRRef = z._Fld3414RRef -- Валюта
|
||
LEFT JOIN [analytics].[manufacturer_counterparty_map] map ON map.contractor_1c_id = r._IDRRef
|
||
LEFT JOIN [analytics].[v_manufacturers_roi_compat] man ON man.id = map.manufacturer_id
|
||
|
||
WHERE z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND z._Fld3417RRef <> 0xA55F81415BA33BC24A053ED26C6EC02E -- не «Заказ отменён»
|
||
AND z._Fld3417RRef <> 0x8542BD023FE7B70E4613087D853F26E4 -- не «Полностью отгружен»
|
||
AND z._Fld3417RRef <> 0x973A5675AC6A17F64DA37EC6C22FC12C; -- не «Частично отгружен»
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_quantity_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [analytics].[get_quantity_by_group] as
|
||
SELECT
|
||
n.Code as code
|
||
, s._Description as sklad
|
||
, s.[Категория] as [Категория склада]
|
||
--, sum( [_Fld17491]*(case _RecordKind when 0 then 1 when 1 then -1 end) ) as quantity
|
||
, convert( decimal(10,2), sum( [_Fld17491]*(case _RecordKind when 0 then 1 when 1 then -1 end) ) ) as quantity_base
|
||
, convert(
|
||
decimal(10,2), sum( [_Fld17491]*(case _RecordKind when 0 then 1 when 1 then -1 end) )
|
||
/
|
||
(case
|
||
(SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE n.[1c_id] = up._OwnerID_RRRef)
|
||
when 0 then 1
|
||
when null then 1
|
||
else (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE n.[1c_id] = up._OwnerID_RRRef)
|
||
end)
|
||
) as quantity
|
||
, g.path
|
||
FROM [mag_2019].[dbo].[_AccumRg17484] t /*регистр товары на складах*/
|
||
INNER JOIN [mag_pbi].[pbi].nomenclature n /*номенклатура*/ ON n.[1c_id] = t._Fld17485RRef
|
||
INNER JOIN [mag_pbi].[pbi].[groups] g ON n.[1c_group] = g.[1c_id]
|
||
INNER JOIN [mag_pbi].[pbi].[sklad_2019] s /*склад*/ ON s._IDRRef = t._Fld17488RRef
|
||
WHERE s.[Категория]='Хранение' OR s.[Категория]='Фасовка' OR s.[Категория] = 'Розничная точка' --g.path like 'Игрушки%'
|
||
GROUP BY n.code, s._Description, s.[Категория], g.path, n.[1c_id]
|
||
GO
|
||
|
||
/****** Object: View [analytics].[get_sales_monthly_by_group] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
/*
|
||
select
|
||
sum([Сумма])
|
||
, (SELECT sum([Сумма]) FROM [mag_pbi].[pbi].[Стоимость обработки заказа] obr WHERE obr.[1c_id] = s.[1c_id])
|
||
FROM [mag_pbi].[pbiProd].[СебестоимостьСводныйОт2022] s
|
||
WHERE [Вид операции]='Расход' AND [Статья]='Реализация'
|
||
AND code = 'УТ-00210548'
|
||
GROUP BY s.[1c_id]
|
||
*/
|
||
CREATE view [analytics].[get_sales_monthly_by_group] as
|
||
SELECT
|
||
sales.date
|
||
, n._Code as code
|
||
, g.path
|
||
, sum(sales.sum) as sum
|
||
, sum(sales.quantity) as quantity
|
||
, sum(sales.quantity_base) as quantity_base
|
||
FROM
|
||
(
|
||
select
|
||
FORMAT([Период], 'yyyy-MM') as date
|
||
, s.Сумма as sum
|
||
, s.[1c_id]
|
||
, s.Количество as quantity_base
|
||
, s.КоличествоУпаковок as quantity
|
||
FROM [mag_pbi].[pbiProd].[СебестоимостьСводныйОт2022] s
|
||
WHERE [Вид операции]='Расход' AND [Статья]='Реализация'
|
||
) as sales
|
||
INNER JOIN [mag_2019].[dbo]._Reference188X1 n
|
||
ON n._IDRRef = sales.[1c_id]
|
||
INNER JOIN [mag_pbi].[pbi].[groups] g ON n._ParentIDRRef = g.[1c_id]
|
||
|
||
GROUP BY sales.date, n._Code, g.path
|
||
GO
|
||
|
||
/****** Object: View [analytics].[images] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[images]
|
||
AS
|
||
SELECT
|
||
n._Code AS [КодУТ],
|
||
|
||
-- GUID r._IDRRef -> текст (КартинкаИД)
|
||
LOWER(
|
||
SUBSTRING(h.hex_r,25,8) + '-' +
|
||
SUBSTRING(h.hex_r,21,4) + '-' +
|
||
SUBSTRING(h.hex_r,17,4) + '-' +
|
||
SUBSTRING(h.hex_r, 1,4) + '-' +
|
||
SUBSTRING(h.hex_r, 5,12)
|
||
) AS [КартинкаИД],
|
||
|
||
-- Путь к файлу
|
||
CONCAT('media.magok.ru/', r._Fld21201) AS [Путь],
|
||
|
||
CASE WHEN r._Fld28532 = 0x01 THEN 1 ELSE 0 END AS [Основное],
|
||
ISNULL(v._Description, N'') AS [ВнешняяСистема],
|
||
CASE WHEN r._Marked = 0x00 THEN 0 ELSE 1 END AS [ПометкаУдаления],
|
||
|
||
-- GUID n._IDRRef -> текст (НоменклатураИД)
|
||
LOWER(
|
||
SUBSTRING(h.hex_n,25,8) + '-' +
|
||
SUBSTRING(h.hex_n,21,4) + '-' +
|
||
SUBSTRING(h.hex_n,17,4) + '-' +
|
||
SUBSTRING(h.hex_n, 1,4) + '-' +
|
||
SUBSTRING(h.hex_n, 5,12)
|
||
) AS [НоменклатураИД]
|
||
FROM MAG_2019.dbo._Reference191X1 AS r
|
||
INNER JOIN MAG_2019.dbo._Reference188X1 AS n
|
||
ON n._IDRRef = r._Fld21192RRef
|
||
LEFT JOIN MAG_2019.dbo._Node28072X1 AS v
|
||
ON v._IDRRef = r._Fld28611RRef
|
||
CROSS APPLY (
|
||
SELECT
|
||
CONVERT(varchar(36), r._IDRRef, 2) AS hex_r,
|
||
CONVERT(varchar(36), n._IDRRef, 2) AS hex_n
|
||
) AS h;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[income_expence] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [analytics].[income_expence] as
|
||
SELECT
|
||
t.*,
|
||
CONCAT(t.[Номер документа], ' ', t.[Дата]) as 'Номер_Дата'
|
||
FROM
|
||
-- См. WHERE в самом низу
|
||
-- WHERE g <> 'Прочие перемещения ДС' AND [Статья ДДС] <> 'Закупка_Приобретение валюты'
|
||
(
|
||
SELECT
|
||
'' as 'Получатель'
|
||
, c.[path] as 'path'
|
||
, case WHEN c.g1='Конвертация валюты' THEN 'Закупка' ELSE c.g END as g
|
||
, c.g1
|
||
, c.g2
|
||
, c.g3
|
||
, c.g4
|
||
, c.[Статья ддс] as 'Статья ДДС'
|
||
, CASE
|
||
WHEN CHARINDEX(N'_', [статья ддс]) > 0
|
||
THEN
|
||
CASE WHEN LEFT([статья ддс], CHARINDEX(N'_', [статья ддс]) - 1)='Макарова' THEN 'Шереметьевский' ELSE LEFT([статья ддс], CHARINDEX(N'_', [статья ддс]) - 1) END
|
||
ELSE [статья ддс]
|
||
END AS [префикс статьи]
|
||
, e.value as 'operation'
|
||
, convert(date, DATEADD(year, -2000, [_Period]), 104) as 'Дата'
|
||
, FORMAT(DATEADD(year, -2000, [_Period]), 'yyyy') as 'Год'
|
||
, FORMAT(DATEADD(year, -2000, [_Period]), 'MM') as 'Месяц'
|
||
,case _RecordKind when 1 then -acc._Fld16165 / 1000 when 0 then acc._Fld16165 / 1000 end as 'Сумма'
|
||
,case _RecordKind when 1 then -acc._Fld16166 / 1000 when 0 then acc._Fld16166 / 1000 end as 'Сумма упр(приход)'
|
||
,case _RecordKind when 1 then -acc._Fld16167 / 1000 when 0 then acc._Fld16167 / 1000 end as 'Сумма регл(приход)'
|
||
, org._Description as 'organization'
|
||
, rs._Description as 'schet'
|
||
, 'Безнал' as 'type'
|
||
, (SELECT _DESCRIPTION FROM [MAG_2019].[dbo].[_Reference50] /*валюты*/ v WHERE v._IDRRef = rs._Fld18073RRef) as 'valuta'
|
||
, case acc._RecorderTRef
|
||
WHEN 0x000001FD THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document509 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
WHEN 0x000001E1 THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document481 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
WHEN 0x000001F1 THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document497 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
WHEN 0x00000181 THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document385 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
END as [Номер документа]
|
||
|
||
FROM [mag_2019].[dbo].[_AccumRg16162] acc /* регистр денежные средства б/н */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference198X1] org ON org._IDRRef = acc._Fld16163RRef/*справочник организации*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference47] rs ON rs._IDRRef = acc._Fld16164RRef/* справочник банковские счета */
|
||
--LEFT JOIN [mag_reports].[costs].[costs_groups] c ON c._IDRref = acc._Fld16171RRef /* статья ДДС */
|
||
LEFT JOIN [mag_pbi].[analytics].[Группы_статей_ДДС] c ON c.[1c_id] = acc._Fld16171RRef /* статья ДДС */
|
||
LEFT JOIN [mag_pbi].dbo.enums e ON e._IDRref = acc._Fld16170RRef AND e.enum = 'Хоз. операции'/*Перечисление хозяйственная операция*/
|
||
WHERE 1=1
|
||
--AND path not like '%Прочие перемещения ДС%'
|
||
-- WHERE path is not null
|
||
/*and path not like '%Сдача денежных средств в банк (в рублях)%'
|
||
and path not like '%Перевод ДС ИП - ЧП%'
|
||
and path not like '%Прочие перемещения ДС %'
|
||
and path not like '%Расходы | расход%'
|
||
*/
|
||
|
||
UNION all
|
||
|
||
SELECT
|
||
( SELECT _Description FROM [MAG_2019].dbo._Reference168 /* контрагенты */ WHERE _IDRRef =
|
||
(SELECT top 1 _Fld3891RRef FROM [MAG_2019].dbo._Document416 /* заявка на расход ДС */ d416 WHERE d416._IDRref = /*ro_tbl._Fld7773RRef*/
|
||
(SELECT top 1 _Document495_IDRRef FROM [MAG_2019].dbo._Document495_VT7759 ro_tbl /* Расходный кассовый ордер табл */ WHERE ro_tbl._Document495_IDRRef = ro._IDRRef )
|
||
)
|
||
)
|
||
as 'Получатель'
|
||
, c.[path] as 'path'
|
||
, case WHEN c.g1='Конвертация валюты' THEN 'Закупка' ELSE c.g END as g
|
||
, c.g1
|
||
, c.g2
|
||
, c.g3
|
||
, c.g4
|
||
, c.[Статья ддс] as 'Статья ДДС'
|
||
, CASE
|
||
WHEN CHARINDEX(N'_', [статья ддс]) > 0
|
||
THEN
|
||
CASE WHEN LEFT([статья ддс], CHARINDEX(N'_', [статья ддс]) - 1)='Макарова' THEN 'Шереметьевский' ELSE LEFT([статья ддс], CHARINDEX(N'_', [статья ддс]) - 1) END
|
||
ELSE [статья ддс]
|
||
END AS [префикс статьи]
|
||
, e.value as 'operation'
|
||
, convert(date, DATEADD(year, -2000, [_Period]), 104) as 'Дата'
|
||
, FORMAT(DATEADD(year, -2000, [_Period]), 'yyyy') as 'Год'
|
||
, FORMAT(DATEADD(year, -2000, [_Period]), 'MM') as 'Месяц'
|
||
,case _RecordKind when 1 then -_Fld16220 / 1000 when 0 then _Fld16220 / 1000 end as 'Сумма'
|
||
,case _RecordKind when 1 then -acc._Fld16221 / 1000 when 0 then acc._Fld16221 / 1000 end as 'Сумма упр(приход)'
|
||
,case _RecordKind when 1 then -acc._Fld16222 / 1000 when 0 then acc._Fld16222 / 1000 end as 'Сумма регл(приход)'
|
||
, org._Description
|
||
, k._Description
|
||
,'Наличные' as 'type'
|
||
,(SELECT _DESCRIPTION FROM [MAG_2019].[dbo].[_Reference50] /*валюты*/ v WHERE v._IDRRef = k._Fld20385RRef) as 'valuta'
|
||
, case acc._RecorderTRef
|
||
WHEN 0x000001EF THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document495 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
WHEN 0x000001E5 THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document485 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
WHEN 0x000001F1 THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document497 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
WHEN 0x00000181 THEN
|
||
(SELECT d._Number FROM MAG_2019.dbo._Document385 d WHERE d._IDRRef = acc._RecorderRRef )
|
||
END as [Номер документа]
|
||
FROM [mag_2019].[dbo].[_AccumRg16217] acc /* регистр денежные средства нал */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference198X1] org ON org._IDRRef = acc._Fld16218RRef/*справочник организации*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference147] k /* кассы */ ON k._IDRRef = acc._Fld16219RRef
|
||
|
||
--LEFT JOIN [mag_reports].[costs].[costs_groups] c ON c._IDRref = acc._Fld16224RRef
|
||
LEFT JOIN [mag_pbi].[analytics].[Группы_статей_ДДС] c ON c.[1c_id] = acc._Fld16224RRef /* статья ДДС */
|
||
LEFT JOIN [mag_pbi].dbo.enums e ON e._IDRref = acc._Fld16223RRef AND e.enum = 'Хоз. операции'/*Перечисление хозяйственная операция*/
|
||
|
||
LEFT JOIN [MAG_2019].dbo._Document495 ro /* Расходный кассовый ордер */ ON ro._IDRRef = acc._RecorderRRef
|
||
WHERE
|
||
1=1
|
||
--AND path not like '%Прочие перемещения ДС%'
|
||
--path is not null
|
||
/*and path not like '%Сдача денежных средств в банк (в рублях)%'
|
||
and path not like '%Перевод ДС ИП - ЧП%'
|
||
and path not like '%Прочие перемещения ДС %'
|
||
and path not like '%Расходы | расход%'*/
|
||
|
||
/*
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-01-01', 0, -652685 / 1000 , -652685 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-02-01', 0, -847900 / 1000 , -847900 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-03-01', 0, -856435 / 1000 ,- 856435 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-04-01', 0, -974905 / 1000 , -974905 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-05-01', 0, -977626 / 1000 , -977626 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-06-01', 0, -662517 / 1000 , -662517 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-07-01', 0, -748000 / 1000 , -748000 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-08-01', 0, -877971 / 1000 , -877971 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-09-01', 0, -946906 / 1000 , -946906 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-10-01', 0, -1325939 / 1000 , -1325939 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-11-01', 0, -1172364 / 1000 , -1172364 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2019-12-01', 0, -946108 / 1000 , -946108 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-01-01', 0, -955189 / 1000 , -955189 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-02-01', 0, -987967 / 1000 , -987967 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-03-01', 0, -1092812 / 1000 , -1092812 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-04-01', 0, -600712 / 1000 , -600712 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-05-01', 0, -886494 / 1000 , -886494 / 1000 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-06-01', 0, -950 , -950 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-07-01', 0, -958.5 , -958.5 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-08-01', 0, -987.2 , -987.2 , '', '', '', 'руб.', ''
|
||
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-09-01', 0, -1034 , -1034 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-10-01', 0, -1119 , -1119 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-11-01', 0, -1291 , -1291 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2020-12-01', 0, -1112 , -1112 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-01-01', 0, -1019 , -1019 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-02-01', 0, -1188 , -1188 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-03-01', 0, -1446 , -1446 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-04-01', 0, -1330 , -1330 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-05-01', 0, -927 , -927 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-06-01', 0, -1140 , -1140 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-07-01', 0, -881 , -881 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-08-01', 0, -1238 , -1238 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-09-01', 0, -1403 , -1403 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-10-01', 0, -1495 , -1495 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-11-01', 0, -1043 , -1043 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2021-12-01', 0, -1197 , -1197 , '', '', '', 'руб.', ''
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-01-01', 0, -1405 , -1405 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-02-01', 0, -1418 , -1418 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-03-01', 0, -1254 , -1254 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-04-01', 0, -1461 , -1461 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-05-01', 0, -1275 , -1275 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-06-01', 0, -1502 , -1502 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-07-01', 0, -1524 , -1524 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-08-01', 0, -1384 , -1384 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-09-01', 0, -1623 , -1623 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-10-01', 0, -1699 , -1699 , '', '', '', 'руб.', '' union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-11-01', 0, -1963 , -1963 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2022-12-01', 0, -1743 , -1743 , '', '', '', 'руб.', ''union all
|
||
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-01-01', 0, -1560 , -1560 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-02-01', 0, -1727 , -1727 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-03-01', 0, -2104 , -2104 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-04-01', 0, -1504 , -1504 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-05-01', 0, -1674 , -1674 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-06-01', 0, -1503 , -1503 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-07-01', 0, -1582 , -1582 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-08-01', 0, -1569 , -1569 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-09-01', 0, -2104 , -2104 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-10-01', 0, -2104 , -2104 , '', '', '', 'руб.', '' union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-11-01', 0, -2104 , -2104 , '', '', '', 'руб.', '' union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2023-12-01', 0, -2104 , -2104 , '', '', '', 'руб.', ''
|
||
|
||
union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-01-01', 0, -1611 , -1611 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-02-01', 0, -1759 , -1759 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-03-01', 0, -1853 , -1853 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-04-01', 0, -1718 , -1718 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-05-01', 0, -1516 , -1516 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-06-01', 0, -1682 , -1682 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-07-01', 0, -1669 , -1669 , '', '', '', 'руб.', ''union all
|
||
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-08-01', 0, -1669 , -1669 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-09-01', 0, -1709 , -1709 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-10-01', 0, -1899 , -1899 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-11-01', 0, -2228 , -2228 , '', '', '', 'руб.', ''union all
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2024-12-01', 0, -2320 , -2320 , '', '', '', 'руб.', ''
|
||
|
||
union all --2025
|
||
select '', 'Зарплата|Топы' , 'Зарплата', 'Топы', '', '', '', 'ТОП_Оплата труда', 'Выдача ДС подотчетнику', '2025-01-01', 0, -1604 , -1604 , '', '', '', 'руб.', ''--union all
|
||
*/
|
||
) as t
|
||
WHERE g <> 'Прочие перемещения ДС' AND [Статья ДДС] <> 'Закупка_Приобретение валюты'
|
||
GO
|
||
|
||
/****** Object: View [analytics].[nomenclature] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW analytics.nomenclature as
|
||
SELECT
|
||
LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),5,12) ))as artic_id
|
||
, n._IDRRef as '1c_id'
|
||
, n._Code as code
|
||
, CASE
|
||
WHEN n._Fld21101RRef=0x80C5305A3A00E12B11E5845202CA01FB THEN 'Рублевая'
|
||
WHEN n._Fld21101RRef=0x80C5305A3A00E12B11E584520AEC30EC THEN 'Валютная'
|
||
ELSE 'Неопределено'
|
||
END as cenovaya_gruppa
|
||
|
||
, n._Description as description /*Наименование*/
|
||
, n._Fld21043 as artic /*Артикул*/
|
||
, n._Fld21053RRef as vid_nomen
|
||
, cast( (SELECT _Description FROM [MAG_2019].[dbo].[_Reference260] pr WHERE pr._IDRRef = n._Fld21079RRef) as nvarchar(max)) as 'Производитель'
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),5,12) ))as group_id
|
||
|
||
, n._ParentIDRRef as '1c_group'
|
||
--, isnull(us._Description, 'Менеджер') as [manager]
|
||
|
||
, qr._Fld27045 as 'card'
|
||
, concat('https://media.magok.ru/', f._Fld21201) as 'photo'
|
||
, 2019 as base
|
||
, n._Fld21046 as [Знаменатель веса]
|
||
, n._Fld21049 as [Числитель веса]
|
||
|
||
, n._Fld21089 as [Знаменатель объема]
|
||
, n._Fld21092 as [Числитель объема]
|
||
, n._Fld33413 as [id magok]
|
||
|
||
|
||
, (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE n._IDRRef = up._OwnerID_RRRef) as 'Базовая упаковка'
|
||
, (select r._Description from [MAG_2019].[dbo].[_Reference69] /*виды ном*/ r WHERE r._IDRRef = n._Fld21053RRef) as [Вид номенклатуры]
|
||
|
||
from
|
||
[mag_2019].[dbo]._Reference188X1 n /*номенклатура*/
|
||
LEFT JOIN [mag_2019].[dbo].[_InfoRg27043X1] /* Регистр сведений QR коды */ qr ON qr._Fld27044RRef = n._IDRRef
|
||
LEFT JOIN [mag_2019].[dbo]._Reference191X1 f /*номенклатураПрисоедФайлы*/
|
||
ON f._IDRRef = n._Fld21086RRef
|
||
WHERE n._Folder = 1
|
||
GO
|
||
|
||
/****** Object: View [analytics].[v_contractors] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
-- -----------------------------------------------------------------------------
|
||
-- 1. Представления для списков из 1С
|
||
-- -----------------------------------------------------------------------------
|
||
|
||
-- Контрагенты: [pbi].[ПартнерыКонтрагенты] уже существует (из _Reference168)
|
||
-- Для удобства создаём представление analytics.v_contractors с search-friendly полями
|
||
|
||
CREATE VIEW [analytics].[v_contractors] AS
|
||
|
||
SELECT
|
||
c._IDRRef AS contractor_1c_id, -- бинарный ключ 1С
|
||
LOWER(CONCAT(
|
||
SUBSTRING(CONVERT(nvarchar(36), c._IDRRef, 2), 25, 8), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), c._IDRRef, 2), 21, 4), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), c._IDRRef, 2), 17, 4), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), c._IDRRef, 2), 1, 4), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), c._IDRRef, 2), 5, 12)
|
||
)) AS contractor_id, -- строковый id для API/поиска
|
||
c._Description AS contractor_name
|
||
FROM [MAG_2019].[dbo].[_Reference168] c
|
||
WHERE c._Marked = 0;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[v_deficit_scenario_status] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[v_deficit_scenario_status] AS
|
||
SELECT
|
||
fs.scenario_id,
|
||
fs.name,
|
||
fs.description,
|
||
(SELECT MAX(l.run_at) FROM [analytics].[deficit_run_log] l WHERE l.scenario_id = fs.scenario_id) AS deficit_last_run_at
|
||
FROM [analytics].[forecast_scenarios] fs
|
||
WHERE fs.active = 1;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[v_manufacturer_counterparty_mapping] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
-- Представление для API: map + manufacturer + contractor/producer (из 1С)
|
||
CREATE VIEW [analytics].[v_manufacturer_counterparty_mapping] AS
|
||
SELECT
|
||
mcm.id,
|
||
mcm.manufacturer_id,
|
||
p.producer_id,
|
||
man.manufacturer AS manufacturer_name,
|
||
mcm.contractor_1c_id,
|
||
c.contractor_id,
|
||
c.contractor_name AS contractor_name,
|
||
man.days_of_sales,
|
||
man.logistics_days,
|
||
man.roic_norm
|
||
FROM [analytics].[manufacturer_counterparty_map] mcm
|
||
LEFT JOIN [analytics].[manufacturers] man ON man.id = mcm.manufacturer_id
|
||
LEFT JOIN [analytics].[v_contractors] c ON c.contractor_1c_id = mcm.contractor_1c_id
|
||
LEFT JOIN [analytics].[v_producers] p ON LTRIM(RTRIM(p.producer_name)) = LTRIM(RTRIM(man.manufacturer));
|
||
GO
|
||
|
||
/****** Object: View [analytics].[v_manufacturers_roi_compat] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[v_manufacturers_roi_compat] AS
|
||
SELECT
|
||
man.id,
|
||
man.manufacturer,
|
||
man.roic_norm AS ROI_norm,
|
||
n_stage.[percent] / 100.0 AS n_percent,
|
||
n_stage.[days] AS n_days,
|
||
m_stage.[percent] / 100.0 AS m_percent,
|
||
m_stage.[days] AS m_days
|
||
FROM [analytics].[manufacturers] man
|
||
LEFT JOIN (
|
||
SELECT manufacturer_id, [percent], [days],
|
||
ROW_NUMBER() OVER (PARTITION BY manufacturer_id ORDER BY sort_order, [days]) AS rn
|
||
FROM [analytics].[manufacturer_payment_stage]
|
||
) n_stage ON n_stage.manufacturer_id = man.id AND n_stage.rn = 1
|
||
LEFT JOIN (
|
||
SELECT manufacturer_id, [percent], [days],
|
||
ROW_NUMBER() OVER (PARTITION BY manufacturer_id ORDER BY sort_order, [days]) AS rn
|
||
FROM [analytics].[manufacturer_payment_stage]
|
||
) m_stage ON m_stage.manufacturer_id = man.id AND m_stage.rn = 2;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[v_producers] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
-- Производители из справочника 1С _Reference260
|
||
CREATE VIEW [analytics].[v_producers] AS
|
||
SELECT
|
||
pr._IDRRef AS producer_1c_id, -- бинарный ключ 1С
|
||
LOWER(CONCAT(
|
||
SUBSTRING(CONVERT(nvarchar(36), pr._IDRRef, 2), 25, 8), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), pr._IDRRef, 2), 21, 4), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), pr._IDRRef, 2), 17, 4), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), pr._IDRRef, 2), 1, 4), '-',
|
||
SUBSTRING(CONVERT(nvarchar(36), pr._IDRRef, 2), 5, 12)
|
||
)) AS producer_id, -- строковый id для API/поиска
|
||
pr._Description AS producer_name
|
||
FROM [MAG_2019].[dbo].[_Reference260] pr
|
||
WHERE pr._Marked = 0;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Бюджет ДДС] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [analytics].[Бюджет ДДС] as
|
||
|
||
SELECT
|
||
DATEADD(year, -2000,[_Period]) as 'Месяц план'
|
||
, [_Fld28390RRef] as '1c_project_id'
|
||
--, CONVERT(VARCHAR(64), [_Fld28390RRef], 1)
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld28390RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28390RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28390RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28390RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28390RRef], 2),5,12) )) as 'project id'
|
||
,[_Fld28391] as 'Сумма'
|
||
, dds._Description as 'Статья ДДС'
|
||
, dds._IDRRef as '1c_dds_id'
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),5,12) )) as 'dds id'
|
||
, CASE budget._Fld33808Rref
|
||
WHEN 0xB3F668344C8DBA57427B6BC0D450CEA1 THEN 'Наличные'
|
||
WHEN 0xB5530D030E40BC264A41E266D1E84B1A THEN 'Безнал'
|
||
END as [Форма оплаты]
|
||
FROM [MAG_2019].[dbo].[_InfoRg28389] budget /* РегистрСведений.БюджетДДС */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference316] dds /*Справочник.СтатьиДвиженияДенежныхСредств*/ ON dds._IDRRef = budget.[_Fld33803RRef]
|
||
|
||
--WHERE _Active = 1
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Внешние остатки] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[Внешние остатки] as
|
||
SELECT nod._Description AS [Узел]
|
||
, ost._Fld33601 AS [Тип]
|
||
, ost._Fld33595 AS [Склад]
|
||
, DATEADD(YEAR, -2000, ost._Fld33596) AS [Дата обновления]
|
||
, [_Fld28683RRef] as [1c_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36),[_Fld28683RRef], 2),5,12) ))
|
||
as [artic_id]
|
||
, n.code AS [code]
|
||
, n.[1c_group] as [group_id]
|
||
, ost._Fld33599 AS [id_внешний]
|
||
, ost._Fld33602 AS [Количество]
|
||
, ost._Fld33603 AS [Доступное кол-во]
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg28682X1] AS ost /* РегистрСведений.ОстаткиТоваровВоВнешнихСистемах */
|
||
LEFT JOIN [mag_pbi].[pbi].[nomenclature] n ON n.[1c_id] = ost._Fld28683RRef /* Справочник.Номенклатура */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Node28072X1] nod ON nod._IDRRef = ost._Fld28684RRef /* ПланОбмена.ВнешниеСистемы */
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Где товар] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[Где товар] as
|
||
SELECT
|
||
[1c_id]
|
||
, [artic_id]
|
||
, [Где товар]
|
||
, quantity
|
||
FROM [analytics].[Товары на складах]
|
||
UNION ALL
|
||
SELECT
|
||
[1c_id]
|
||
, [artic_id]
|
||
, [Где товар]
|
||
, quantity
|
||
FROM [analytics].[Остатки МП]
|
||
UNION ALL
|
||
SELECT
|
||
[1c_id]
|
||
, [artic_id]
|
||
, [Где товар]
|
||
, Резерв as quantity
|
||
FROM [ostatki].[РезервыМПиОПТ]
|
||
|
||
UNION ALL
|
||
|
||
SELECT
|
||
[1c_id]
|
||
, [artic_id]
|
||
, [Где товар]
|
||
, Количество as quantity
|
||
FROM [pbi].[Заказо_в_пути]-- where [Номер заказа поставщику] = 'АНУТ-003313'
|
||
|
||
UNION ALL
|
||
|
||
SELECT
|
||
[1c_id]
|
||
, [artic_id]
|
||
, [Где товар]
|
||
, Количество as quantity
|
||
FROM [pbi].[Заказо_в_производстве]
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Где товар с упаковками] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view analytics.[Где товар с упаковками] as
|
||
SELECT [1c_id]
|
||
,t.[artic_id]
|
||
,[Где товар]
|
||
,[quantity] as Штук
|
||
, case WHEN upak.upakovka <>0 then t.quantity / upak.upakovka
|
||
else 0 END as Упаковок
|
||
, upak.вес
|
||
, Высота
|
||
, Глубина
|
||
, Ширина
|
||
, Объем
|
||
FROM [mag_pbi].[analytics].[Где товар] t
|
||
INNER JOIN [mag_pbi].[pbi].[БазоваяУпаковка] upak
|
||
ON t.[1c_id] = upak.[_IDRRef]
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Группы_статей_ДДС] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [analytics].[Группы_статей_ДДС] as
|
||
WITH DirectReports([Статья ддс], g, g1,g2,g3,g4,[1c_id],[id], [_ParentIDRRef], lvl, [path]/*Name, Title, EmployeeID, EmployeeLevel, Sort*/)
|
||
AS (SELECT
|
||
CONVERT(varchar(255), e.[_Description]),
|
||
CONVERT(varchar(255),e.[_Description]), --g
|
||
CONVERT(varchar(255),''), --g1
|
||
CONVERT(varchar(255),''), --g2
|
||
CONVERT(varchar(255),''), --g3
|
||
CONVERT(varchar(255),''), --g4
|
||
|
||
e._IDRRef,
|
||
LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), _IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),5,12) )),
|
||
e._ParentIDRRef,
|
||
1,
|
||
CONVERT(varchar(255), e.[_Description])
|
||
FROM [mag_2019].[dbo].[_Reference316] AS e
|
||
WHERE e._ParentIDRRef = 0x00000000000000000000000000000000 AND e._Marked = 0
|
||
UNION ALL
|
||
SELECT CONVERT(varchar(255), /*REPLICATE ('| ' , lvl) +*/ e._Description),
|
||
CONVERT(varchar(255),d.g),
|
||
/*g1*/ CASE lvl + 1 WHEN 2 THEN CONVERT(varchar(255),e._Description) ELSE CONVERT(varchar(255),d.g1) END,
|
||
/*g2*/ CASE lvl + 1 WHEN 3 THEN CONVERT(varchar(255),e._Description) ELSE CONVERT(varchar(255),d.g2) END,
|
||
/*g3*/ CASE lvl + 1 WHEN 4 THEN CONVERT(varchar(255),e._Description) ELSE CONVERT(varchar(255),d.g3) END,
|
||
/*g4*/ CASE lvl + 1 WHEN 5 THEN CONVERT(varchar(255),e._Description) ELSE CONVERT(varchar(255),d.g4) END,
|
||
|
||
e._IDRRef,
|
||
LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), _IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),5,12) )),
|
||
e._ParentIDRRef,
|
||
lvl + 1,
|
||
CONVERT (varchar(255), RTRIM(path) + ' | ' + e._Description)
|
||
FROM [mag_2019].[dbo].[_Reference316] AS e
|
||
INNER JOIN DirectReports AS d ON e._ParentIDRRef = d.[1c_id]
|
||
WHERE e._Marked = 0
|
||
)
|
||
SELECT *
|
||
FROM DirectReports
|
||
--ORDER BY Sort
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Заказы] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[Заказы]
|
||
AS
|
||
SELECT
|
||
DATEADD(YEAR, -2000, z._Date_Time) AS [Дата заказа поставщику],
|
||
z._Number AS [Номер заказа поставщику],
|
||
t._Fld3473RRef AS [1C_id],
|
||
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 5, 12)
|
||
) AS partner_id,
|
||
|
||
r._Description AS Контрагент,
|
||
|
||
CASE z._Fld3417RRef
|
||
WHEN 0xB9440E49408A17534955319EBF0DAE60 THEN 'Согласован'
|
||
WHEN 0x99FD3E66AA3EFB074984044D5A69CFD5 THEN 'В пути'
|
||
WHEN 0x973A5675AC6A17F64DA37EC6C22FC12C THEN 'Подтвержден'
|
||
WHEN 0xA55F81415BA33BC24A053ED26C6EC02E THEN 'Закрыт'
|
||
WHEN 0xA87A8B13710A30B447DFF1614E84D167 THEN 'В производстве'
|
||
WHEN 0x8542BD023FE7B70E4613087D853F26E4 THEN 'Тех. заказ'
|
||
WHEN 0xB38AD6232E2D17D44287D9924E5E6DF2 THEN 'На согласовании'
|
||
WHEN 0xB2A33CF1C7286AF3463F20D54AE5A0BC THEN 'Выгружен на складе'
|
||
ELSE 'Неизвестно'
|
||
END AS Статус,
|
||
|
||
t._Fld3473RRef AS nom_1c_id,
|
||
n._Description AS Наименование,
|
||
n._Code AS code,
|
||
n._Fld21043 AS Артикул,
|
||
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 5, 12)
|
||
) AS artic_id,
|
||
|
||
t._Fld3477 AS Количество,
|
||
CONVERT(decimal(10, 2), t._Fld3477 / pack.base_pack) AS [Кол. упаковок],
|
||
|
||
t._Fld3480 AS Цена,
|
||
t._Fld3481 AS Сумма,
|
||
|
||
g.g,
|
||
g.path,
|
||
|
||
v._Description AS Валюта,
|
||
CASE v._Description
|
||
WHEN 'USD' THEN _Fld3481 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency='USD2')
|
||
ELSE _Fld3481 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency=v._Description)
|
||
END AS 'Сумма в руб.',
|
||
|
||
CASE
|
||
WHEN z._Fld3420 < '4000' THEN DATEADD(MONTH, 4, GETDATE())
|
||
ELSE DATEADD(YEAR, -2000, z._Fld3420)
|
||
END
|
||
as 'Желаемая дата',
|
||
z._Fld3432 as 'Комментарий'
|
||
|
||
FROM MAG_2019.dbo._Document408X1 AS z -- Документ заказ поставщику
|
||
INNER JOIN MAG_2019.dbo._Document408_VT3470X1 AS t ON t._Document408_IDRRef = z._IDRRef -- табличная часть
|
||
LEFT JOIN MAG_2019.dbo._Reference215X1 AS p ON p._IDRRef = z._Fld3409RRef -- Справочник.Партнеры
|
||
LEFT JOIN MAG_2019.dbo._Reference168 AS r ON r._IDRRef = z._Fld3410RRef -- Справочник.Контрагенты
|
||
INNER JOIN MAG_2019.dbo._Reference188X1 AS n ON n._IDRRef = t._Fld3473RRef -- Номенклатура
|
||
LEFT JOIN MAG_2019.dbo._Reference50 AS v ON v._IDRRef = z._Fld3414RRef -- Справочник.Валюты
|
||
INNER JOIN pbi.groups AS g ON n._ParentIDRRef = g.[1c_id] -- группы
|
||
|
||
OUTER APPLY (
|
||
SELECT TOP 1
|
||
ISNULL(NULLIF(up.upakovka, 0), 1) AS base_pack
|
||
FROM pbi.БазоваяУпаковка up
|
||
WHERE up._OwnerID_RRRef = t._Fld3473RRef
|
||
) AS pack
|
||
|
||
WHERE
|
||
z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND t._Fld3491RRef = 0
|
||
--AND g NOT LIKE '*Внутр%'
|
||
--AND z._Fld3417RRef <> 0xA55F81415BA33BC24A053ED26C6EC02E /* Не закрыт */
|
||
--AND z._Fld3417RRef <> 0x8542BD023FE7B70E4613087D853F26E4 /* Не Тех. заказ */
|
||
--AND z._Fld3417RRef <> 0x973A5675AC6A17F64DA37EC6C22FC12C /* Не Подтвержден */
|
||
GO
|
||
|
||
/****** Object: View [analytics].[ЗаказыВЗаявках] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[ЗаказыВЗаявках]
|
||
AS
|
||
SELECT
|
||
CONVERT(date, DATEADD(YEAR, -2000, z._Date_Time)) AS [Дата заказа поставщику],
|
||
z._Number AS [Номер заказа поставщику],
|
||
|
||
/* заявка из ТЧ */
|
||
CASE WHEN za._IDRRef IS NOT NULL THEN t._Fld34117RRef END AS [Заявка_1c_id],
|
||
ISNULL(za._Number, N'Без заявки') AS [Номер заявки],
|
||
CASE
|
||
WHEN za._IDRRef IS NOT NULL THEN CONVERT(date, DATEADD(YEAR, -2000, za._Date_Time))
|
||
END AS [Дата заявки],
|
||
|
||
/* Контрагент (текст) */
|
||
r._Description AS [Контрагент],
|
||
|
||
/* cagent_id (строка GUID) из 1С-ссылки контрагента */
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 5, 12)
|
||
) AS cagent_id,
|
||
|
||
pc.partner_1cid,
|
||
pc.partner_id,
|
||
|
||
CASE z._Fld3417RRef
|
||
WHEN 0xB9440E49408A17534955319EBF0DAE60 THEN N'Согласован'
|
||
WHEN 0x99FD3E66AA3EFB074984044D5A69CFD5 THEN N'В пути'
|
||
WHEN 0x973A5675AC6A17F64DA37EC6C22FC12C THEN N'Подтвержден'
|
||
WHEN 0xA55F81415BA33BC24A053ED26C6EC02E THEN N'Закрыт'
|
||
WHEN 0xA87A8B13710A30B447DFF1614E84D167 THEN N'В производстве'
|
||
WHEN 0x8542BD023FE7B70E4613087D853F26E4 THEN N'Тех. заказ'
|
||
WHEN 0xB38AD6232E2D17D44287D9924E5E6DF2 THEN N'На согласовании'
|
||
WHEN 0xB2A33CF1C7286AF3463F20D54AE5A0BC THEN N'Выгружен на складе'
|
||
ELSE N'Неизвестно'
|
||
END AS [Статус],
|
||
|
||
/* номенклатура */
|
||
t._Fld3473RRef AS nom_1c_id,
|
||
|
||
/* nom_1c_id в нужном формате */
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 5, 12)
|
||
) AS artic_id,
|
||
|
||
n._Description AS [Наименование],
|
||
n._Code AS code,
|
||
n._Fld21043 AS [Артикул],
|
||
|
||
t._Fld3477 AS [Количество],
|
||
CONVERT(decimal(10, 2), t._Fld3477 / pack.base_pack) AS [Кол. упаковок],
|
||
|
||
t._Fld3480 AS [Цена],
|
||
t._Fld3481 AS [Сумма],
|
||
|
||
g.g,
|
||
g.path,
|
||
|
||
/* Валюта + Сумма в руб. */
|
||
v._Description AS [Валюта],
|
||
z._Fld3414RRef AS currency_id,
|
||
CASE v._Description
|
||
WHEN 'USD' THEN t._Fld3481 * (
|
||
SELECT rate
|
||
FROM [analytics].[Курсы валют на сегодня]
|
||
WHERE currency = 'USD2'
|
||
)
|
||
ELSE t._Fld3481 * (
|
||
SELECT rate
|
||
FROM [analytics].[Курсы валют на сегодня]
|
||
WHERE currency = v._Description
|
||
)
|
||
END AS [Сумма в руб.],
|
||
|
||
CASE
|
||
WHEN z._Fld3420 < '4000' THEN DATEADD(MONTH, 4, GETDATE())
|
||
ELSE DATEADD(YEAR, -2000, z._Fld3420)
|
||
END
|
||
as 'Желаемая дата'
|
||
|
||
FROM [MAG_2019].dbo._Document408X1 z -- Документ заказ поставщику
|
||
JOIN [MAG_2019].dbo._Document408_VT3470X1 t-- табличная часть
|
||
ON t._Document408_IDRRef = z._IDRRef
|
||
|
||
LEFT JOIN [MAG_2019].dbo._Document34036 za --заявки
|
||
ON za._IDRRef = t._Fld34117RRef
|
||
|
||
LEFT JOIN [MAG_2019].dbo._Reference168 r -- Справочник.Контрагенты
|
||
ON r._IDRRef = z._Fld3410RRef
|
||
|
||
LEFT JOIN [pbi].[ПартнерыКонтрагенты] pc
|
||
ON pc.cagent_id = LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 5, 12)
|
||
)
|
||
|
||
JOIN [MAG_2019].dbo._Reference188X1 n
|
||
ON n._IDRRef = t._Fld3473RRef
|
||
|
||
LEFT JOIN [MAG_2019].dbo._Reference50 v
|
||
ON v._IDRRef = z._Fld3414RRef
|
||
|
||
LEFT JOIN [pbi].[groups] g
|
||
ON n._ParentIDRRef = g.[1c_id]
|
||
|
||
OUTER APPLY (
|
||
SELECT TOP 1
|
||
ISNULL(NULLIF(up.upakovka, 0), 1) AS base_pack
|
||
FROM [pbi].[БазоваяУпаковка] up
|
||
WHERE up._OwnerID_RRRef = t._Fld3473RRef
|
||
) AS pack
|
||
|
||
WHERE
|
||
z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND t._Fld3491RRef = 0;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Заявки_без_проекта_неоплачено] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [analytics].[Заявки_без_проекта_неоплачено] as
|
||
SELECT [Номер заявки]
|
||
,[Дата создания]
|
||
,[Дата оплаты план]
|
||
,[Статус]
|
||
,[Валюта]
|
||
,[Статья ДДС]
|
||
,[1c_dds_id]
|
||
,[dds id]
|
||
,[Сумма]
|
||
,[Сумма в руб.]
|
||
,[Оплачено]
|
||
,[Хоз. операция]
|
||
,[Комментарий заявки]
|
||
,[Комментарий расшифровки]
|
||
,[Партнер]
|
||
,[Получатель]
|
||
,[Форма оплаты]
|
||
,[organization]
|
||
,[project id]
|
||
,[1c_project_id]
|
||
FROM [mag_pbi].[analytics].[Заявки_на_оплату_по_табличной_части]
|
||
WHERE [Оплачено]=0 AND [project id] is null AND [Дата оплаты план] >= '2024-06-01'
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Заявки_на_оплату] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[Заявки_на_оплату]
|
||
AS SELECT
|
||
[_Number] as 'Номер заявки'
|
||
, _Document416_IDRRef
|
||
,DATEADD(year, -2000, [_Fld3902]) as 'Дата оплаты план'
|
||
, CASE
|
||
WHEN [_Fld3880RRef]= 0x96388D3803D0E2B243682753FD602008 THEN 'Согласована'
|
||
WHEN [_Fld3880RRef] = 0xA53B783FB8E84C2D4A977FB197BB9B6A THEN 'Не согласована'
|
||
WHEN [_Fld3880RRef] = 0xB22A4A3C82F7B70D452E0F89A2703597 THEN 'К оплате'
|
||
WHEN [_Fld3880RRef] = 0x9EB3FD405C68C64C42B491437EDE1CAB THEN 'Отклонена'
|
||
END as 'Статус'
|
||
, [_Fld3882] as 'Сумма'
|
||
, case spv._Description
|
||
WHEN 'USD' THEN [_Fld3882] * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency='USD2')
|
||
ELSE [_Fld3882] * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency=spv._Description)
|
||
END
|
||
as 'Сумма в руб.'
|
||
, CASE WHEN (SELECT
|
||
SUM(CASE WHEN [_RecordKind] = 0 THEN [_Fld16211] ELSE -[_Fld16211] END) AS summ
|
||
FROM [MAG_2019].[dbo].[_AccumRg16206] -- РегистрНакопления.ДенежныеСредстваКВыплате
|
||
WHERE [_Fld16207_RRRef] = _Document416_IDRRef
|
||
) = 0 THEN 1 ELSE 0 END as 'Оплачено'
|
||
, spv._Description as 'Валюта документа'
|
||
,DATEADD(year, -2000, [_Date_Time]) as [Дата создания]
|
||
--,DATEADD(year, -2000, [_Fld3890]) as 'Дата оплаты желат'
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),5,12) ))as partner_id
|
||
, (SELECT _description FROM [mag_2019].[dbo]._Reference215X1 prt /*партнеры*/ WHERE prt._IDRRef = dr._Fld3957RRef) as 'Партнер'
|
||
, (SELECT _Description FROM [mag_2019].[dbo]._Reference168 kt /*контрагенты*/ WHERE kt._IDRRef = r._Fld3891RRef)as 'Получатель'
|
||
,[_Fld3900] as 'Комментарий'
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference316] dds /*Справочник.СтатьиДвиженияДенежныхСредств*/ WHERE dds._IDRRef = r._Fld3904RRef) as 'Статья ДДС'
|
||
, e.value as 'Хоз. операция'
|
||
FROM [MAG_2019].[dbo].[_Document416] r /*ЗаявкаНаРасходованиеДенежныхСредств */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Document416_VT3955] dr /*Документ.ЗаявкаНаРасходованиеДенежныхСредств.ТабличнаяЧасть.РасшифровкаПлатежа*/ ON r._IDRRef = dr._Document416_IDRRef
|
||
LEFT JOIN mag_pbi.pbi.enums e ON e._IDRref = r.[_Fld3881RRef] AND e.enum = 'Хоз. операции'/*Перечисление хозяйственная операция*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference50] spv ON spv._IDRRef = r.[_Fld3883RRef] /*Справочник.Валюты */
|
||
|
||
|
||
--LEFT JOIN [MAG_2019].[dbo].[_AccumRg16206]
|
||
WHERE /*[_Fld3881RRef]=0xB96DB293C2F88D8C46DF79811923F574 AND */ r.[_Posted] = 0x01 AND r._Marked = 0x00
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Заявки_на_оплату_по_табличной_части] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [analytics].[Заявки_на_оплату_по_табличной_части] as
|
||
SELECT
|
||
z._Number as 'Номер заявки'
|
||
--, z._Posted, z_t._Fld3964RRef, z._IDRRef
|
||
, DATEADD(year, -2000, z.[_Date_Time]) as [Дата создания]
|
||
--, DATEADD(year, -2000,z.[_Fld3902]) as 'Дата оплаты план'
|
||
--, CONVERT(datetime2, FORMAT(DATEADD(year, -2000, [_Fld3902]),'yyyy-MM-dd'), 120) as 'Дата оплаты план'
|
||
,DATEADD(year, -2000, [_Fld3902]) as 'Дата оплаты план'
|
||
, CASE
|
||
WHEN z.[_Fld3880RRef]= 0x96388D3803D0E2B243682753FD602008 THEN 'Согласована'
|
||
WHEN z.[_Fld3880RRef] = 0xA53B783FB8E84C2D4A977FB197BB9B6A THEN 'Не согласована'
|
||
WHEN z.[_Fld3880RRef] = 0xB22A4A3C82F7B70D452E0F89A2703597 THEN 'К оплате'
|
||
WHEN z.[_Fld3880RRef] = 0x9EB3FD405C68C64C42B491437EDE1CAB THEN 'Отклонена'
|
||
END as 'Статус'
|
||
, spv._Description as 'Валюта'
|
||
, dds._Description as 'Статья ДДС'
|
||
, dds._IDRRef as '1c_dds_id'
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), dds._IDRRef, 2),5,12) ))as 'dds id'
|
||
, z_t._Fld3959 as 'Сумма'
|
||
, case spv._Description
|
||
WHEN 'USD' THEN _Fld3959 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency='USD2')
|
||
ELSE _Fld3959 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency=spv._Description)
|
||
END
|
||
as 'Сумма в руб.'
|
||
, CASE WHEN (SELECT
|
||
SUM(CASE WHEN [_RecordKind] = 0 THEN [_Fld16211] ELSE -[_Fld16211] END) AS summ
|
||
FROM [MAG_2019].[dbo].[_AccumRg16206] -- РегистрНакопления.ДенежныеСредстваКВыплате
|
||
WHERE [_Fld16207_RRRef] = _Document416_IDRRef
|
||
) = 0 THEN 1 ELSE 0 END as 'Оплачено'
|
||
, e.value as 'Хоз. операция'
|
||
, z.[_Fld3900] as 'Комментарий заявки'
|
||
, z_t.[_Fld3968] as 'Комментарий расшифровки'
|
||
, (SELECT _description FROM [mag_2019].[dbo]._Reference215X1 prt /*партнеры*/ WHERE prt._IDRRef = z_t._Fld3957RRef) as 'Партнер'
|
||
, (SELECT _Description FROM [mag_2019].[dbo]._Reference168 kt /*контрагенты*/ WHERE kt._IDRRef = z._Fld3891RRef)as 'Получатель'
|
||
, case when org._Description = 'АНТУРАЖ ЛТД ООО' then 'Безнал' ELSE 'Наличные' END as 'Форма оплаты'
|
||
, org._Description as 'organization'
|
||
, p.id as 'project id'
|
||
, p.[1c_id] as '1c_project_id'
|
||
FROM [MAG_2019].[dbo].[_Document416_VT3955] z_t /*Документ.ЗаявкаНаРасходованиеДенежныхСредств.ТабличнаяЧасть.РасшифровкаПлатежа*/
|
||
INNER JOIN [MAG_2019].[dbo].[_Document416] z /* Документ.ЗаявкаНаРасходованиеДенежныхСредств */
|
||
ON z._IDRRef = z_t._Document416_IDRRef
|
||
LEFT JOIN mag_pbi.pbi.enums e ON e._IDRref = z.[_Fld3881RRef] AND e.enum = 'Хоз. операции'/*Перечисление хозяйственная операция*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference50] spv ON spv._IDRRef = z.[_Fld3883RRef] /*Справочник.Валюты */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference316] dds /*Справочник.СтатьиДвиженияДенежныхСредств*/ ON dds._IDRRef = z_t._Fld3964RRef
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference198X1] org ON org._IDRRef = z._Fld3879RRef/*справочник организации*/
|
||
LEFT JOIN [mag_pbi].[analytics].[Проекты] p
|
||
ON p.[1c_id] = [_Fld28407RRef]
|
||
WHERE z._Posted = 1 AND z._Marked = 0x00
|
||
AND z.[_Fld3880RRef] <> 0x9EB3FD405C68C64C42B491437EDE1CAB
|
||
GO
|
||
|
||
/****** Object: View [analytics].[ЗаявкиТовары] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[ЗаявкиТовары] AS
|
||
|
||
WITH req AS (
|
||
SELECT
|
||
z._IDRRef AS zayavka_id,
|
||
CONVERT(date, DATEADD(YEAR, -2000, z._Date_Time)) AS zayavka_date,
|
||
z._Number AS zayavka_number,
|
||
z._Fld34044RRef AS zayavka_status_ref,
|
||
z._Fld34039RRef AS partner_1c_id,
|
||
z._Fld34040RRef AS contractor_1c_id,
|
||
CONVERT(decimal(18, 2), z._Fld34051) AS summa_doc,
|
||
z._Fld34045RRef AS valuta_ref,
|
||
CASE
|
||
WHEN z._Fld34118 = '00010101' THEN NULL
|
||
ELSE CONVERT(date, DATEADD(YEAR, -2000, z._Fld34118))
|
||
END AS data_postupleniya,
|
||
t._LineNo34053 AS line_no,
|
||
t._Fld34054RRef AS nom_1c_id,
|
||
CONVERT(decimal(18, 3), t._Fld34056) AS qty_initial,
|
||
CONVERT(decimal(18, 2), t._Fld34059) AS summa_line
|
||
FROM MAG_2019.dbo._Document34036 z
|
||
JOIN MAG_2019.dbo._Document34036_VT34052 t ON t._Document34036_IDRRef = z._IDRRef
|
||
WHERE z._Posted = 1 AND z._Marked = 0
|
||
),
|
||
deduct AS (
|
||
SELECT
|
||
tpo._Fld34117RRef AS zayavka_id,
|
||
tpo._Fld3473RRef AS nom_1c_id,
|
||
SUM(CONVERT(decimal(18, 3), tpo._Fld3477)) AS qty_deduct
|
||
FROM MAG_2019.dbo._Document408X1 po
|
||
JOIN MAG_2019.dbo._Document408_VT3470X1 tpo ON tpo._Document408_IDRRef = po._IDRRef
|
||
WHERE
|
||
po._Posted = 1
|
||
AND po._Marked = 0
|
||
AND tpo._Fld3491RRef = 0
|
||
AND po._Fld3417RRef IN (
|
||
0x99FD3E66AA3EFB074984044D5A69CFD5, /* В пути */
|
||
0xA55F81415BA33BC24A053ED26C6EC02E, /* Закрыт */
|
||
0xB2A33CF1C7286AF3463F20D54AE5A0BC, /* Выгружен на складе */
|
||
0x97B9E76E7BCACEF3450504B1FAFC3230 /* Принят */
|
||
)
|
||
GROUP BY tpo._Fld34117RRef, tpo._Fld3473RRef
|
||
)
|
||
|
||
SELECT
|
||
r.zayavka_date AS [Дата заявки],
|
||
r.zayavka_number AS [Номер заявки],
|
||
CASE r.zayavka_status_ref
|
||
WHEN 0xB9D8F6098E165A4945FD453A8394D9A6 THEN N'Планируется'
|
||
WHEN 0x89144CF303169EA446E30A9CFAC257D1 THEN N'На согласовании'
|
||
WHEN 0x8734648F71AB3BE645DCAC11CF62F9AE THEN N'Выполнено'
|
||
WHEN 0xA6CC3F7ADAD37C7D473BFD1D132A96E8 THEN N'В производстве'
|
||
ELSE N'Неизвестно'
|
||
END AS [Статус заявки],
|
||
prt._Description AS [Партнер],
|
||
prt._IDRRef AS [Партнер ссылка],
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), prt._IDRRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), prt._IDRRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), prt._IDRRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), prt._IDRRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), prt._IDRRef, 2), 5, 12)
|
||
) AS partner_id,
|
||
ctg._Description AS [Контрагент],
|
||
val._Description AS [Валюта],
|
||
val._IDRRef AS [Валюта ссылка],
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), val._IDRRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), val._IDRRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), val._IDRRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), val._IDRRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), val._IDRRef, 2), 5, 12)
|
||
) AS val_id,
|
||
|
||
/* ── Сумма документа ── */
|
||
r.summa_doc AS [Сумма документа],
|
||
CASE val._Description
|
||
WHEN 'USD' THEN r.summa_doc *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = 'USD2')
|
||
ELSE r.summa_doc *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = val._Description)
|
||
END AS [Сумма документа в руб],
|
||
|
||
r.data_postupleniya AS [Дата поступления],
|
||
ISNULL(man.manufacturer, N'Не найдено') AS manufacturer,
|
||
ISNULL(man.ROI_norm, 136) / 100.0 AS roi_year_normalized,
|
||
man.n_percent,
|
||
man.n_days,
|
||
man.m_percent,
|
||
man.m_days,
|
||
r.line_no AS line_no,
|
||
r.nom_1c_id AS nom_1c_id,
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 5, 12)
|
||
) AS artic_id,
|
||
n._Description AS [Номенклатура],
|
||
n._Code AS code,
|
||
n._Fld21043 AS [Артикул],
|
||
g.g,
|
||
g.path,
|
||
|
||
/* ── Количество начальное ── */
|
||
r.qty_initial AS [Количество начальное],
|
||
CONVERT(decimal(18, 3), r.qty_initial / pack.base_pack)
|
||
AS [Кол. упаковок начальное],
|
||
|
||
/* ── Количество заказано (вычет) ── */
|
||
ISNULL(d.qty_deduct, 0) AS [Количество заказано (вычет)],
|
||
CONVERT(decimal(18, 3), ISNULL(d.qty_deduct, 0) / pack.base_pack)
|
||
AS [Кол. упаковок заказано (вычет)],
|
||
|
||
/* ── Количество текущее ── */
|
||
CONVERT(decimal(18, 3), r.qty_initial - ISNULL(d.qty_deduct, 0))
|
||
AS [Количество текущее],
|
||
CONVERT(decimal(18, 3), (r.qty_initial - ISNULL(d.qty_deduct, 0)) / pack.base_pack)
|
||
AS [Кол. упаковок текущее],
|
||
|
||
/* ── Сумма строки начальная ── */
|
||
r.summa_line AS [Сумма строки],
|
||
CASE val._Description
|
||
WHEN 'USD' THEN r.summa_line *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = 'USD2')
|
||
ELSE r.summa_line *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = val._Description)
|
||
END AS [Сумма строки в руб],
|
||
|
||
/* ── Сумма строки текущая (пропорционально текущему количеству) ── */
|
||
CASE
|
||
WHEN r.qty_initial = 0 THEN CONVERT(decimal(18, 2), 0)
|
||
ELSE CONVERT(decimal(18, 2),
|
||
r.summa_line / r.qty_initial * (r.qty_initial - ISNULL(d.qty_deduct, 0)))
|
||
END AS [Сумма строки текущая],
|
||
CASE val._Description
|
||
WHEN 'USD' THEN
|
||
CASE WHEN r.qty_initial = 0 THEN 0
|
||
ELSE r.summa_line / r.qty_initial * (r.qty_initial - ISNULL(d.qty_deduct, 0)) END *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = 'USD2')
|
||
ELSE
|
||
CASE WHEN r.qty_initial = 0 THEN 0
|
||
ELSE r.summa_line / r.qty_initial * (r.qty_initial - ISNULL(d.qty_deduct, 0)) END *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = val._Description)
|
||
END AS [Сумма строки текущая в руб]
|
||
|
||
FROM req r
|
||
JOIN MAG_2019.dbo._Reference188X1 n ON n._IDRRef = r.nom_1c_id
|
||
LEFT JOIN MAG_2019.dbo._Reference215X1 prt ON prt._IDRRef = r.partner_1c_id
|
||
LEFT JOIN MAG_2019.dbo._Reference168 ctg ON ctg._IDRRef = r.contractor_1c_id
|
||
LEFT JOIN MAG_2019.dbo._Reference50 val ON val._IDRRef = r.valuta_ref
|
||
LEFT JOIN analytics.manufacturer_counterparty_map map ON map.contractor_1c_id = r.contractor_1c_id
|
||
LEFT JOIN analytics.v_manufacturers_roi_compat man ON man.id = map.manufacturer_id
|
||
LEFT JOIN pbi.[groups] g ON n._ParentIDRRef = g.[1c_id]
|
||
OUTER APPLY (
|
||
SELECT TOP 1 ISNULL(NULLIF(up.upakovka, 0), 1) AS base_pack
|
||
FROM pbi.[БазоваяУпаковка] up
|
||
WHERE up._OwnerID_RRRef = r.nom_1c_id
|
||
) AS pack
|
||
LEFT JOIN deduct d ON d.zayavka_id = r.zayavka_id AND d.nom_1c_id = r.nom_1c_id;
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Курсы валют на сегодня] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******//*
|
||
SELECT TOP (1000) [_Period]
|
||
,[_Fld13219RRef]
|
||
,[_Fld13220]
|
||
,[_Fld13221]
|
||
--,[_Fld1150]
|
||
, r._Description
|
||
FROM [MAG_2019].[dbo].[_InfoRg13218] i
|
||
INNER JOIN [MAG_2019].[dbo].[_Reference50] r
|
||
ON i._Fld13219RRef = r._IDRRef
|
||
|
||
*/
|
||
CREATE VIEW analytics.[Курсы валют на сегодня] as
|
||
|
||
SELECT
|
||
r._Description as currency
|
||
,( SELECT top 1 [_Fld13220] FROM [MAG_2019].[dbo].[_InfoRg13218] i WHERE i._Fld13219RRef = r._IDRRef ORDER BY [_Period] DESC) as rate
|
||
FROM
|
||
[MAG_2019].[dbo].[_Reference50] r
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Ожидаемое_поступление] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [analytics].[Ожидаемое_поступление] as
|
||
SELECT
|
||
d._Number as [Номер]
|
||
, CONVERT(datetime2, FORMAT(DATEADD(year, -2000, [_Date_Time]),'yyyy-MM-dd'), 120) as [Дата поступления]
|
||
, CASE _Fld5074RRef
|
||
WHEN 0xB5530D030E40BC264A41E266D1E84B1A then 'Безнал'
|
||
WHEN 0xB3F668344C8DBA57427B6BC0D450CEA1 then 'Наличные'
|
||
ELSE 'Любая'
|
||
END as [Форма оплаты]
|
||
, d._Fld5070 / 1000 as 'Сумма'
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference316] dds /*Справочник.СтатьиДвиженияДенежныхСредств*/ WHERE dds._IDRRef = d._Fld5072RRef) as 'Статья ДДС'
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference198X1] org WHERE org._IDRRef = d._Fld5069RRef) as 'Организация'
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference50] spv /*Справочник.Валюты */ WHERE spv._IDRRef = d._Fld5071RRef) as 'Валюта документа'
|
||
, d._Fld5073 as 'Назначение платежа'
|
||
FROM MAG_2019.dbo._Document443 d /* Документ.ОжидаемоеПоступлениеДенежныхСредств */
|
||
WHERE d._Marked = 0x00 AND d._Posted = 0x01
|
||
|
||
/*
|
||
0xB5530D030E40BC264A41E266D1E84B1A безнал
|
||
0xB3F668344C8DBA57427B6BC0D450CEA1 нал
|
||
|
||
*/
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Ожидаемый расход] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [analytics].[Ожидаемый расход] as
|
||
|
||
SELECT
|
||
[Дата оплаты план]
|
||
,[Статья ДДС]
|
||
,[Сумма в руб.] / 1000 [Сумма в руб.]
|
||
,[Форма оплаты]
|
||
, 'Заявка' as [Тип]
|
||
, [Хоз. операция]
|
||
FROM [mag_pbi].[analytics].[Заявки_без_проекта_неоплачено]
|
||
|
||
UNION ALL
|
||
|
||
SELECT [Месяц план]
|
||
,[Статья ДДС]
|
||
,[Сумма] / 1000 [Сумма]
|
||
,[Форма оплаты]
|
||
, 'Бюджет' as [Тип]
|
||
, 'Бюджет' as [Хоз. операция]
|
||
FROM [mag_pbi].[analytics].[Бюджет ДДС]
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Остатки МП] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW analytics.[Остатки МП] as
|
||
SELECT
|
||
t.[Где товар],
|
||
t.artic_id,
|
||
t.[1c_id],
|
||
sum(t.quantity) as quantity
|
||
FROM (
|
||
select
|
||
case
|
||
WHEN CHARINDEX('Ozon', [Узел])>0 then 'Ozon'
|
||
WHEN CHARINDEX('WildBerries', [Узел])>0 then 'WildBerries'
|
||
END
|
||
as 'Где товар'
|
||
,
|
||
[1c_id],
|
||
[artic_id],
|
||
sum([Доступное кол-во]) as quantity
|
||
FROM [mag_pbi].[analytics].[Внешние остатки] as t
|
||
WHERE t.[Дата обновления] >= FORMAT(GETDATE(), 'yyyy-MM-dd')
|
||
group by Узел, [1c_id], [artic_id]
|
||
) as t
|
||
GROUP BY t.[Где товар],
|
||
t.artic_id,
|
||
t.[1c_id]
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Продажи_Учёт_Маржа_по_дням] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [analytics].[Продажи_Учёт_Маржа_по_дням]
|
||
AS
|
||
WITH base AS (
|
||
-- Продажи и учетная сумма (только Статья = 'Реализация')
|
||
SELECT
|
||
CAST(s.[Период] AS date) AS [d],
|
||
s.[1c_id],
|
||
s.Code,
|
||
SUM(CAST(s.[Сумма] AS decimal(38,6))) AS sales_sum,
|
||
SUM(CAST(s.[Учетная сумма, руб] AS decimal(38,6))) AS accounting_sum,
|
||
CAST(0 AS decimal(38,6)) AS ads_cost,
|
||
CAST(0 AS decimal(38,6)) AS order_cost
|
||
FROM [mag_pbi].[pbiProd].[СводныйСебестоимость Для PBI] AS s
|
||
WHERE s.[Статья] = N'Реализация'
|
||
GROUP BY CAST(s.[Период] AS date), s.[1c_id], s.Code
|
||
|
||
UNION ALL
|
||
|
||
-- Реклама (затраты)
|
||
SELECT
|
||
CAST(r.[Дата] AS date) AS [d],
|
||
r.[1c_id],
|
||
n.code,
|
||
CAST(0 AS decimal(38,6)) AS sales_sum,
|
||
CAST(0 AS decimal(38,6)) AS accounting_sum,
|
||
SUM(CAST(r.[Затраты, руб] AS decimal(38,6))) AS ads_cost,
|
||
CAST(0 AS decimal(38,6)) AS order_cost
|
||
FROM [mag_pbi].[pbi].[РекламаМаркетплейсы] AS r
|
||
INNER JOIN mag_pbi.pbi.nomenclature n ON r.[1c_id] = n.[1c_id]
|
||
GROUP BY CAST(r.[Дата] AS date), r.[1c_id],n.code
|
||
|
||
UNION ALL
|
||
|
||
|
||
-- Стоимость обработки заказа (затраты)
|
||
SELECT
|
||
CAST(o.[date] AS date) AS [d],
|
||
o.[1c_id],
|
||
n.code,
|
||
CAST(0 AS decimal(38,6)) AS sales_sum,
|
||
CAST(0 AS decimal(38,6)) AS accounting_sum,
|
||
CAST(0 AS decimal(38,6)) AS ads_cost,
|
||
SUM(CAST(o.[Сумма] AS decimal(38,6))) AS order_cost
|
||
FROM [mag_pbi].[pbi].[Стоимость обработки заказа] AS o
|
||
INNER JOIN pbi.nomenclature n ON o.[1c_id] = n.[1c_id]
|
||
GROUP BY CAST(o.[date] AS date), o.[1c_id], n.code
|
||
)
|
||
SELECT
|
||
b.[d],
|
||
b.[1c_id],
|
||
b.Code,
|
||
SUM(b.sales_sum) AS [Сумма продаж],
|
||
SUM(b.accounting_sum) AS [Учетная сумма],
|
||
SUM(b.ads_cost) AS [Затраты на рекламу],
|
||
SUM(b.order_cost) AS [Стоимость обработки],
|
||
-- «Чистая выручка» после вычета рекламных и обработочных затрат
|
||
(SUM(b.sales_sum) - SUM(b.ads_cost) - SUM(b.order_cost)) AS [Сумма продаж (нетто)],
|
||
-- Торговая надбавка = нетто-продажи минус учетная сумма
|
||
(SUM(b.sales_sum) - SUM(b.ads_cost) - SUM(b.order_cost) - SUM(b.accounting_sum)) AS [Торговая надбавка]
|
||
FROM base b
|
||
GROUP BY b.[d], b.[1c_id],b.Code;
|
||
|
||
|
||
|
||
/*
|
||
SELECT
|
||
[Период] --datetime2(0)
|
||
,[Статья]
|
||
,[1c_id]
|
||
,[Количество]
|
||
,[Сумма]
|
||
,[Учетная сумма, руб]
|
||
FROM [mag_pbi].[pbiProd].[СводныйСебестоимость Для PBI] s
|
||
WHERE s.Статья = N'Реализация'
|
||
|
||
SELECT
|
||
[Дата] --datetime2(0)
|
||
,[1c_id]
|
||
,[Затраты, руб]
|
||
FROM [mag_pbi].[pbi].[РекламаМаркетплейсы]
|
||
|
||
SELECT
|
||
[date] --datetime2(0)
|
||
,[1c_id]
|
||
,[Сумма]
|
||
FROM [mag_pbi].[pbi].[Стоимость обработки заказа]
|
||
*/
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Проекты] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
|
||
CREATE VIEW [analytics].[Проекты] as
|
||
SELECT
|
||
|
||
p.[_IDRRef] as '1c_id'
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),5,12) )) as 'id'
|
||
, us._Description as 'Ответственный'
|
||
,[_Code] as 'Код УТ'
|
||
,p.[_Description] as 'Название'
|
||
,[_Fld22715] as 'Завершен'
|
||
|
||
,[_Fld22711] as 'ПлановаяДатаНачала'
|
||
,[_Fld22712] as 'ДатаНачала'
|
||
,[_Fld22713] as 'ПлановаяДатаОкончания'
|
||
,[_Fld22714] as 'ДатаОкончания'
|
||
,[_Fld22716] as 'Комментарий'
|
||
|
||
FROM [MAG_2019].[dbo].[_Reference258] p /* Справочник.Проекты */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference228X1] us
|
||
ON us._IDRRef = [_Fld22710RRef]
|
||
WHERE p._Marked = 0
|
||
GO
|
||
|
||
/****** Object: View [analytics].[Товары на складах] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [analytics].[Товары на складах] as
|
||
SELECT
|
||
t._Fld17485RRef as [1c_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), t._Fld17485RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), t._Fld17485RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld17485RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld17485RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld17485RRef, 2),5,12) ))
|
||
as artic_id
|
||
, s._Description as sklad
|
||
, s.[Категория] as [Где товар]
|
||
, sum( [_Fld17491]*(case _RecordKind when 0 then 1 when 1 then -1 end) ) as quantity
|
||
FROM [mag_2019].[dbo].[_AccumRg17484] t /*регистр товары на складах*/
|
||
--INNER JOIN [mag_2019].[dbo]._Reference188X1 n /*номенклатура*/ ON n._IDRRef = t._Fld17485RRef
|
||
--INNER JOIN [mag_pbi].[pbi].[groups] g ON n._ParentIDRRef = g.[1c_id]
|
||
INNER JOIN [mag_pbi].[pbi].[sklad_2019] s /*склад*/ ON s._IDRRef = t._Fld17488RRef
|
||
WHERE s.[Категория]='Хранение' OR s.[Категория]='Фасовка' --g.path like 'Игрушки%'
|
||
GROUP BY t._Fld17485RRef, s._Description, s.[Категория]
|
||
GO
|
||
|
||
/****** Object: View [dbo].[tovar_bez_kontenta] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/** Беру свободные остатки, ищу товары больше нуля, присоединяю доп реквизиты и таблицу значений доп реквизитов, чтобы понять статус товара.
|
||
Далее соединяю с внешними файлами по ссылке номенклатуры из свободных остатков, беру 1 попавшуюся фотку, где null там нет фото, тоже самое делаю с ценами
|
||
соединяю свободные остатки с ценами номенклатуры выбираю по двум видам цен (валютка, рублевая) *
|
||
*Беру свободные остатки, ищу товары больше нуля, присоединяю доп реквизиты и таблицу значений доп реквизитов, чтобы понять статус товара.
|
||
Далее соединяю с внешними файлами по ссылке номенклатуры из свободных остатков, беру 1 попавшуюся фотку, где null там нет фото, тоже самое делаю с ценами
|
||
соединяю свободные остатки с ценами номенклатуры выбираю по двум видам цен (валютка, рублевая) **/
|
||
CREATE VIEW dbo.tovar_bez_kontenta
|
||
AS
|
||
SELECT SUM(CASE WHEN [_RecordKind] = 1 THEN - [_Fld17249] ELSE [_Fld17249] END) AS ВНаличии, ostatki._Fld17246RRef AS Номенклатура, tabznach._Description AS Статус, CASE WHEN photo._Fld21192RRef IS NULL
|
||
THEN 'Нет' ELSE 'Да' END AS НаличиеФото, CASE WHEN price._Fld15490RRef IS NULL THEN 'Нет' ELSE 'Да' END AS НаличиеЦены, CASE WHEN IdMP._Fld28244_RRRef IS NULL
|
||
THEN 'Нет' ELSE 'Да' END AS ЕстьИдМаркета
|
||
FROM MAG_2019.dbo._AccumRg17245 AS ostatki LEFT OUTER JOIN
|
||
(SELECT _Fld21138_RRRef, _Reference188_IDRRef
|
||
FROM MAG_2019.dbo._Reference188_VT21135X1
|
||
WHERE (_Fld21137RRef = 0x80DB0CC47A052DFD11E6E88DD05808D1)) AS DopRekv ON ostatki._Fld17246RRef = DopRekv._Reference188_IDRRef LEFT OUTER JOIN
|
||
MAG_2019.dbo._Reference133X1 AS tabznach ON DopRekv._Fld21138_RRRef = tabznach._IDRRef LEFT OUTER JOIN
|
||
(SELECT _Fld21192RRef, MIN(_IDRRef) AS FirstPhoto
|
||
FROM MAG_2019.dbo._Reference191X1
|
||
GROUP BY _Fld21192RRef) AS photo ON photo._Fld21192RRef = ostatki._Fld17246RRef LEFT OUTER JOIN
|
||
(SELECT _Fld15490RRef, MIN(_Period) AS FirstPrice
|
||
FROM MAG_2019.dbo._InfoRg15489
|
||
WHERE (_Fld15492RRef = 0x80C5305A3A00E12B11E58A143E5B131D) OR
|
||
(_Fld15492RRef = 0x80C5305A3A00E12B11E58A144F47AACF)
|
||
GROUP BY _Fld15490RRef) AS price ON price._Fld15490RRef = ostatki._Fld17246RRef LEFT OUTER JOIN
|
||
(SELECT _Fld28244_RRRef, MIN(_Fld28245RRef) AS FirstIdMP
|
||
FROM MAG_2019.dbo._InfoRg28243X1
|
||
GROUP BY _Fld28244_RRRef) AS IdMP ON IdMP._Fld28244_RRRef = ostatki._Fld17246RRef
|
||
WHERE (DopRekv._Fld21138_RRRef <> 0xAEACB496910DCFD611EA896A13FE2E89)
|
||
GROUP BY ostatki._Fld17246RRef, tabznach._Description, photo._Fld21192RRef, price._Fld15490RRef, IdMP._Fld28244_RRRef
|
||
HAVING (SUM(CASE WHEN [_RecordKind] = 1 THEN - [_Fld17249] ELSE [_Fld17249] END) > 0) AND (photo._Fld21192RRef IS NULL OR
|
||
price._Fld15490RRef IS NULL)
|
||
GO
|
||
|
||
/****** Object: View [dbo].[СтоимостьОпераций_Отбор] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW dbo.СтоимостьОпераций_Отбор
|
||
AS
|
||
/* формула (КолвоСтрокВОтборе/5000+КолвоУпаковокОтобранных/20000)/2*30000*/
|
||
SELECT rn_otbor.[_Period],
|
||
rn_otbor.[_RecorderRRef] AS ссылкаотбор,
|
||
rn_otbor.[_Fld17380RRef] AS номенклатура,
|
||
rn_otbor.[_Fld17387] AS отобраноЕдХр, /*COALESCE(_Fld24768,1) AS Числитель, --числитель из упаковки*/
|
||
(rn_otbor.[_Fld17387] / COALESCE (_Fld24768,1)) AS КолвоУпаковок, /*количество отобранного в упаковках*/
|
||
((COUNT(*) OVER (PARTITION BY rn_otbor.[_RecorderRRef]) / 5000.0 + (rn_otbor.[_Fld17387] / COALESCE (_Fld24768,1)) / 20000.0) / 2 * 30000) AS СтоимостьСборки /*формула от склада в начале*/
|
||
FROM [MAG_2019].[dbo].[_AccumRg17378] AS rn_otbor /*Рн ТоварыКОтбору*/
|
||
|
||
LEFT JOIN
|
||
(SELECT _OwnerID_RRRef,
|
||
_Fld24768
|
||
FROM
|
||
(SELECT _OwnerID_RRRef,
|
||
_Fld24768,
|
||
ROW_NUMBER() OVER (PARTITION BY _OwnerID_RRRef
|
||
ORDER BY _ParentIDRRef DESC) AS rn
|
||
FROM [MAG_2019].[dbo].[_Reference347X1] /*справочник упаковки единицы измерения*/
|
||
WHERE _Marked = 0x00/*не помечена на удаление*/) AS ranked
|
||
WHERE rn = 1) AS upak ON upak._OwnerID_RRRef = rn_otbor._Fld17380RRef
|
||
WHERE rn_otbor.[_RecordKind] = 0 /*толькоприходы*/
|
||
AND rn_otbor.[_RecorderTRef] = 0x000001C5 /*регистратор отбор*/
|
||
AND rn_otbor.[_Fld17387] > 0
|
||
GO
|
||
|
||
/****** Object: View [dbo].[СтоимостьОпераций_Фасовка] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Скрипт для команды SelectTopNRows из среды SSMS ******/
|
||
CREATE VIEW dbo.СтоимостьОпераций_Фасовка
|
||
AS
|
||
SELECT TOP (100) PERCENT _Period, _RecorderRRef AS ссылказаказнасборку, _Fld33653RRef AS номенклатура, _Fld33656 AS колворабот, _Fld33658 AS сумма, _Fld33658 / 2 AS стоимостьработыфасовщика
|
||
FROM MAG_2019.dbo._AccumRg33652
|
||
WHERE (_RecorderTRef = 0x00000197)
|
||
ORDER BY _Period DESC
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[OstatkiMarketSklad] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW ostatki.OstatkiMarketSklad
|
||
AS
|
||
WITH tabMain AS (SELECT _Fld28683RRef, _Fld28684RRef, MAX(_Fld33596) AS MaxDate
|
||
FROM MAG_2019.dbo._InfoRg28682X1 WITH (NOLOCK)
|
||
WHERE (_Fld33601 = 'Остатки')
|
||
GROUP BY _Fld28683RRef, _Fld28684RRef), FilteredRekv AS
|
||
(SELECT DISTINCT _Reference188_IDRRef
|
||
FROM MAG_2019.dbo._Reference188_VT21135X1 WITH (NOLOCK)
|
||
WHERE (_Fld21137RRef IN (0xAEC2B496910DCFD611EBE86B75A98522, 0xAEC3B496910DCFD611EC1BAAEA86F8FE)) AND (_Fld21138_L = 0x01))
|
||
SELECT nom._Code AS CodeUT, uzel._Description AS Uzel, ost._Fld33599 AS ID, SUM(ost._Fld33602) AS KolvoMarket, MAX(ISNULL(free.[в наличии], 0) - ISNULL(free.[В Резерве Со Склада], 0)
|
||
- ISNULL(free.[В Резерве Под Заказ], 0)) AS KolvoSklad
|
||
FROM tabMain AS tm INNER JOIN
|
||
MAG_2019.dbo._InfoRg28682X1 AS ost WITH (NOLOCK) ON ost._Fld28683RRef = tm._Fld28683RRef AND ost._Fld28684RRef = tm._Fld28684RRef AND ost._Fld33596 = tm.MaxDate INNER JOIN
|
||
MAG_2019.dbo._Reference188X1 AS nom WITH (NOLOCK) ON nom._IDRRef = tm._Fld28683RRef INNER JOIN
|
||
FilteredRekv AS rekv ON rekv._Reference188_IDRRef = nom._IDRRef LEFT OUTER JOIN
|
||
mag_reports.sklad.Свободные_остатки_срез AS free WITH (NOLOCK) ON free.[1c_id] = tm._Fld28683RRef AND free.[Категория склада] = 'Хранение' INNER JOIN
|
||
MAG_2019.dbo._Node28072X1 AS uzel WITH (NOLOCK) ON uzel._IDRRef = tm._Fld28684RRef
|
||
GROUP BY nom._Code, uzel._Description, ost._Fld33599
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[МаркировкаОчередьВРАботе] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/**Беру документ АТС маркировка, отбираю доки по статусам подготовлено и в работе, группирую по номенклатуре и складу,
|
||
суммирую количество, рассовываю количество по статусам (двум колонкам остатков) **/
|
||
CREATE VIEW ostatki.[МаркировкаОчередьВРАботе] as
|
||
SELECT
|
||
DocMarked.[_Fld27691RRef] AS Склад,
|
||
TabMarked.[_Fld27699RRef] AS Номенклатура,
|
||
|
||
-- колонка для доков в статусе подготовлено
|
||
SUM(CASE
|
||
WHEN DocMarked.[_Fld27692RRef] = 0x927BBCDBD4443FE64E798FCC81E07916
|
||
THEN TabMarked.[_Fld27703]
|
||
ELSE 0
|
||
END) AS [К выполнению],
|
||
|
||
-- колонка для доков в статусе в работе
|
||
SUM(CASE
|
||
WHEN DocMarked.[_Fld27692RRef] = 0xBB36C8856B7EF9644E3B3F5C0BAE134A
|
||
THEN TabMarked.[_Fld27703]
|
||
ELSE 0
|
||
END) AS [В работе]
|
||
|
||
FROM [MAG_2019].[dbo].[_Document27688] AS DocMarked -- Документ АТС Маркировка
|
||
|
||
LEFT JOIN [MAG_2019].[dbo].[_Document27688_VT27697] AS TabMarked -- Товары документа АТС Маркировка
|
||
ON DocMarked._IDRRef = TabMarked._Document27688_IDRRef
|
||
|
||
WHERE DocMarked.[_Posted] = 0x01 -- проведен да
|
||
AND (DocMarked._Fld27692RRef = 0x927BBCDBD4443FE64E798FCC81E07916 OR DocMarked._Fld27692RRef = 0xBB36C8856B7EF9644E3B3F5C0BAE134A )
|
||
|
||
GROUP BY
|
||
|
||
DocMarked.[_Fld27691RRef],
|
||
TabMarked.[_Fld27699RRef];
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[НаСогласовании] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Скрипт для команды SelectTopNRows из среды SSMS ******/
|
||
CREATE VIEW ostatki.[НаСогласовании] as
|
||
SELECT doc.[_IDRRef]
|
||
,DATEADD(YEAR,-2000,doc.[_Date_Time]) AS Дата
|
||
,DATEADD(YEAR,-2000,doc.[_Fld3420]) AS ЖелаемаяДатаПоступления
|
||
,doc.[_Number] AS НомерЗП
|
||
,doc.[_Fld3409RRef] AS Партнер
|
||
,doc.[_Fld3417RRef] AS Статус
|
||
,doc.[_Fld3431RRef] AS ХозОперация
|
||
,nomenk AS Номенклатура
|
||
,zakazano AS КЗаказу
|
||
FROM [mag_2019].[dbo].[_Document408X1] AS doc --документ ЗаказПоставщику
|
||
|
||
LEFT JOIN (SELECT --РН ЗаказыПоставщикам. Делаю группировку по номенклатуре и регистратору, чтобы просуммировать колонку с количеством (отмененные позиции делают доп движение с минусом)
|
||
_Fld16331RRef AS nomenk
|
||
,SUM(_Fld16335) AS zakazano
|
||
,_RecorderRRef AS link
|
||
FROM [mag_2019].[dbo].[_AccumRg16329]
|
||
GROUP BY _Fld16331RRef,_RecorderRRef
|
||
) AS zakaz
|
||
ON doc.[_IDRRef] = zakaz.link
|
||
|
||
LEFT JOIN [mag_2019].[dbo].[_AccumRg16344] AS zakupka --РН Закупка. Присоединено для проверки,что у заказа нет пту, далее фильтрация по регистратору из закупки по NULL
|
||
ON zakupka._Fld16357_RRRef = doc.[_IDRRef]
|
||
|
||
|
||
|
||
WHERE
|
||
doc.[_Posted] = 0x01 --проведен
|
||
AND
|
||
([_Fld3417RRef] = 0xB38AD6232E2D17D44287D9924E5E6DF2 OR [_Fld3417RRef] = 0xB9440E49408A17534955319EBF0DAE60 OR [_Fld3417RRef] = 0x973A5675AC6A17F64DA37EC6C22FC12C) --отборы по статусу ЗП, расшифровка ниже
|
||
--0xB38AD6232E2D17D44287D9924E5E6DF2 - на согласовании
|
||
--0xB9440E49408A17534955319EBF0DAE60 - согласован
|
||
--0x973A5675AC6A17F64DA37EC6C22FC12C - подтвержден
|
||
AND
|
||
zakupka._RecorderRRef IS NULL
|
||
|
||
|
||
|
||
|
||
|
||
--Считаю, что все, что в статусах "на согласовании", "согласован", "подтвержден" находится на согласовании, т.к. если согласовано, то либо впути, либо в производстве. Так же сделана доп.проверка, что на заказ нет ПТУ (Через РН Закупки)
|
||
--через РН закупки (получаю оформленные пту) по ссылке на заказ через соединение отсекаю лишнее,
|
||
--из закупок беру остаток, потом через аналитику тяну сслку на номенклатуру, проверяю в РН Товыра к поступлению по полям принимается и к оформлению распоряжений нулевые значения
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[ОчередьНаСборкуРазборку] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW ostatki.[ОчередьНаСборкуРазборку] as
|
||
/****** СборкиРазборки в очереди.Беру график поступления товаров, соединяю с товарами к поступлению и выбираю null записи ( в товары к поступлению есть движение только при статусе документа "К выполению", так же
|
||
при установке этого статуса создаются документы для сборки.******/
|
||
SELECT
|
||
|
||
график.[_Fld15654RRef] AS Номенклатура
|
||
,график.[_Fld15656RRef] AS Склад
|
||
,SUM(график.[_Fld15659]) AS Количество --Количество из заказов
|
||
|
||
|
||
FROM [MAG_2019].[dbo].[_AccumRg15653] AS график --РН ГрафикПоступленияТоваров
|
||
|
||
LEFT JOIN [MAG_2019].[dbo].[_AccumRg17465] AS кпоступлению -- РН ТоварыКПоступлению
|
||
ON график.[_RecorderRRef] = кпоступлению._Fld17466_RRRef
|
||
|
||
|
||
WHERE
|
||
график.[_RecorderTRef] = 0x00000197 -- тип регистратора ЗаказНаСборкуРазборку
|
||
AND кпоступлению._Fld17466_RRRef IS NULL
|
||
|
||
GROUP BY график.[_Fld15654RRef],график.[_Fld15656RRef]
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[РезервыМПиОПТ] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/**Беру РН СвободныеОстатки, считаю итоги в разрезе склада и номенклатуры, присоединяю заказклиента, чтобы получить хоз операцию, возможно надо хардкодить по клиентам, т.к помимо
|
||
МП есть еще 2 клиента**/
|
||
CREATE VIEW [ostatki].[РезервыМПиОПТ] as
|
||
SELECT
|
||
Номенклатура as [1c_id]
|
||
,LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), Номенклатура, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), Номенклатура, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), Номенклатура, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), Номенклатура, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), Номенклатура, 2),5,12) ))
|
||
as artic_id
|
||
, wharehouse_id
|
||
, ( SELECT s._Description FROM [mag_pbi].[pbi].[sklad_2019] s /*склад*/ WHERE s._IDRRef = wharehouse_id) as Склад
|
||
, sum([Резерв]) as [Резерв]
|
||
, [Где товар]
|
||
FROM (
|
||
SELECT
|
||
ostatki.[_Fld17246RRef] AS Номенклатура,
|
||
ostatki.[_Fld17248RRef] AS wharehouse_id,
|
||
|
||
--[_Fld17250] - колонка [В Резерве Со Склада] РН СвободныеОстатки
|
||
-- суммируем резервы мп
|
||
|
||
CASE WHEN ostatki.[_RecordKind] = 1 THEN -[_Fld17250] ELSE [_Fld17250] END as [Резерв],
|
||
|
||
CASE [_Fld3156RRef]
|
||
WHEN 0x9D3D5976F5C778CF4B2C4A59A606D3E5 THEN 'резервМП'
|
||
ELSE 'резервОПТ'
|
||
END as 'Где товар'
|
||
/*
|
||
CASE
|
||
WHEN [_Fld3156RRef] = 0x9D3D5976F5C778CF4B2C4A59A606D3E5 --хозоперация комиссия
|
||
THEN CASE WHEN ostatki.[_RecordKind] = 1 THEN -[_Fld17250] ELSE [_Fld17250] END
|
||
ELSE 0
|
||
END AS РезервМпСоСклада,
|
||
|
||
-- суммируем резервы опт
|
||
CASE
|
||
WHEN [_Fld3156RRef] = 0xA2130CEA734FC86C419139394DEC627E -- хозперация реализация
|
||
THEN CASE WHEN ostatki.[_RecordKind] = 1 THEN -[_Fld17250] ELSE [_Fld17250] END
|
||
ELSE 0
|
||
END AS ОптРезервыСоСклада*/
|
||
|
||
FROM
|
||
[MAG_2019].[dbo].[_AccumRg17245] AS ostatki --РН СвободныеОстатки
|
||
INNER JOIN [MAG_2019].[dbo].[_Document404X1] AS doczakaz
|
||
ON doczakaz._IDRRef = ostatki._RecorderRRef
|
||
WHERE ostatki.[_RecorderTRef] = 0x00000194 -- Только заказы клиентов
|
||
AND [_Fld17250] <> 0
|
||
)as t
|
||
|
||
GROUP BY Номенклатура, wharehouse_id, [Где товар]
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[СборкиРазборкиВРаботе] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Заказ на сборку разборку делает движение в РН Товары к поступлению в колонку КОформлениюНакладныхПоРаспоряжению, после оформления закрывающего документа СБОРКА
|
||
товаров появляется минусовое движение в ту же колонку******/
|
||
CREATE VIEW ostatki.[СборкиРазборкиВРаботе] as
|
||
SELECT
|
||
[_Fld17467RRef] AS Номенклатура
|
||
,[_Fld17470RRef] AS Склад
|
||
,SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17474]
|
||
ELSE [_Fld17474]
|
||
END) AS КОформлениюНакладныхПоРаспоряжению
|
||
|
||
FROM [MAG_2019].[dbo].[_AccumRg17465] --РН ТоварыКПоступлению
|
||
WHERE [_Fld17466_RTRef] = 0x00000197 -- где документ поступления(распоржения) = заказ на сборку разборку
|
||
|
||
|
||
|
||
GROUP BY [_Fld17467RRef],[_Fld17470RRef]
|
||
|
||
HAVING
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17474]
|
||
ELSE [_Fld17474]
|
||
END) != 0
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[СобираетсяИКСборке] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW ostatki.[СобираетсяИКСборке] as
|
||
SELECT
|
||
[_Fld17394RRef] AS Номенклатура
|
||
,[_Fld17391RRef] AS Склад,
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17402] --считаю итоги по колонке собирается
|
||
ELSE [_Fld17402]
|
||
END) AS ВOчереди,
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17403] --считаю итоги по колонке собрано
|
||
ELSE [_Fld17403]
|
||
END) AS Собирается
|
||
|
||
FROM [MAG_2019].[dbo].[_AccumRg17390] --РН ТоварыКОтгрузке
|
||
|
||
|
||
GROUP BY [_Fld17391RRef],[_Fld17394RRef] -- Группировка по складу и номенклатуре
|
||
|
||
HAVING --фильтрую нулевые
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17402]
|
||
ELSE [_Fld17402]
|
||
END) != 0
|
||
OR
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17403]
|
||
ELSE [_Fld17403]
|
||
END) != 0
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[СобраноНеОплачено] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/**Беру регистр товары к отгрузке, группирую по полям, считаю итог по колонке к отгрузке (РСО в статусе отгрузке) товар упакован
|
||
Тоже самое делаю с расчетами клиентов, подсчитываю итог к оплате и внутренним соединением отбираю записи по которым итог оплаты <> 0**/
|
||
|
||
CREATE VIEW [ostatki].[СобраноНеОплачено] as
|
||
/**Беру регистр товары к отгрузке, группирую по полям, считаю итог по колонке к отгрузке (РСО в статусе отгрузке) товар упакован
|
||
Тоже самое делаю с расчетами клиентов, подсчитываю итог к оплате и внутренним соединением отбираю записи по которым итог оплаты <> 0**/
|
||
|
||
SELECT
|
||
[_Fld17391RRef] AS Склад
|
||
,[_Fld17393_RRRef] AS ДокументОтгрузки
|
||
,[_Fld17394RRef] AS Номенклатура
|
||
,SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17399] -- считаю итоги
|
||
ELSE [_Fld17399]
|
||
END) AS КОтгрузке
|
||
FROM [MAG_2019].[dbo].[_AccumRg17390] AS otgruzka --РН ТоварыКОтгрузке
|
||
|
||
JOIN (
|
||
SELECT
|
||
_Fld17136_RRRef AS ЗаказКлиента,
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -_Fld17139 --К оплате
|
||
ELSE _Fld17139
|
||
END ) AS Оплачивается
|
||
FROM [MAG_2019].[dbo]._AccumRg17134 --РН РасчетыСКлиентами
|
||
GROUP BY _Fld17136_RRRef
|
||
) AS oplata
|
||
ON oplata.ЗаказКлиента = otgruzka.[_Fld17393_RRRef]
|
||
|
||
WHERE
|
||
[_Fld17392_RTRef] = 0x000000D7 --отбор по типу ЗаказКлиента
|
||
--AND
|
||
-- [_Fld17393_RRRef] = 0x89910B421F3F9FD34C8BBD4F8B7C855A
|
||
|
||
GROUP BY
|
||
[_Fld17391RRef], [_Fld17394RRef], [_Fld17393_RRRef] --группировка по складу, документу отгрузки и номенклатуре
|
||
|
||
HAVING
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17399] --выбираю записи где к отгрузке больше нуля
|
||
ELSE [_Fld17399]
|
||
END) > 0
|
||
AND
|
||
SUM(oplata.Оплачивается) <> 0 -- фильтруем по к оплате клиента
|
||
GO
|
||
|
||
/****** Object: View [ostatki].[ТоварыВПеремещении] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Заказ на перемещение делает движение в РН Товары к поступлению в колонку КОформлениюНакладныхПоРаспоряжению, после оформления закрывающего документа ПЕРЕМЕЩЕНЕ
|
||
товаров появляется минусовое движение в ту же колонку******/
|
||
CREATE VIEW ostatki.[ТоварыВПеремещении] as
|
||
SELECT
|
||
[_Fld17467RRef] AS Номенклатура
|
||
,[_Fld17470RRef] AS Склад
|
||
,SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17474]
|
||
ELSE [_Fld17474]
|
||
END) AS КОформлениюНакладныхПоРаспоряжению
|
||
|
||
FROM mag_2019.[dbo].[_AccumRg17465] --РН ТоварыКПоступлению
|
||
WHERE [_Fld17466_RTRef] = 0x00000196 -- где документ поступления(распоржения) = заказ на перемещение
|
||
|
||
|
||
|
||
GROUP BY [_Fld17467RRef],[_Fld17470RRef]
|
||
|
||
HAVING
|
||
SUM(CASE
|
||
WHEN [_RecordKind] = 1 THEN -[_Fld17474]
|
||
ELSE [_Fld17474]
|
||
END) != 0
|
||
GO
|
||
|
||
/****** Object: View [pbi].[groups_view] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view pbi.[groups]
|
||
as
|
||
WITH DirectReports(_Description, g, g1, g2, g3, [_IDRRef], [_ParentIDRRef], lvl, [path], [code]/*Name, Title, EmployeeID, EmployeeLevel, Sort*/)
|
||
AS (SELECT
|
||
CONVERT(varchar(255), e.[_Description]),
|
||
CONVERT(varchar(255),e.[_Description]),
|
||
CONVERT(varchar(255),''), --g1
|
||
CONVERT(varchar(255),''), --g2
|
||
CONVERT(varchar(255),''), --g3
|
||
|
||
e._IDRRef,
|
||
e._ParentIDRRef,
|
||
1,
|
||
CONVERT(varchar(255), e.[_Description]),
|
||
e._Code
|
||
FROM [mag_2019].[dbo]._Reference188X1 AS e
|
||
WHERE e._ParentIDRRef = 0x00000000000000000000000000000000 AND _Description <> '' /*AND _Marked = 0 */AND _Folder = 0x00
|
||
UNION ALL
|
||
SELECT CONVERT(varchar(255), /* REPLICATE ('| ' , lvl) + */ e._Description),
|
||
CONVERT(varchar(255),d.g),
|
||
/*g1*/ CASE lvl + 1 WHEN 2 THEN CONVERT(varchar(255),e._Description) ELSE CONVERT(varchar(255),d.g1) END,
|
||
/*g2*/ CASE lvl + 1 WHEN 3 THEN CONVERT(varchar(255),e._Description) ELSE CONVERT(varchar(255),d.g2) END,
|
||
/*g3*/ CASE lvl + 1 WHEN 4 THEN CONVERT(varchar(255),e._Description) ELSE CONVERT(varchar(255),d.g3) END,
|
||
|
||
e._IDRRef,
|
||
e._ParentIDRRef,
|
||
lvl + 1,
|
||
CONVERT (varchar(255), RTRIM(path) + ' | ' + e._Description),
|
||
e._Code
|
||
FROM [mag_2019].[dbo]._Reference188X1 AS e
|
||
INNER JOIN DirectReports AS d ON e._ParentIDRRef = d._IDRRef
|
||
WHERE e._Description <> '' /*AND _Marked = 0 */ AND _Folder = 0x00
|
||
)
|
||
SELECT _Description, g, g1, g2, g3
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),5,12) )) as group_id
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), n._ParentIDRRef, 2),5,12) )) as '_ParentIDRRef'
|
||
|
||
--, convert(uniqueidentifier, [_IDRRef]) as group_id
|
||
--, convert(uniqueidentifier, [_ParentIDRRef]) as [_ParentIDRRef]
|
||
, lvl, [path]
|
||
, code
|
||
, n._IDRRef as [1c_id]
|
||
FROM DirectReports n
|
||
--ORDER BY Sort
|
||
GO
|
||
|
||
/****** Object: View [pbi].[node_mp] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[node_mp] AS
|
||
|
||
SELECT v._Description as [Узел],
|
||
o._Description as [Организация],
|
||
CASE
|
||
WHEN v._Description LIKE '%Ozon%' THEN 'a93dedda-0616-11e6-80de-305a3a00e12b'
|
||
WHEN v._Description LIKE '%WildBerries%' THEN '51fd191e-bf7d-11e5-80c9-305a3a00e12b'
|
||
END AS [partner_id]
|
||
|
||
FROM [MAG_2019].[dbo].[_Node28072X1] v /* Внешние системы */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference198X1] o /* Справочник.Организации */ ON v._Fld28430RRef = o._IDRRef
|
||
WHERE v._Description LIKE '%Ozon%'
|
||
OR v._Description LIKE '%WildBerries%'
|
||
GO
|
||
|
||
/****** Object: View [pbi].[nomeclature_for_pbi] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[nomeclature_for_pbi] as
|
||
SELECT
|
||
n.[artic_id]
|
||
,n.[1c_id]
|
||
,n.[code]
|
||
,n.[cenovaya_gruppa]
|
||
,n.[description]
|
||
,n.[artic]
|
||
,n.[vid_nomen]
|
||
,n.[Производитель]
|
||
,n.[group_id]
|
||
,n.[1c_group]
|
||
,n.[card]
|
||
,n.[photo]
|
||
,n.[base]
|
||
,n.[Знаменатель веса]
|
||
,n.[Числитель веса]
|
||
,n.[Знаменатель объема]
|
||
,n.[Числитель объема]
|
||
,n.[Количество упак в коробе]
|
||
,n.[Количество упак в кванте]
|
||
,n.[id magok]
|
||
,n.[Товарныйменеджера]
|
||
,n.[МенеджерПоЗакупкам2]
|
||
,n.[РуководительНаправления]
|
||
,n.[Менеджер OZON]
|
||
,n.[Менеджер WB]
|
||
,n.[АБС статус]
|
||
,n.[АБС план]
|
||
,n.[ABC Парето]
|
||
,n.[XYZ статус 12м]
|
||
,n.[Комментарий для матрицы]
|
||
,n.[Коллекция]
|
||
,n.[Ценовой сегмент Магок]
|
||
,n.[Ценовой сегмент МП]
|
||
,n.[Кол-во упак в заказе Магок]
|
||
,n.[Бренд]
|
||
,n.[Тип товара]
|
||
,n.[Метка]
|
||
,n.[Ширина, мм]
|
||
,n.[Цвет]
|
||
,n.[Номер цвета]
|
||
,n.[Тип шнура]
|
||
,n.[Тип плетения]
|
||
,n.[Размер]
|
||
,n.[Особенность]
|
||
,n.[Форма]
|
||
,n.[Ширина]
|
||
,n.[Формат упаковки]
|
||
,n.[Макс. запас]
|
||
,n.[Мин. запас]
|
||
,n.[QTY PACKS]
|
||
,n.[Да/Нет Собственное пр-во]
|
||
,n.[ID OZON]
|
||
,n.[ID WB]
|
||
,n.[WB]
|
||
,n.[Ozon]
|
||
,n.[СТМ]
|
||
,n.[Выгружать на я.маркет]
|
||
,n.[Выгружать в Google Merchant]
|
||
,n.[Товар МП]
|
||
,n.[Неликвид]
|
||
,n.[Статус]
|
||
,n.[Сквозной цвет]
|
||
,n.[Базовая упаковка]
|
||
,n.[Качество контента Ozon]
|
||
,n.[Качество контента WB]
|
||
,n.[Качество контента WB by Ozon]
|
||
,n.[Качество контента Magok]
|
||
,n.[Вид номенклатуры]
|
||
,n.[max_year_quantity]
|
||
,n.[max_quarter_quantity]
|
||
,n.[Цена учетная, руб]
|
||
,n.[Цена учетная, usd]
|
||
,n.[СредниеМесячныеПродажи]
|
||
,n.[СКО_МесячныхПродаж]
|
||
--,n.[minAvailableQty10]
|
||
,n.[minAvailableQty]
|
||
|
||
--,analytics.[1c_id]
|
||
--,analytics.[Code]
|
||
, [Продано шт]
|
||
, [Остаток дней продаж]
|
||
, [Дней в продаже / год]
|
||
, [Дней в продаже / квартал]
|
||
, [Продажи / квартал, руб.]
|
||
, [Продажи шт / день]
|
||
--, [Продажи шт / день опт]
|
||
--, [Остаток дней продаж опт]
|
||
, [Продажи / год, руб.]
|
||
, [ТН / год, руб.]
|
||
, [ТН / квартал, руб.]
|
||
, [ТН / месяц, руб.]
|
||
, [Стоимость МП год, руб.]
|
||
, [%ТН год, руб.]
|
||
, [учетная сумма / год, руб.]
|
||
, [учетная сумма / квартал, руб.]
|
||
, [Оплаченный остаток]
|
||
, [Рентабельность / год]
|
||
, [Рентабельность / квартал]
|
||
, [Рентабельность / будущий год]
|
||
--, [Рентабельность по остатку / год]
|
||
--, [Рентабельность по остатку / квартал]
|
||
--, [Рентабельность по остатку / будущий год]
|
||
|
||
|
||
FROM mag_pbi.pbi.nomenclature n
|
||
LEFT JOIN [mag_pbi].[analytics].[аналитика за 365 дн.] analytics /* Аналитика за 365 дн */ ON analytics.[1c_id] = n.[1c_id]
|
||
GO
|
||
|
||
/****** Object: View [pbi].[sklad_2019] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view pbi.[sklad_2019] as
|
||
SELECT [_IDRRef]
|
||
,[_Description]
|
||
, case [_Fld28161RRef]
|
||
when 0x8B77E59222988E024EF951B150F9CF19 then 'Хранение'
|
||
when 0x97043CB3EDC3B7064C08D641662E9C0E then 'Фасовка'
|
||
when 0xB710CAB5DA47384D4182043584307EE3 then 'Розничная точка'
|
||
when 0xBE296DC2882AAAC94C381C08FD79DA2D then 'Виртуальный'
|
||
else 'Неопределено'
|
||
end
|
||
as [Категория]
|
||
FROM [MAG_2019].[dbo].[_Reference298X1]
|
||
where _folder = 1 AND _Marked = 0
|
||
--WHERE [_Fld28161RRef] = 0x8B77E59222988E024EF951B150F9CF19
|
||
GO
|
||
|
||
/****** Object: View [pbi].[users_1C] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
|
||
CREATE view [pbi].[users_1C] AS
|
||
|
||
/* н( добавляем подразделение
|
||
select
|
||
_IDRRef as [1c_id]
|
||
,LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), _IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), _IDRRef, 2),5,12) ))as [user_id]
|
||
, _Description as [user]
|
||
from [MAG_2019].[dbo].[_Reference228X1] us7 /* Пользователи */
|
||
*/
|
||
|
||
select
|
||
us7._IDRRef as [1c_id]
|
||
,LOWER
|
||
(
|
||
CONCAT
|
||
(
|
||
SUBSTRING(convert(nvarchar(36), us7._IDRRef, 2),25,8),
|
||
'-',
|
||
SUBSTRING(convert(nvarchar(36), us7._IDRRef, 2),21,4),
|
||
'-',
|
||
SUBSTRING(convert(nvarchar(36), us7._IDRRef, 2),17,4),
|
||
'-',
|
||
SUBSTRING(convert(nvarchar(36), us7._IDRRef, 2),1,4),
|
||
'-',
|
||
SUBSTRING(convert(nvarchar(36), us7._IDRRef, 2),5,12)
|
||
)
|
||
)as [user_id]
|
||
, us7._Description as [user]
|
||
, podr._Description as [podr]
|
||
, (SELECT par._Description FROM [MAG_2019].[dbo].[_Reference319] par
|
||
WHERE podr._ParentIDRRef = par._IDRRef) as [higher_podr]
|
||
|
||
from [MAG_2019].[dbo].[_Reference228X1] us7 /* Пользователи */
|
||
left join [MAG_2019].[dbo].[_Reference319] podr
|
||
on us7._Fld22183RRef = podr._IDRRef
|
||
|
||
/* н) */
|
||
GO
|
||
|
||
/****** Object: View [pbi].[v_nomenclature_full] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[v_nomenclature_full]
|
||
AS
|
||
WITH ref188 AS (
|
||
SELECT
|
||
n._Code,
|
||
n._IDRRef,
|
||
n._Fld28142
|
||
FROM MAG_2019.dbo._Reference188X1 AS n
|
||
WHERE n._Fld21101RRef IN (
|
||
0x80C5305A3A00E12B11E5845202CA01FB,
|
||
0x80C5305A3A00E12B11E584520AEC30EC
|
||
)
|
||
),
|
||
up_min AS (
|
||
-- минимальная упаковка для Owner, только для номенклатур где _Fld28142 = 0
|
||
SELECT
|
||
a._OwnerID_RRRef,
|
||
a._Fld24768 AS upakovka,
|
||
a._Fld24761 AS Вес,
|
||
a._Fld24763 AS Высота,
|
||
a._Fld24765 AS Глубина,
|
||
a._Fld24775 AS Ширина,
|
||
a._Fld24771 AS Объем
|
||
FROM MAG_2019.dbo._Reference347X1 AS a
|
||
LEFT JOIN MAG_2019.dbo._Reference347X1 AS b
|
||
ON b._OwnerID_RRRef = a._OwnerID_RRRef
|
||
AND a._Fld24768 > b._Fld24768
|
||
AND a._Marked = 0x00
|
||
AND b._Marked = 0x00
|
||
INNER JOIN ref188 AS r
|
||
ON r._IDRRef = a._OwnerID_RRRef
|
||
AND r._Fld28142 = 0
|
||
WHERE b._Fld24768 IS NULL
|
||
AND a._Marked = 0x00
|
||
),
|
||
up_max AS (
|
||
-- максимальная упаковка для Owner, только для номенклатур где _Fld28142 <> 0
|
||
SELECT
|
||
a._OwnerID_RRRef,
|
||
a._Fld24768 AS upakovka,
|
||
a._Fld24761 AS Вес,
|
||
a._Fld24763 AS Высота,
|
||
a._Fld24765 AS Глубина,
|
||
a._Fld24775 AS Ширина,
|
||
a._Fld24771 AS Объем
|
||
FROM MAG_2019.dbo._Reference347X1 AS a
|
||
LEFT JOIN MAG_2019.dbo._Reference347X1 AS b
|
||
ON b._OwnerID_RRRef = a._OwnerID_RRRef
|
||
AND a._Fld24768 < b._Fld24768
|
||
AND a._Marked = 0x00
|
||
AND b._Marked = 0x00
|
||
INNER JOIN ref188 AS r
|
||
ON r._IDRRef = a._OwnerID_RRRef
|
||
AND r._Fld28142 <> 0
|
||
WHERE b._Fld24768 IS NULL
|
||
AND a._Marked = 0x00
|
||
),
|
||
up AS (
|
||
SELECT * FROM up_min
|
||
UNION ALL
|
||
SELECT * FROM up_max
|
||
),
|
||
ref1c AS (
|
||
SELECT
|
||
r._Code AS code,
|
||
r._IDRRef,
|
||
up._OwnerID_RRRef,
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 25, 8) + N'-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 21, 4) + N'-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 17, 4) + N'-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 1, 4) + N'-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r._IDRRef, 2), 5, 12)
|
||
) AS artic_id,
|
||
up.upakovka,
|
||
up.Вес,
|
||
up.Высота,
|
||
up.Глубина,
|
||
up.Ширина,
|
||
up.Объем
|
||
FROM ref188 AS r
|
||
LEFT JOIN up
|
||
ON up._OwnerID_RRRef = r._IDRRef
|
||
),
|
||
bc AS (
|
||
SELECT
|
||
_Fld15521RRef AS _IDRRef,
|
||
STRING_AGG(barcode, N'; ') AS barcodes
|
||
FROM (
|
||
SELECT DISTINCT
|
||
i._Fld15521RRef,
|
||
CONVERT(nvarchar(64), i._Fld15520) AS barcode
|
||
FROM MAG_2019.dbo._InfoRg15519 AS i
|
||
) AS x
|
||
GROUP BY _Fld15521RRef
|
||
)
|
||
SELECT
|
||
nom.artic_id,
|
||
nom.[1c_id],
|
||
nom.code,
|
||
nom.cenovaya_gruppa,
|
||
nom.description,
|
||
nom.artic,
|
||
nom.vid_nomen,
|
||
nom.Производитель,
|
||
nom.group_id,
|
||
nom.[1c_group],
|
||
nom.card,
|
||
nom.photo,
|
||
nom.base,
|
||
nom.[Знаменатель веса],
|
||
nom.[Числитель веса],
|
||
nom.[Знаменатель объема],
|
||
nom.[Числитель объема],
|
||
nom.[Количество упак в коробе],
|
||
nom.[Количество упак в кванте],
|
||
nom.[id magok],
|
||
nom.Товарныйменеджера,
|
||
nom.МенеджерПоЗакупкам2,
|
||
nom.РуководительНаправления,
|
||
nom.[Менеджер OZON],
|
||
nom.[Менеджер WB],
|
||
nom.[АБС статус],
|
||
nom.[АБС план],
|
||
nom.[ABC Парето],
|
||
nom.[XYZ статус 12м],
|
||
nom.[Комментарий для матрицы],
|
||
nom.Коллекция,
|
||
nom.[Ценовой сегмент Магок],
|
||
nom.[Ценовой сегмент МП],
|
||
nom.[Кол-во упак в заказе Магок],
|
||
nom.Бренд,
|
||
nom.[Тип товара],
|
||
nom.Метка,
|
||
nom.[Ширина, мм],
|
||
nom.Цвет,
|
||
nom.[Номер цвета],
|
||
nom.[Тип шнура],
|
||
nom.[Тип плетения],
|
||
nom.Размер,
|
||
nom.Особенность,
|
||
nom.Форма,
|
||
nom.Ширина,
|
||
nom.[Формат упаковки],
|
||
nom.[Макс. запас],
|
||
nom.[Мин. запас],
|
||
nom.[QTY PACKS],
|
||
nom.[Да/Нет Собственное пр-во],
|
||
nom.[ID OZON],
|
||
nom.[ID WB],
|
||
nom.WB,
|
||
nom.Ozon,
|
||
nom.СТМ,
|
||
nom.[Выгружать на я.маркет],
|
||
nom.[Выгружать в Google Merchant],
|
||
nom.[Товар МП],
|
||
nom.Неликвид,
|
||
nom.Статус,
|
||
nom.[Сквозной цвет],
|
||
nom.[Базовая упаковка],
|
||
nom.[Качество контента Ozon],
|
||
nom.[Качество контента WB],
|
||
nom.[Качество контента WB by Ozon],
|
||
nom.[Качество контента Magok],
|
||
nom.[Вид номенклатуры],
|
||
nom.max_year_quantity,
|
||
nom.max_quarter_quantity,
|
||
nom.[Цена учетная, руб],
|
||
nom.[Цена учетная, usd],
|
||
nom.СредниеМесячныеПродажи,
|
||
nom.СКО_МесячныхПродаж,
|
||
nom.minAvailableQty,
|
||
|
||
g._Description AS group__Description,
|
||
g.g,
|
||
g.g1,
|
||
g.g2,
|
||
g.g3,
|
||
g.group_id AS group__group_id,
|
||
g._ParentIDRRef AS group__ParentIDRRef,
|
||
g.lvl AS group__lvl,
|
||
g.path AS group__path,
|
||
g.code AS group__code,
|
||
g.[1c_id] AS group__1c_id,
|
||
g.план AS group__план,
|
||
g.[first group] AS group__first_group,
|
||
|
||
ref1c._IDRRef AS ref_1c__IDRRef,
|
||
ref1c._OwnerID_RRRef AS ref_1c__OwnerID_RRRef,
|
||
ref1c.artic_id AS ref_1c__artic_id,
|
||
ref1c.upakovka AS ref_1c__upakovka,
|
||
ref1c.Вес AS ref_1c__Вес,
|
||
ref1c.Высота AS ref_1c__Высота,
|
||
ref1c.Глубина AS ref_1c__Глубина,
|
||
ref1c.Ширина AS ref_1c__Ширина,
|
||
ref1c.Объем AS ref_1c__Объем,
|
||
|
||
bc.barcodes AS ref_1c__barcodes
|
||
FROM pbi.nomenclature AS nom
|
||
LEFT JOIN pbi.groups AS g
|
||
ON g.[1c_id] = nom.[1c_group]
|
||
LEFT JOIN ref1c
|
||
ON ref1c.code = nom.code
|
||
LEFT JOIN bc
|
||
ON bc._IDRRef = ref1c._IDRRef;
|
||
GO
|
||
|
||
/****** Object: View [pbi].[v_ostatki_2025_interpolated] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[v_ostatki_2025_interpolated]
|
||
AS
|
||
WITH Base AS (
|
||
SELECT
|
||
artic_id,
|
||
CAST([Период] AS date) AS Дата,
|
||
[Количество],
|
||
LEAD(CAST([Период] AS date)) OVER (
|
||
PARTITION BY artic_id
|
||
ORDER BY [Период]
|
||
) AS СледДата
|
||
FROM mag_pbi.pbiProd.[СводныйСебестоимость Для PBI]
|
||
WHERE [Вид операции] = 'Остаток'
|
||
),
|
||
Ranges AS (
|
||
SELECT
|
||
artic_id,
|
||
Дата AS ДатаНачала,
|
||
ISNULL(DATEADD(DAY, -1, СледДата), '2025-12-31') AS ДатаОкончания,
|
||
Количество
|
||
FROM Base
|
||
)
|
||
SELECT
|
||
r.artic_id,
|
||
DATEADD(DAY, v.number, r.ДатаНачала) AS Дата,
|
||
r.Количество
|
||
FROM Ranges r
|
||
CROSS APPLY (
|
||
SELECT number
|
||
FROM master..spt_values
|
||
WHERE type = 'P'
|
||
AND number <= DATEDIFF(DAY, r.ДатаНачала, r.ДатаОкончания)
|
||
) v
|
||
WHERE DATEADD(DAY, v.number, r.ДатаНачала)
|
||
BETWEEN '2025-01-01' AND '2025-12-31'
|
||
GO
|
||
|
||
/****** Object: View [pbi].[БазоваяУпаковка] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[БазоваяУпаковка]as
|
||
--Вынимаем из таблицы упаковок Габариты номенклатуры по базовой упаковке
|
||
SELECT
|
||
_Code as code
|
||
, n._IDRRef
|
||
, _OwnerID_RRRef
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), n._IDRRef, 2),5,12) )) as artic_id
|
||
, upakovka --as [Базовая упаковка]
|
||
, [вес], [Высота], [Глубина], [Ширина], [Объем]--, md
|
||
/*, isnull(
|
||
(case n.[_Fld28142]
|
||
WHEN 0 THEN upakovka
|
||
ELSE max_upakovka end)
|
||
|
||
, 1) as 'Базовая упаковка'*/
|
||
|
||
FROM mag_2019.dbo._Reference188X1 n --справочник номенклатуры
|
||
LEFT JOIN (
|
||
SELECT
|
||
a._Fld24768 as upakovka/*, MAX(_Fld24768)as max_upakovka*/
|
||
, a._Fld24761 as 'Вес'
|
||
, a._Fld24763 as 'Высота'
|
||
, a._Fld24765 as 'Глубина'
|
||
, a._Fld24775 as 'Ширина'
|
||
, a._Fld24771 as 'Объем'
|
||
, a._OwnerID_RRRef
|
||
, a._Marked as md
|
||
FROM [MAG_2019].dbo._Reference347X1 a
|
||
LEFT JOIN [MAG_2019].dbo._Reference347X1 b
|
||
ON b._OwnerID_RRRef = a._OwnerID_RRRef AND a._Fld24768 > b._Fld24768
|
||
AND a._Marked = 0x00 AND b._Marked = 0x00
|
||
WHERE (b._Fld24768 is null)
|
||
AND a._Marked = 0x00 --AND b._Marked = 0x00
|
||
AND a._OwnerID_RRRef IN (SELECT _IDRRef FROM mag_2019.dbo._Reference188X1 WHERE [_Fld28142] = 0)
|
||
UNION ALL
|
||
SELECT
|
||
a._Fld24768 as upakovka/*, MAX(_Fld24768)as max_upakovka*/
|
||
, a._Fld24761 as 'Вес'
|
||
, a._Fld24763 as 'Высота'
|
||
, a._Fld24765 as 'Глубина'
|
||
, a._Fld24775 as 'Ширина'
|
||
, a._Fld24771 as 'Объем'
|
||
, a._OwnerID_RRRef
|
||
, a._Marked
|
||
FROM [MAG_2019].dbo._Reference347X1 a
|
||
LEFT JOIN [MAG_2019].dbo._Reference347X1 b
|
||
ON b._OwnerID_RRRef = a._OwnerID_RRRef AND a._Fld24768 < b._Fld24768
|
||
AND a._Marked = 0x00 AND b._Marked = 0x00
|
||
WHERE b._Fld24768 is null
|
||
AND a._Marked = 0 --AND b._Marked = 0
|
||
AND a._OwnerID_RRRef IN (SELECT _IDRRef FROM mag_2019.dbo._Reference188X1 WHERE [_Fld28142] <> 0)
|
||
) as up
|
||
ON n._IDRRef = up._OwnerID_RRRef
|
||
WHERE n._Fld21101RRef IN (0x80C5305A3A00E12B11E5845202CA01FB, 0x80C5305A3A00E12B11E584520AEC30EC)
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Внешние остатки] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[Внешние остатки]
|
||
AS
|
||
|
||
SELECT nod._Description AS [Узел]
|
||
, ost._Fld33601 AS [Тип]
|
||
, ost._Fld33595 AS [Склад]
|
||
, DATEADD(YEAR, -2000, ost._Fld33596) AS [Дата обновления]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld28683RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36),[_Fld28683RRef], 2),5,12) )) as [artic_id]
|
||
--, n._Code AS [Код УТ]
|
||
, ost._Fld33599 AS [id_внешний]
|
||
, ost._Fld33602 AS [Количество]
|
||
, ost._Fld33603 AS [Доступное кол-во]
|
||
, ost._Fld33602 * (case
|
||
(SELECT TOP 1 upakovka FROM mag_pbi.pbi.[БазоваяУпаковка] up
|
||
WHERE ost._Fld28683RRef = up._OwnerID_RRRef)
|
||
when 0 then 1
|
||
|
||
else (SELECT TOP 1 upakovka FROM mag_pbi.pbi.[БазоваяУпаковка] up
|
||
WHERE ost._Fld28683RRef = up._OwnerID_RRRef) end
|
||
)
|
||
|
||
as [Остаток МП, шт]
|
||
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg28682X1] AS ost /* РегистрСведений.ОстаткиТоваровВоВнешнихСистемах */
|
||
--LEFT JOIN [MAG_2019].[dbo].[_Reference188X1] n ON n._IDRRef = ost._Fld28683RRef /* Справочник.Номенклатура */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Node28072X1] nod ON nod._IDRRef = ost._Fld28684RRef /* ПланОбмена.ВнешниеСистемы */
|
||
|
||
WHERE --YEAR([_Fld33596]) > 4023
|
||
ost._Fld33596 = (SELECT top 1 _Fld33596 FROM [MAG_2019].[dbo].[_InfoRg28682X1] ORDER BY _Fld33596 DESC )
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Внешние продажи] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[Внешние продажи]
|
||
AS
|
||
|
||
|
||
|
||
SELECT nod._Description AS [Узел]
|
||
, [_Fld33610] AS [Вид загрузки]
|
||
, [_Fld33611] AS [Склад]
|
||
, DATEADD(YEAR, -2000, [_Fld33612]) AS [Дата]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld33613RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33613RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33613RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33613RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36),[_Fld33613RRef], 2),5,12) )) as [artic_id]
|
||
--, n._Code AS [Код УТ]
|
||
, [_Fld33614] AS [id_внешний]
|
||
, [_Fld33624] AS [Область]
|
||
, [_Fld33627] AS [Страна]
|
||
, [_Fld33628] AS [Регион]
|
||
, [_Fld33615] AS [Количество]
|
||
, [_Fld33616]/1000 AS [Сумма]
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg33608X1] outd /* РегистрСведений.ДанныеИзВнешнихСистем */
|
||
--LEFT JOIN [MAG_2019].[dbo].[_Reference188X1] n ON n._IDRRef = outd._Fld33613RRef /* Справочник.Номенклатура */
|
||
LEFT JOIN [MAG_2019].[dbo].[_Node28072X1] nod ON nod._IDRRef = outd._Fld33609RRef /* ПланОбмена.ВнешниеСистемы */
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Внешний оборот] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[Внешний оборот] as
|
||
|
||
SELECT
|
||
DATEADD(YEAR, -2000, [_Period]) as [Дата]
|
||
,LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld33760RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33760RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33760RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33760RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33760RRef], 2),5,12) )) as [artic_id]
|
||
,(SELECT _description FROM [MAG_2019].[dbo].[_Reference198X1] org WHERE org._IDRRef = omp._Fld33761RRef ) as [Организация]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld33762RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33762RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33762RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33762RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33762RRef], 2),5,12) )) as [partner_id]
|
||
,[_Fld33763] / 1000 as [Сумма оборот МП, руб]
|
||
/*,[_Fld33764] as 'id_oborot'*/
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg33759] omp /*РегистрСведений.ОборотМП*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Заказо_в_производстве] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [pbi].[Заказо_в_производстве] as
|
||
SELECT
|
||
DATEADD(year, -2000, z._Date_Time) as [Дата заказа поставщику]
|
||
,z._Number as 'Номер заказа поставщику'
|
||
, t._Fld3473RRef as [1C_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),5,12) )) as partner_id
|
||
, (SELECT r._Description FROM [MAG_2019].[dbo].[_Reference168] r WHERE r._IDRRef = z._Fld3410RRef) as 'Контрагент'
|
||
,case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
when 0x8542BD023FE7B70E4613087D853F26E4 then 'Тех. заказ'
|
||
end as 'Статус'
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),5,12) ))as artic_id
|
||
, t._Fld3477 as [Количество]
|
||
, convert (decimal(10,2), t._Fld3477/(case (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t._Fld3473RRef = up._OwnerID_RRRef)
|
||
when 0 then 1 when null then 1 else (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t._Fld3473RRef = up._OwnerID_RRRef) end)) as 'Кол. упаковок'
|
||
, t._Fld3480/1000 as [Цена]
|
||
, t._Fld3481/1000 as [Сумма]
|
||
, t._Fld3481/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = z._Fld3414RRef --валюта документа
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) as [Сумма всего в пр-ве, usd]
|
||
, (SELECT _DESCRIPTION FROM [MAG_2019].[dbo].[_Reference50] /*валюты*/ v WHERE v._IDRRef = [_Fld3414RRef]) as 'Валюта'
|
||
, e.value as 'Хоз. операция'
|
||
, case e.value
|
||
WHEN 'Закупка у поставщика' THEN 'Производство РФ'
|
||
WHEN 'Импорт (товары в пути)' THEN 'Производство Импорт'
|
||
WHEN 'Ввоз из ЕАЭС' THEN 'Производство ЕАЭС'
|
||
END as 'Где товар'
|
||
/*, case z.[_Fld3414RRef]
|
||
when 0x80CD002590EC174111E581505088A8D5 then 'usd'
|
||
else 'руб'
|
||
end as 'Валюта'
|
||
*/
|
||
FROM [MAG_2019].[dbo].[_Document408X1] z /* документ заказ поставщику */
|
||
INNER JOIN [MAG_2019].[dbo].[_Document408_VT3470X1] t /* табличная часть заказа поставщику */
|
||
ON t._Document408_IDRRef = z._IDRRef
|
||
LEFT JOIN [mag_2019].[dbo]._Reference215X1 p /* партнер */
|
||
ON p._IDRRef = z._Fld3409RRef
|
||
LEFT JOIN mag_pbi.pbi.enums e ON e._IDRref = z.[_Fld3431RRef] AND e.enum = 'Хоз. операции'/*Перечисление хозяйственная операция*/
|
||
WHERE
|
||
([_Fld3417RRef] = 0xA87A8B13710A30B447DFF1614E84D167 /* В производстве */)
|
||
AND z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND [_Fld3491RRef] = 0 /* причина отмены не указана */
|
||
/*
|
||
SELECT TOP (1000)
|
||
case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
when 0x8542BD023FE7B70E4613087D853F26E4 then 'Тех заказ'
|
||
|
||
end as 'Статус'
|
||
,z._Number as 'Номер документа'
|
||
,z._Date_Time
|
||
,[_Active]
|
||
,[_RecordKind]
|
||
,[_Fld16330RRef]
|
||
,[_Fld16331RRef] /* Номенклатура */
|
||
,[_Fld16332RRef]
|
||
,[_Fld16333]
|
||
,[_Fld16334RRef]
|
||
,[_Fld16335] /* Заказано */
|
||
,[_Fld16336]
|
||
,[_Fld16337RRef]
|
||
FROM [MAG_2019].[dbo].[_AccumRg16329] r /* регистр накопления заказы поставщикам */
|
||
INNER JOIN [MAG_2019].[dbo].[_Document408X1] z /* документ заказ поставщику */
|
||
ON r._Fld16330RRef = z._IDRRef
|
||
|
||
WHERE r._Active = 0
|
||
AND [_Fld3417RRef] = 0xA87A8B13710A30B447DFF1614E84D167 /*В производстве*/ OR [_Fld3417RRef] = 0x99FD3E66AA3EFB074984044D5A69CFD5 /*В пути*/
|
||
*/
|
||
/*
|
||
SELECT
|
||
|
||
TOP (1000)
|
||
[_Fld3417RRef]
|
||
,
|
||
case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
end as 'Статус'
|
||
,[_IDRRef]
|
||
|
||
FROM [MAG_2019].[dbo].[_Document408X1] /* документ заказ поставщику */
|
||
WHERE _Marked = 0 AND _Posted = 1
|
||
*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Заказо_в_пути] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [pbi].[Заказо_в_пути] as
|
||
SELECT
|
||
DATEADD(year, -2000, z._Date_Time) as [Дата заказа поставщику]
|
||
,z._Number as 'Номер заказа поставщику'
|
||
, t._Fld3473RRef as [1C_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),5,12) )) as partner_id
|
||
, (SELECT r._Description FROM [MAG_2019].[dbo].[_Reference168] r WHERE r._IDRRef = z._Fld3410RRef) as 'Контрагент'
|
||
,case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
when 0x8542BD023FE7B70E4613087D853F26E4 then 'Тех. заказ'
|
||
end as 'Статус'
|
||
, t._Fld3473RRef as [nom_1c_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),5,12) ))as artic_id
|
||
, t._Fld3477 as [Количество]
|
||
, convert (decimal(10,2), t._Fld3477/(case (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t._Fld3473RRef = up._OwnerID_RRRef)
|
||
when 0 then 1 when null then 1 else (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t._Fld3473RRef = up._OwnerID_RRRef) end)) as 'Кол. упаковок'
|
||
, t._Fld3480/1000 as [Цена]
|
||
, t._Fld3481/1000 as [Сумма]
|
||
, t._Fld3481/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = z._Fld3414RRef --валюта документа
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) as [Сумма всего в пути, usd]
|
||
/*, case z.[_Fld3414RRef]
|
||
when 0x80CD002590EC174111E581505088A8D5 then 'usd'
|
||
else 'руб'
|
||
end as 'Валюта'*/
|
||
, (SELECT _DESCRIPTION FROM [MAG_2019].[dbo].[_Reference50] /*валюты*/ v WHERE v._IDRRef = [_Fld3414RRef]) as 'Валюта'
|
||
, case when
|
||
( SELECT COUNT(*)
|
||
FROM mag_2019.[dbo].[_AccumRg16344] AS zakupka --РН Закупка
|
||
INNER JOIN [mag_2019].[dbo]._Reference160 an
|
||
ON an._IDRRef = zakupka.[_Fld16349RRef]
|
||
WHERE an._Fld20498RRef = t._Fld3473RRef AND zakupka._Fld16357_RRRef = z.[_IDRRef]
|
||
) = 0
|
||
|
||
THEN 'В пути до РФ' ELSE 'В пути в РФ' END as 'Где товар'
|
||
|
||
FROM [MAG_2019].[dbo].[_Document408X1] z /* документ заказ поставщику */
|
||
INNER JOIN [MAG_2019].[dbo].[_Document408_VT3470X1] t /* табличная часть заказа поставщику */
|
||
ON t._Document408_IDRRef = z._IDRRef
|
||
LEFT JOIN [mag_2019].[dbo]._Reference215X1 p /* партнер */
|
||
ON p._IDRRef = z._Fld3409RRef
|
||
--LEFT JOIN mag_2019.[dbo].[_AccumRg16344] AS zakupka --РН Закупка. Присоединено для проверки,что у заказа нет пту, далее фильтрация по регистратору из закупки по NULL
|
||
--ON zakupka._Fld16357_RRRef = z.[_IDRRef]
|
||
|
||
WHERE
|
||
(z.[_Fld3417RRef] = 0x99FD3E66AA3EFB074984044D5A69CFD5 /*'В пути'*/ ) -- статус
|
||
AND z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND [_Fld3491RRef] = 0 /* причина отмены не указана */
|
||
--AND z.[_Fld3414RRef] = 0x80CD002590EC174111E581505088A8D5 -- отбор по USD
|
||
/*
|
||
SELECT TOP (1000)
|
||
case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
end as 'Статус'
|
||
,z._Number as 'Номер документа'
|
||
,z._Date_Time
|
||
,[_Active]
|
||
,[_RecordKind]
|
||
,[_Fld16330RRef]
|
||
,[_Fld16331RRef] /* Номенклатура */
|
||
,[_Fld16332RRef]
|
||
,[_Fld16333]
|
||
,[_Fld16334RRef]
|
||
,[_Fld16335] /* Заказано */
|
||
,[_Fld16336]
|
||
,[_Fld16337RRef]
|
||
FROM [MAG_2019].[dbo].[_AccumRg16329] r /* регистр накопления заказы поставщикам */
|
||
INNER JOIN [MAG_2019].[dbo].[_Document408X1] z /* документ заказ поставщику */
|
||
ON r._Fld16330RRef = z._IDRRef
|
||
|
||
WHERE r._Active = 0
|
||
AND [_Fld3417RRef] = 0xA87A8B13710A30B447DFF1614E84D167 /*В производстве*/ OR [_Fld3417RRef] = 0x99FD3E66AA3EFB074984044D5A69CFD5 /*В пути*/
|
||
*/
|
||
/*
|
||
SELECT
|
||
|
||
TOP (1000)
|
||
[_Fld3417RRef]
|
||
,
|
||
case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
end as 'Статус'
|
||
,[_IDRRef]
|
||
|
||
FROM [MAG_2019].[dbo].[_Document408X1] /* документ заказ поставщику */
|
||
WHERE _Marked = 0 AND _Posted = 1
|
||
*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Заказы] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[Заказы]
|
||
AS
|
||
SELECT
|
||
DATEADD(YEAR, -2000, z._Date_Time) AS [Дата заказа поставщику],
|
||
z._Number AS [Номер заказа поставщику],
|
||
--t._Fld3473RRef AS [1C_id],
|
||
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), p._IDRRef, 2), 5, 12)
|
||
) AS partner_id,
|
||
|
||
p._Description AS Партнер,
|
||
r._Description AS Контрагент,
|
||
|
||
CASE z._Fld3417RRef
|
||
WHEN 0xB9440E49408A17534955319EBF0DAE60 THEN 'Согласован'
|
||
WHEN 0x99FD3E66AA3EFB074984044D5A69CFD5 THEN 'В пути'
|
||
WHEN 0x973A5675AC6A17F64DA37EC6C22FC12C THEN 'Подтвержден'
|
||
WHEN 0xA55F81415BA33BC24A053ED26C6EC02E THEN 'Закрыт'
|
||
WHEN 0xA87A8B13710A30B447DFF1614E84D167 THEN 'В производстве'
|
||
WHEN 0x8542BD023FE7B70E4613087D853F26E4 THEN 'Тех. заказ'
|
||
WHEN 0xB38AD6232E2D17D44287D9924E5E6DF2 THEN 'На согласовании'
|
||
WHEN 0xB2A33CF1C7286AF3463F20D54AE5A0BC THEN 'Выгружен на складе'
|
||
ELSE 'Неизвестно'
|
||
END AS Статус,
|
||
|
||
--t._Fld3473RRef AS nom_1c_id,
|
||
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), t._Fld3473RRef, 2), 5, 12)
|
||
) AS artic_id,
|
||
t._Fld3473RRef as [1c_id],
|
||
t._Fld3477 AS Количество,
|
||
CONVERT(decimal(10, 2), t._Fld3477 / pack.base_pack) AS [Кол. упаковок],
|
||
t._Fld3477 * (SELECT n._Fld21092 / ISNULL(NULLIF(n._Fld21089, 0), 1) FROM mag_2019.dbo._Reference188X1 n WHERE t._Fld3473RRef = n._IDRRef) as [Объем, м3],
|
||
|
||
|
||
t._Fld3480 / 1000 AS Цена,
|
||
t._Fld3481 / 1000 AS Сумма,
|
||
t._Fld3481/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = z._Fld3414RRef --валюта документа
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) as [Сумма всего, usd2],
|
||
|
||
v._Description AS Валюта,
|
||
case v._Description
|
||
WHEN 'USD' THEN _Fld3481 / 1000 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency='USD2')
|
||
ELSE _Fld3481 / 1000 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency=v._Description)
|
||
END
|
||
as 'Сумма в руб.',
|
||
CASE
|
||
WHEN z._Fld3420 < '4000' THEN DATEADD(MONTH, 4, GETDATE())
|
||
ELSE DATEADD(YEAR, -2000, z._Fld3420)
|
||
END
|
||
as 'Желаемая дата'
|
||
FROM MAG_2019.dbo._Document408X1 AS z -- заказы поставщику
|
||
INNER JOIN MAG_2019.dbo._Document408_VT3470X1 AS t ON t._Document408_IDRRef = z._IDRRef --табличная часть заказов поставщику
|
||
LEFT JOIN MAG_2019.dbo._Reference215X1 AS p ON p._IDRRef = z._Fld3409RRef --партнеры
|
||
LEFT JOIN MAG_2019.dbo._Reference168 AS r ON r._IDRRef = z._Fld3410RRef --контрагенты
|
||
LEFT JOIN MAG_2019.dbo._Reference50 AS v ON v._IDRRef = z._Fld3414RRef --валюты
|
||
INNER JOIN MAG_2019.dbo._Reference188X1 AS n ON n._IDRRef = t._Fld3473RRef
|
||
INNER JOIN pbi.groups AS g ON n._ParentIDRRef = g.[1c_id]
|
||
OUTER APPLY (
|
||
SELECT TOP 1
|
||
ISNULL(NULLIF(up.upakovka, 0), 1) AS base_pack
|
||
FROM pbi.БазоваяУпаковка up
|
||
WHERE up._OwnerID_RRRef = t._Fld3473RRef
|
||
) AS pack
|
||
|
||
WHERE
|
||
z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND t._Fld3491RRef = 0
|
||
AND g NOT LIKE '*Внутр%'
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Заказы в заявках] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[Заказы в заявках]
|
||
AS
|
||
SELECT [Дата заказа поставщику]
|
||
,[Номер заказа поставщику]
|
||
--,[Заявка_1c_id]
|
||
,[Номер заявки]
|
||
,[Дата заявки]
|
||
,[Контрагент]
|
||
--,[cagent_id]
|
||
--,[partner_1cid]
|
||
,[partner_id]
|
||
,[Статус]
|
||
--,[nom_1c_id]
|
||
,[artic_id]
|
||
--,[Наименование]
|
||
--,[code]
|
||
--,[Артикул]
|
||
,[Количество]
|
||
,[Кол. упаковок]
|
||
,[Цена]/1000 as 'Цена'
|
||
,[Сумма]/1000 as 'Сумма'
|
||
--,[g]
|
||
--,[path]
|
||
,[Количество] * (SELECT n._Fld21092 / ISNULL(NULLIF(n._Fld21089, 0), 1) FROM mag_2019.dbo._Reference188X1 n WHERE [nom_1c_id] = n._IDRRef) as [Объем, м3]
|
||
,[Валюта]
|
||
,[Сумма в руб.]/1000 as 'Сумма в руб'
|
||
,[Сумма]/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = [currency_id] --валюта документа
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= [Дата заказа поставщику]
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= [Дата заказа поставщику]
|
||
ORDER BY _Period desc) as [Сумма всего, usd2]
|
||
|
||
FROM [mag_pbi].[analytics].[ЗаказыВЗаявках]
|
||
WHERE [g] NOT LIKE '*Внутренняя'
|
||
AND [Статус] = 'В пути'
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Заказы_тех] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [pbi].[Заказы_тех] as
|
||
SELECT
|
||
DATEADD(year, -2000, z._Date_Time) as [Дата заказа поставщику]
|
||
,z._Number as 'Номер заказа поставщику'
|
||
, t._Fld3473RRef as [1C_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),5,12) )) as partner_id
|
||
, (SELECT r._Description FROM [MAG_2019].[dbo].[_Reference168] r WHERE r._IDRRef = z._Fld3410RRef) as 'Контрагент'
|
||
,case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
when 0x8542BD023FE7B70E4613087D853F26E4 then 'Тех. заказ'
|
||
end as 'Статус'
|
||
, t._Fld3473RRef as [nom_1c_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), t._Fld3473RRef, 2),5,12) ))as artic_id
|
||
, t._Fld3477 as [Количество]
|
||
, convert (decimal(10,2), t._Fld3477/(case (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t._Fld3473RRef = up._OwnerID_RRRef)
|
||
when 0 then 1 when null then 1 else (SELECT TOP 1 upakovka FROM pbi.[БазоваяУпаковка] up WHERE t._Fld3473RRef = up._OwnerID_RRRef) end)) as 'Кол. упаковок'
|
||
, t._Fld3480/1000 as [Цена]
|
||
, t._Fld3481/1000 as [Сумма]
|
||
, t._Fld3481/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = z._Fld3414RRef --валюта документа
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND _Period <= z._Date_Time
|
||
ORDER BY _Period desc) as [Сумма всего тех заказы, usd]
|
||
/*, case z.[_Fld3414RRef]
|
||
when 0x80CD002590EC174111E581505088A8D5 then 'usd'
|
||
else 'руб'
|
||
end as 'Валюта'*/
|
||
, (SELECT _DESCRIPTION FROM [MAG_2019].[dbo].[_Reference50] /*валюты*/ v WHERE v._IDRRef = [_Fld3414RRef]) as 'Валюта'
|
||
/*, case when
|
||
( SELECT COUNT(*)
|
||
FROM mag_2019.[dbo].[_AccumRg16344] AS zakupka --РН Закупка
|
||
INNER JOIN [mag_2019].[dbo]._Reference160 an
|
||
ON an._IDRRef = zakupka.[_Fld16349RRef]
|
||
WHERE an._Fld20498RRef = t._Fld3473RRef AND zakupka._Fld16357_RRRef = z.[_IDRRef]
|
||
) = 0
|
||
|
||
THEN 'В пути до РФ' ELSE 'В пути в РФ' END as 'Где товар'*/
|
||
|
||
FROM [MAG_2019].[dbo].[_Document408X1] z /* документ заказ поставщику */
|
||
INNER JOIN [MAG_2019].[dbo].[_Document408_VT3470X1] t /* табличная часть заказа поставщику */
|
||
ON t._Document408_IDRRef = z._IDRRef
|
||
LEFT JOIN [mag_2019].[dbo]._Reference215X1 p /* партнер */
|
||
ON p._IDRRef = z._Fld3409RRef
|
||
--LEFT JOIN mag_2019.[dbo].[_AccumRg16344] AS zakupka --РН Закупка. Присоединено для проверки,что у заказа нет пту, далее фильтрация по регистратору из закупки по NULL
|
||
--ON zakupka._Fld16357_RRRef = z.[_IDRRef]
|
||
|
||
WHERE
|
||
(z.[_Fld3417RRef] = 0x8542BD023FE7B70E4613087D853F26E4 /*'Тех. заказ'*/ ) -- статус
|
||
AND z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND [_Fld3491RRef] = 0 /* причина отмены не указана */
|
||
--AND z.[_Fld3414RRef] = 0x80CD002590EC174111E581505088A8D5 -- отбор по USD
|
||
/*
|
||
SELECT TOP (1000)
|
||
case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
end as 'Статус'
|
||
,z._Number as 'Номер документа'
|
||
,z._Date_Time
|
||
,[_Active]
|
||
,[_RecordKind]
|
||
,[_Fld16330RRef]
|
||
,[_Fld16331RRef] /* Номенклатура */
|
||
,[_Fld16332RRef]
|
||
,[_Fld16333]
|
||
,[_Fld16334RRef]
|
||
,[_Fld16335] /* Заказано */
|
||
,[_Fld16336]
|
||
,[_Fld16337RRef]
|
||
FROM [MAG_2019].[dbo].[_AccumRg16329] r /* регистр накопления заказы поставщикам */
|
||
INNER JOIN [MAG_2019].[dbo].[_Document408X1] z /* документ заказ поставщику */
|
||
ON r._Fld16330RRef = z._IDRRef
|
||
|
||
WHERE r._Active = 0
|
||
AND [_Fld3417RRef] = 0xA87A8B13710A30B447DFF1614E84D167 /*В производстве*/ OR [_Fld3417RRef] = 0x99FD3E66AA3EFB074984044D5A69CFD5 /*В пути*/
|
||
*/
|
||
/*
|
||
SELECT
|
||
|
||
TOP (1000)
|
||
[_Fld3417RRef]
|
||
,
|
||
case [_Fld3417RRef]
|
||
when 0xB9440E49408A17534955319EBF0DAE60 then 'Согласован'
|
||
when 0x99FD3E66AA3EFB074984044D5A69CFD5 then 'В пути'
|
||
when 0x973A5675AC6A17F64DA37EC6C22FC12C then 'Подтвержден'
|
||
when 0xA55F81415BA33BC24A053ED26C6EC02E then 'Закрыт'
|
||
when 0xA87A8B13710A30B447DFF1614E84D167 then 'В производстве'
|
||
end as 'Статус'
|
||
,[_IDRRef]
|
||
|
||
FROM [MAG_2019].[dbo].[_Document408X1] /* документ заказ поставщику */
|
||
WHERE _Marked = 0 AND _Posted = 1
|
||
*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Заявки_на_оплату] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[Заявки_на_оплату]
|
||
AS SELECT
|
||
DATEADD(year, -2000, [_Date_Time]) as [date]
|
||
,[_Number] as 'Номер заявки'
|
||
, CASE
|
||
WHEN [_Fld3880RRef]= 0x96388D3803D0E2B243682753FD602008 THEN 'Согласована'
|
||
WHEN [_Fld3880RRef] = 0xA53B783FB8E84C2D4A977FB197BB9B6A THEN 'Не согласована'
|
||
WHEN [_Fld3880RRef] = 0xB22A4A3C82F7B70D452E0F89A2703597 THEN 'К оплате'
|
||
WHEN [_Fld3880RRef] = 0x9EB3FD405C68C64C42B491437EDE1CAB THEN 'Отклонена'
|
||
END as 'Статус'
|
||
,[_Fld3882]/1000 as 'Сумма'
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference50] spv /*Справочник.Валюты */ WHERE spv._IDRRef = r.[_Fld3883RRef]) as 'Валюта документа'
|
||
--,DATEADD(year, -2000, [_Fld3890]) as 'Дата оплаты желат'
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), dr._Fld3957RRef, 2),5,12) ))as partner_id
|
||
, (SELECT _description FROM [mag_2019].[dbo]._Reference215X1 prt /*партнеры*/ WHERE prt._IDRRef = dr._Fld3957RRef) as 'Партнер'
|
||
, (SELECT _Description FROM [mag_2019].[dbo]._Reference168 kt /*контрагенты*/ WHERE kt._IDRRef = r._Fld3891RRef)as 'Получатель'
|
||
,[_Fld3900] as 'Комментарий'
|
||
,DATEADD(year, -2000, [_Fld3902]) as 'Дата оплаты план'
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference316] dds /*Справочник.СтатьиДвиженияДенежныхСредств*/ WHERE dds._IDRRef = r._Fld3904RRef) as 'Статья ДДС'
|
||
|
||
FROM [MAG_2019].[dbo].[_Document416] r
|
||
LEFT JOIN [MAG_2019].[dbo].[_Document416_VT3955] dr /*ЗаявкаНаРасходованиеДенежныхСредств доп.реквизиты*/ ON r._IDRRef = dr._Document416_IDRRef
|
||
|
||
WHERE [_Fld3881RRef]=0xB96DB293C2F88D8C46DF79811923F574 AND [_Posted] = 0x01
|
||
GO
|
||
|
||
/****** Object: View [pbi].[ЗаявкиПоставщикам] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/*ALTER VIEW [pbi].[ЗаявкиПоставщикам] AS
|
||
|
||
SELECT [Дата заявки]
|
||
,[Номер заявки]
|
||
,[Статус заявки]
|
||
--,[Партнер]
|
||
--,[partner_1c_id]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [partner_1c_id], 2), 25,8),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [partner_1c_id], 2),21,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [partner_1c_id], 2),17,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [partner_1c_id], 2),1,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [partner_1c_id], 2),5,12) )) as partner_id
|
||
|
||
,[Контрагент]
|
||
,[Валюта]
|
||
--,[Сумма документа]
|
||
--,[Сумма документа в руб]
|
||
--,[Дата поступления]
|
||
--,[manufacturer]
|
||
--,[roi_year_normalized]
|
||
--,[n_percent]
|
||
--,[n_days]
|
||
--,[m_percent]
|
||
--,[m_days]
|
||
--,[line_no]
|
||
--,[nom_1c_id]
|
||
,[artic_id]
|
||
--,[Номенклатура]
|
||
--,[code]
|
||
--,[Артикул]
|
||
--,[g]
|
||
--,[path]
|
||
,[Количество начальное]
|
||
,[Кол. упаковок начальное]
|
||
,[Количество начальное] * (SELECT n._Fld21092 / ISNULL(NULLIF(n._Fld21089, 0), 1) FROM mag_2019.dbo._Reference188X1 n WHERE [nom_1c_id] = n._IDRRef) as [Заявки нач объем, м3]
|
||
--,[Количество заказано (вычет)]
|
||
--,[Кол. упаковок заказано (вычет)]
|
||
,[Количество текущее]
|
||
,[Кол. упаковок текущее]
|
||
,[Количество текущее] * (SELECT n._Fld21092 / ISNULL(NULLIF(n._Fld21089, 0), 1) FROM mag_2019.dbo._Reference188X1 n WHERE [nom_1c_id] = n._IDRRef) as [Заявки тек объем, м3]
|
||
|
||
,[Сумма строки]/1000 as [Заявки нач в вал док]
|
||
,[Сумма строки в руб]/1000 as [Заявки нач, руб]
|
||
,[Сумма строки]/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = [currency_id] --валюта документа
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= [Дата заявки]
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= [Дата заявки]
|
||
ORDER BY _Period desc) as [Заявки нач, usd2]
|
||
|
||
,[Сумма строки текущая]/1000 as [Заявки тек в вал док]
|
||
,[Сумма строки текущая в руб]/1000 as [Заявки тек, руб]
|
||
,[Сумма строки текущая]/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = [currency_id] --валюта документа
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= [Дата заявки]
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= [Дата заявки]
|
||
ORDER BY _Period desc) as [Заявки тек, usd2]
|
||
|
||
FROM [mag_pbi].[analytics].[ЗаявкиТовары] zt
|
||
--LEFT JOIN [mag_pbi].[pbi].[ПартнерыКонтрагенты] pc ON pc.[partner_1cid] = zt.[partner_1c_id]
|
||
WHERE [Статус заявки] IN ('В производстве', 'На согласовании')
|
||
|
||
GO
|
||
*/
|
||
|
||
|
||
|
||
|
||
CREATE VIEW [pbi].[ЗаявкиПоставщикам] AS
|
||
|
||
WITH req AS (
|
||
SELECT
|
||
z._IDRRef AS zayavka_id,
|
||
CONVERT(date, DATEADD(YEAR, -2000, z._Date_Time)) AS zayavka_date,
|
||
z._Number AS zayavka_number,
|
||
z._Fld34044RRef AS zayavka_status_ref,
|
||
z._Fld34039RRef AS partner_1c_id,
|
||
z._Fld34040RRef AS contractor_1c_id,
|
||
CONVERT(decimal(18, 2), z._Fld34051) AS summa_doc,
|
||
z._Fld34045RRef AS valuta_ref,
|
||
CASE
|
||
WHEN z._Fld34119 = '00010101' THEN NULL
|
||
ELSE CONVERT(date, DATEADD(YEAR, -2000, z._Fld34119))
|
||
END AS data_postupleniya,
|
||
t._LineNo34053 AS line_no,
|
||
t._Fld34054RRef AS nom_1c_id,
|
||
CONVERT(decimal(18, 3), t._Fld34056) AS qty_initial,
|
||
CONVERT(decimal(18, 2), t._Fld34059) AS summa_line
|
||
FROM MAG_2019.dbo._Document34036 z
|
||
JOIN MAG_2019.dbo._Document34036_VT34052 t ON t._Document34036_IDRRef = z._IDRRef
|
||
WHERE z._Posted = 1
|
||
AND z._Marked = 0
|
||
AND z._Fld34044RRef IN (
|
||
0x89144CF303169EA446E30A9CFAC257D1,
|
||
0xA6CC3F7ADAD37C7D473BFD1D132A96E8)
|
||
|
||
),
|
||
deduct AS (
|
||
SELECT
|
||
tpo._Fld34117RRef AS zayavka_id,
|
||
tpo._Fld3473RRef AS nom_1c_id,
|
||
SUM(CONVERT(decimal(18, 3), tpo._Fld3477)) AS qty_deduct
|
||
FROM MAG_2019.dbo._Document408X1 po
|
||
JOIN MAG_2019.dbo._Document408_VT3470X1 tpo ON tpo._Document408_IDRRef = po._IDRRef
|
||
WHERE
|
||
po._Posted = 1
|
||
AND po._Marked = 0
|
||
AND tpo._Fld3491RRef = 0
|
||
AND po._Fld3417RRef IN (
|
||
0x99FD3E66AA3EFB074984044D5A69CFD5, /* В пути */
|
||
0xA55F81415BA33BC24A053ED26C6EC02E, /* Закрыт */
|
||
0xB2A33CF1C7286AF3463F20D54AE5A0BC, /* Выгружен на складе */
|
||
0x97B9E76E7BCACEF3450504B1FAFC3230 /* Принят */
|
||
)
|
||
GROUP BY tpo._Fld34117RRef, tpo._Fld3473RRef
|
||
)
|
||
|
||
SELECT
|
||
r.zayavka_date AS [Дата заявки],
|
||
r.zayavka_number AS [Номер заявки],
|
||
CASE r.zayavka_status_ref
|
||
WHEN 0xB9D8F6098E165A4945FD453A8394D9A6 THEN N'Планируется'
|
||
WHEN 0x89144CF303169EA446E30A9CFAC257D1 THEN N'На согласовании'
|
||
WHEN 0x8734648F71AB3BE645DCAC11CF62F9AE THEN N'Выполнено'
|
||
WHEN 0xA6CC3F7ADAD37C7D473BFD1D132A96E8 THEN N'В производстве'
|
||
ELSE N'Неизвестно'
|
||
END AS [Статус заявки],
|
||
--prt._Description AS [Партнер],
|
||
LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), r.partner_1c_id, 2), 25,8),'-',
|
||
SUBSTRING ( convert(nvarchar(36), r.partner_1c_id, 2),21,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), r.partner_1c_id, 2),17,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), r.partner_1c_id, 2),1,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), r.partner_1c_id, 2),5,12) )) AS partner_id,
|
||
|
||
ctg._Description AS [Контрагент],
|
||
val._Description AS [Валюта],
|
||
|
||
/* ── Сумма документа ── */
|
||
/* r.summa_doc AS [Сумма документа],
|
||
CASE val._Description
|
||
WHEN 'USD' THEN r.summa_doc *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = 'USD2')
|
||
ELSE r.summa_doc *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = val._Description)
|
||
END AS [Сумма документа в руб],
|
||
|
||
r.data_postupleniya AS [Дата поступления],
|
||
ISNULL(man.manufacturer, N'Не найдено') AS manufacturer,
|
||
ISNULL(man.ROI_norm, 136) / 100.0 AS roi_year_normalized,
|
||
man.n_percent,
|
||
man.n_days,
|
||
man.m_percent,
|
||
man.m_days,
|
||
r.line_no AS line_no,
|
||
r.nom_1c_id AS nom_1c_id,*/
|
||
LOWER(
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 25, 8) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 21, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 17, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 1, 4) + '-' +
|
||
SUBSTRING(CONVERT(nvarchar(36), r.nom_1c_id, 2), 5, 12)
|
||
) AS artic_id,
|
||
--n._Description AS [Номенклатура],
|
||
--n._Code AS code,
|
||
--n._Fld21043 AS [Артикул],
|
||
--g.g,
|
||
--g.path,
|
||
|
||
/* ── Количество начальное ── */
|
||
r.qty_initial AS [Количество начальное],
|
||
CONVERT(decimal(18, 3), r.qty_initial / pack.base_pack)
|
||
AS [Кол. упаковок начальное],
|
||
r.qty_initial * (SELECT n._Fld21092 / ISNULL(NULLIF(n._Fld21089, 0), 1) FROM mag_2019.dbo._Reference188X1 n WHERE r.nom_1c_id = n._IDRRef) as [Заявки нач объем, м3],
|
||
|
||
|
||
/* /* ── Количество заказано (вычет) ── */
|
||
ISNULL(d.qty_deduct, 0) AS [Количество заказано (вычет)],
|
||
CONVERT(decimal(18, 3), ISNULL(d.qty_deduct, 0) / pack.base_pack)
|
||
AS [Кол. упаковок заказано (вычет)],*/
|
||
|
||
/* ── Количество текущее ── */
|
||
CONVERT(decimal(18, 3), r.qty_initial - ISNULL(d.qty_deduct, 0))
|
||
AS [Количество текущее],
|
||
CONVERT(decimal(18, 3), (r.qty_initial - ISNULL(d.qty_deduct, 0)) / pack.base_pack)
|
||
AS [Кол. упаковок текущее],
|
||
CONVERT(decimal(18, 3), r.qty_initial - ISNULL(d.qty_deduct, 0)) * (SELECT n._Fld21092 / ISNULL(NULLIF(n._Fld21089, 0), 1) FROM mag_2019.dbo._Reference188X1 n WHERE r.nom_1c_id = n._IDRRef) as [Заявки тек объем, м3],
|
||
|
||
|
||
r.summa_line/1000 as [Заявки нач в вал док],
|
||
CASE val._Description
|
||
WHEN 'USD' THEN r.summa_line/1000 *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = 'USD2')
|
||
ELSE r.summa_line/1000 *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = val._Description)
|
||
END AS [Заявки нач, руб],
|
||
|
||
r.summa_line/1000 *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = r.valuta_ref --валюта документа
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= r.zayavka_date
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= r.zayavka_date
|
||
ORDER BY _Period desc) as [Заявки нач, usd2],
|
||
|
||
CASE
|
||
WHEN r.qty_initial = 0 THEN CONVERT(decimal(18, 2), 0)
|
||
ELSE CONVERT(decimal(18, 2),
|
||
r.summa_line / r.qty_initial * (r.qty_initial - ISNULL(d.qty_deduct, 0))) / 1000
|
||
END as [Заявки тек в вал док],
|
||
|
||
|
||
CASE val._Description
|
||
WHEN 'USD' THEN
|
||
CASE WHEN r.qty_initial = 0 THEN 0
|
||
ELSE r.summa_line / r.qty_initial * (r.qty_initial - ISNULL(d.qty_deduct, 0)) END *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = 'USD2') / 1000
|
||
ELSE
|
||
CASE WHEN r.qty_initial = 0 THEN 0
|
||
ELSE r.summa_line / r.qty_initial * (r.qty_initial - ISNULL(d.qty_deduct, 0)) END *
|
||
(SELECT rate FROM [analytics].[Курсы валют на сегодня] WHERE currency = val._Description) / 1000
|
||
END AS [Заявки тек, руб],
|
||
|
||
|
||
CASE
|
||
WHEN r.qty_initial = 0 THEN CONVERT(decimal(18, 2), 0)
|
||
ELSE CONVERT(decimal(18, 2),
|
||
r.summa_line / r.qty_initial * (r.qty_initial - ISNULL(d.qty_deduct, 0))) / 1000
|
||
END *
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = r.valuta_ref --валюта документа
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= r.zayavka_date
|
||
ORDER BY _Period desc) /
|
||
|
||
(SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND CONVERT(date, DATEADD(YEAR, -2000, _Period)) <= r.zayavka_date
|
||
ORDER BY _Period desc) as [Заявки тек, usd2]
|
||
|
||
|
||
|
||
|
||
|
||
FROM req r
|
||
|
||
JOIN MAG_2019.dbo._Reference188X1 n ON n._IDRRef = r.nom_1c_id
|
||
LEFT JOIN MAG_2019.dbo._Reference215X1 prt ON prt._IDRRef = r.partner_1c_id
|
||
LEFT JOIN MAG_2019.dbo._Reference168 ctg ON ctg._IDRRef = r.contractor_1c_id
|
||
LEFT JOIN MAG_2019.dbo._Reference50 val ON val._IDRRef = r.valuta_ref
|
||
LEFT JOIN analytics.manufacturer_counterparty_map map ON map.contractor_1c_id = r.contractor_1c_id
|
||
LEFT JOIN analytics.v_manufacturers_roi_compat man ON man.id = map.manufacturer_id
|
||
LEFT JOIN pbi.[groups] g ON n._ParentIDRRef = g.[1c_id]
|
||
OUTER APPLY (
|
||
SELECT TOP 1 ISNULL(NULLIF(up.upakovka, 0), 1) AS base_pack
|
||
FROM pbi.[БазоваяУпаковка] up
|
||
WHERE up._OwnerID_RRRef = r.nom_1c_id
|
||
) AS pack
|
||
LEFT JOIN deduct d ON d.zayavka_id = r.zayavka_id AND d.nom_1c_id = r.nom_1c_id;
|
||
GO
|
||
|
||
/****** Object: View [pbi].[значения доп реквизитов номенклатуры] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[значения доп реквизитов номенклатуры]as
|
||
SELECT
|
||
rf._Reference188_IDRRef
|
||
, _Fld21137RRef
|
||
, [_Fld21138_TYPE]
|
||
, [_Fld21138_RTRef]
|
||
, case [_Fld21138_TYPE]
|
||
WHEN 0x02 THEN CAST(CAST([_Fld21138_L] as int) as nvarchar)
|
||
WHEN 0x03 THEN CAST([_Fld21138_N] as nvarchar)
|
||
WHEN 0x04 THEN CAST([_Fld21138_T] as nvarchar)
|
||
WHEN 0x05 THEN [_Fld21138_S]
|
||
WHEN 0x08 THEN
|
||
CASE [_Fld21138_RTRef]
|
||
WHEN 0x00000085 THEN zn._Description
|
||
WHEN 0x0000012A THEN sk._Description
|
||
WHEN 0x000000E4 THEN us._Description
|
||
WHEN 0x000000BC THEN n._Description
|
||
WHEN 0x000000C6 THEN org._Description
|
||
END
|
||
END as 'value'
|
||
FROM [MAG_2019].[dbo].[_Reference188_VT21135X1] rf
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference133X1] zn ON zn._IDRRef = rf._Fld21138_RRRef/*Значения свойств объектов*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference298X1] sk ON sk._IDRRef = rf._Fld21138_RRRef/*склады*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference228X1] us ON us._IDRRef = rf._Fld21138_RRRef/*пользователи*/
|
||
LEFT JOIN [MAG_2019].[dbo]._Reference188X1 n ON n._IDRRef = rf._Fld21138_RRRef/*номенклатура*/
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference198X1] org ON org._IDRRef = rf._Fld21138_RRRef /*организации*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[ЛогЗаказов] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[ЛогЗаказов] as
|
||
SELECT [_Period]
|
||
,[_Fld27034RRef] as zakazNum
|
||
, case [_Fld27036RRef]
|
||
WHEN 0xA0246AE133C0E27F4B98056779E0C46F then 'Создан'
|
||
WHEN 5 then 'ОбрабатываетсяМенеджером'
|
||
WHEN 5 then 'СобираетсяНаСкладе'
|
||
WHEN 5 then 'СобранНаСкладе'
|
||
WHEN 0xBD0BB146294D59F849B1A47CC0FADAA8 then 'Отгружен'
|
||
WHEN 0xBB03030B7C212B9943817BEBAECB25F6 then 'Закрыт'
|
||
WHEN 0x85CE81BA5F726FFB4F95EB78CFC3BB16 then 'КОбеспечению'
|
||
WHEN 0x9E7046572889AD6A44C2D0C5B6482CEA then 'КПроверке'
|
||
WHEN 0x8D47C8F6E3E225324C30970997C3A72E then 'КОтгрузке'
|
||
WHEN 0xBDDE20C3E855004349685F0313E5D26C then 'Оплачен'
|
||
else 'СтатусНеопределен' end as 'status'
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg27033X1]
|
||
GROUP BY [_Fld27034RRef],_Period, [_Fld27036RRef]
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Организация] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[Организация] as --Справочник организаций
|
||
select
|
||
DISTINCT([Организация])
|
||
FROM [mag_pbi].[pbi].[Себестоимость+СебестоимостьПродаж]
|
||
WHERE [Организация] IS NOT NULL
|
||
GO
|
||
|
||
/****** Object: View [pbi].[ОстаткиTotal] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[ОстаткиTotal]
|
||
AS
|
||
SELECT [artic_id]
|
||
,[Code]
|
||
,[sklad]
|
||
,[Категория склада]
|
||
,[upakovka]
|
||
,[date]
|
||
|
||
-- количество упаковок накопительным итогом
|
||
,coalesce(sum([upakovok]) over (partition by [sklad], [artic_id] order by osh.[date]
|
||
rows between unbounded preceding and current row),
|
||
0) as total_upakovok
|
||
|
||
-- количество шт накопительным итогом
|
||
,coalesce(sum([quantity]) over (partition by [sklad], [artic_id] order by osh.[date]
|
||
rows between unbounded preceding and current row),
|
||
0) as total_quantity
|
||
|
||
FROM mag_pbi.pbi.ostatki_short osh
|
||
WHERE [Категория склада] <> 'Виртуальный'
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Партнеры] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[Партнеры] AS
|
||
|
||
WITH base AS (
|
||
select
|
||
|
||
--, p.*
|
||
p._IDRRef as [1c_id]
|
||
, p._Code
|
||
, LOWER(CONCAT(
|
||
SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2), 25,8),'-',
|
||
SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),21,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),17,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),1,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), p._IDRRef, 2),5,12) )) as [partner_id]
|
||
, (SELECT TOP 1 _Fld27512 FROM [MAG_2019].[dbo].[_InfoRg27507X1] WHERE _Fld27510_RRRef = p._IDRRef) as [bitrix_id] /* Bitrix ID Партнер из РегистрСведений.Б24_Синхр_ИдентификаторыОбъектов */
|
||
, p._Description as [partner]
|
||
, r._Description as region
|
||
, (SELECT TOP 1 q._Description FROM [mag_2019].[dbo].[_Reference48] q WHERE q.[_IDRRef] = r.[_ParentIDRRef]) as oblast
|
||
, (SELECT TOP 1 g._Description
|
||
FROM [mag_2019].[dbo].[_Reference48] g
|
||
WHERE g.[_IDRRef] = (
|
||
SELECT TOP 1 q._ParentIDRRef FROM [mag_2019].[dbo].[_Reference48] q WHERE q.[_IDRRef] = r.[_ParentIDRRef])) as okrug
|
||
, p._Fld21809RRef as [1c_manager_id]
|
||
, (SELECT _description FROM [MAG_2019].[dbo].[_Reference228X1] WHERE _IDRRef = p._Fld21809RRef) as [Основной менеджер]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), p._Fld21809RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), p._Fld21809RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), p._Fld21809RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), p._Fld21809RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), p._Fld21809RRef, 2),5,12) ))as manager_id
|
||
|
||
, (select _Description from [MAG_2019].[dbo].[_Reference133X1] r1
|
||
where r1._IDRRef =
|
||
(select _Fld21824_RRRef from [MAG_2019].[dbo].[_Reference215_VT21821X1]
|
||
where _Reference215_IDRRef = p._IDRRef AND _Fld21823RRef = 0x997EB49691D57EFD11ECC5660A03B95B
|
||
))as [Направление деятельности]
|
||
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference133X1] r1
|
||
WHERE r1._IDRRef =
|
||
(SELECT _Fld21824_RRRef
|
||
FROM [MAG_2019].[dbo].[_Reference215_VT21821X1]
|
||
WHERE _Reference215_IDRRef = p._IDRRef AND _Fld21823RRef = 0x80EE0CC47A052DFD11E74AB551FB3177
|
||
)) as [Что шьют?]
|
||
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference133X1] r1
|
||
WHERE r1._IDRRef =
|
||
(SELECT _Fld21824_RRRef FROM [MAG_2019].[dbo].[_Reference215_VT21821X1]
|
||
WHERE _Reference215_IDRRef = p._IDRRef AND _Fld21823RRef = 0x997DB49691D57EFD11EC9C58903BD50D
|
||
)) as [Статус партнера]
|
||
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference133X1] r1
|
||
WHERE r1._IDRRef =
|
||
(SELECT _Fld21824_RRRef FROM [MAG_2019].[dbo].[_Reference215_VT21821X1]
|
||
WHERE _Reference215_IDRRef = p._IDRRef AND _Fld21823RRef = 0x998DB49691D57EFD11F0A297E91F7A80
|
||
)) as [Статус по динамике 2025/2024]
|
||
|
||
, (SELECT _Description FROM [MAG_2019].[dbo].[_Reference133X1] r1
|
||
WHERE r1._IDRRef =
|
||
(SELECT _Fld21824_RRRef FROM [MAG_2019].[dbo].[_Reference215_VT21821X1]
|
||
WHERE _Reference215_IDRRef = p._IDRRef AND _Fld21823RRef = 0x998DB49691D57EFD11F0A29821A66692
|
||
)) as [Статус по обороту 2025]
|
||
|
||
,(SELECT _Description
|
||
FROM MAG_2019.dbo._Reference133X1 AS r1
|
||
WHERE (_IDRRef =
|
||
(SELECT _Fld21824_RRRef
|
||
FROM MAG_2019.dbo._Reference215_VT21821X1 AS _Reference215_VT21821X1_1
|
||
WHERE (_Reference215_IDRRef = p._IDRRef) AND (_Fld21823RRef = 0x80D40CC47A052DFD11E6B18C02F2A68E)))) AS Category
|
||
|
||
, case when p._Fld21805 =0x01 then 1 else 0 end as 'client' /**/
|
||
, case when p._Fld21807 =0x01 then 1 else 0 end as 'supplier' /**/
|
||
, case when p._Fld21810 =0x01 then 1 else 0 end as 'konkurent' /**/
|
||
, p._IDRRef as partner_ref
|
||
, DATEADD(year, -2000, p._Fld21804) as [ДатаРегистрации]
|
||
|
||
, (select Sg._Description FROM [MAG_2019].[dbo].[_Reference286] Sg /*Справочник Сегменты клиентов*/
|
||
where Sg._IDRRef =
|
||
(select top 1 _Fld13942RRef from [MAG_2019].[dbo].[_InfoRg13941] /*РС Партнеры Сегмента*/
|
||
where _Fld13943RRef = p._IDRRef)) as [Сегмент]
|
||
|
||
|
||
FROM [mag_2019].[dbo]._Reference215X1 p /* партнер */
|
||
LEFT JOIN [mag_2019].[dbo].[_Reference48] r /* бизнес регион */
|
||
ON p._Fld21802RRef = r._IDRRef
|
||
|
||
/*LEFT JOIN [MAG_2019].[dbo].[_Reference215_VT21821X1] ref -- доп реквизиты партнеров
|
||
ON ref._Reference215_IDRRef = p._IDRRef
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference181] r1 --справочник направления деятельности
|
||
ON r1._IDRRef = ref._Fld21824_RRRef
|
||
where 0x997EB49691D57EFD11ECC5660A03B95B = ref._Fld21823RRef -- отбираем по доп реквизиту "направление деятельности(битрикс24)" таблица chr1109
|
||
*/
|
||
WHERE p._Marked = 0
|
||
)
|
||
|
||
SELECT
|
||
b.[1c_id]
|
||
,b.[_Code]
|
||
,b.[partner_id]
|
||
,b.[bitrix_id]
|
||
,b.[partner]
|
||
,b.[region]
|
||
,b.[oblast]
|
||
,b.[okrug]
|
||
,b.[1c_manager_id]
|
||
,b.[Основной менеджер]
|
||
,b.[manager_id]
|
||
,b.[Направление деятельности]
|
||
,b.[Что шьют?]
|
||
,b.[Статус партнера]
|
||
,b.[Статус по динамике 2025/2024]
|
||
,b.[Статус по обороту 2025]
|
||
,b.[Category]
|
||
,b.[client]
|
||
,b.[supplier]
|
||
,b.[konkurent]
|
||
,b.[partner_ref]
|
||
,b.[ДатаРегистрации]
|
||
,b.[Сегмент]
|
||
, (select top 1 [Период] FROM [mag_pbi].[pbiProd].[СебестоимостьСводныйОт2022] s
|
||
WHERE s.[PartnerId] = b.[partner_id]
|
||
AND [Вид операции] = 'Расход' AND [Статья] = 'Реализация'
|
||
ORDER BY [Период] ASC) as [Дата первого заказа]
|
||
FROM base b
|
||
GO
|
||
|
||
/****** Object: View [pbi].[ПартнерыКонтрагенты] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
create view [pbi].[ПартнерыКонтрагенты] as
|
||
SELECT
|
||
_Description
|
||
, _IDRRef
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), c._IDRRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), c._IDRRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), c._IDRRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), c._IDRRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), c._IDRRef, 2),5,12) ))as cagent_id
|
||
,c._Fld20612RRef as partner_1cid
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), c._Fld20612RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), c._Fld20612RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), c._Fld20612RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), c._Fld20612RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), c._Fld20612RRef, 2),5,12) ))as partner_id
|
||
from MAG_2019.dbo._Reference168 c
|
||
GO
|
||
|
||
/****** Object: View [pbi].[ПартнерыСегменты] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
create view [pbi].[partner_segments] as
|
||
select
|
||
|
||
RS._Fld13943RRef as [1c_parnter_id],
|
||
LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), _Fld13943RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), _Fld13943RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), _Fld13943RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), _Fld13943RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), _Fld13943RRef, 2),5,12) ))as partner_id,
|
||
Sg._Description as [Сегмент]
|
||
|
||
from MAG_2019.dbo._InfoRg13941 as RS /*РС Партнеры Сегмента*/
|
||
|
||
left join MAG_2019.dbo._Reference286 as Sg /*Справочник Сегменты клиентов*/
|
||
|
||
on RS._Fld13942RRef = Sg._IDRRef
|
||
GO
|
||
|
||
/****** Object: View [pbi].[ПланПродажМенеджеров] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Скрипт для команды SelectTopNRows из среды SSMS ******/
|
||
|
||
CREATE view [pbi].[ПланПродажМенеджеров]
|
||
as
|
||
SELECT
|
||
dateadd(year, -2000, [_Fld27878]) as [_Fld27878]
|
||
,[_Fld27879RRef] as [1c_id]
|
||
,LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld27879RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld27879RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld27879RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld27879RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld27879RRef], 2),5,12) ))as [user_id]
|
||
,[_Fld27880] as [план продаж]
|
||
, us._Description as [Менеджер]
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg27877] i -- регистр сведений план продаж менеджеров
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference228X1] us /* пользователи */ on us._IDRRef =i._Fld27879RRef
|
||
GO
|
||
|
||
/****** Object: View [pbi].[ПланыПродажПоГруппам] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[ПланыПродажПоГруппам] as
|
||
SELECT
|
||
DATEADD(year, -2000, _Fld27907) as [Месяц],
|
||
--(SELECT _description FROM MAG_2019.dbo._Reference188X1 n WHERE n._IDRRef = _Fld27908RRef) as [Группа],
|
||
--_Fld27908RRef as [Группа],
|
||
LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), _Fld27908RRef, 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), _Fld27908RRef, 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), _Fld27908RRef, 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), _Fld27908RRef, 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), _Fld27908RRef, 2),5,12) ))as [group_id],
|
||
_Fld27909 as [План продаж],
|
||
-- _Fld28446 as [План маржи]
|
||
(select us7._Description FROM [MAG_2019].[dbo].[_Reference228X1] us7 WHERE us7.[_IDRRef] = rg._Fld33700RRef) as [Товарный менеджер],
|
||
(select us7._Description FROM [MAG_2019].[dbo].[_Reference228X1] us7 WHERE us7.[_IDRRef] = rg._Fld33714RRef) as [Менеджер по закупкам]
|
||
|
||
FROM mag_2019.dbo._InfoRg27906 rg --РегистрСведений.ПланыПродажПоГруппам
|
||
WHERE DATEADD(year, -2000, _Fld27907) >= '2023'
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Расходы по годам] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [pbi].[Расходы по годам] as
|
||
SELECT [Категория], Год, sum( Сумма) as [Сумма] FROM (
|
||
SELECT
|
||
g as 'Категория'
|
||
, Год
|
||
, -[Сумма] as 'Сумма'
|
||
FROM [mag_pbi].[analytics].[income_expence]
|
||
WHERE Дата > '2018'
|
||
AND g NOT IN ('Приход', 'Закупка')
|
||
AND g1 NOT IN ('Дедовск_Аренда склада А', 'Сдача А', 'Сдача Е1')
|
||
) as t
|
||
|
||
GROUP BY [Категория], Год
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Резервы] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[Резервы]
|
||
AS
|
||
|
||
WITH base AS (
|
||
SELECT
|
||
CAST(GETDATE() AS DATE) AS [Дата обновления],
|
||
so._Fld17246RRef, -- оставляем GUID для связи с упаковкой
|
||
s._Description as [Склад],
|
||
|
||
-- считаем суммы один раз
|
||
--SUM(CASE WHEN _RecordKind = 1 THEN -so._Fld17250 ELSE so._Fld17249 END) as [В наличии, шт],
|
||
SUM(CASE WHEN _RecordKind = 1 THEN -so._Fld17250 ELSE so._Fld17250 END) as [В резерве со склада, шт],
|
||
SUM(CASE WHEN _RecordKind = 1 THEN -so._Fld17251 ELSE so._Fld17251 END) as [В резерве под заказ, шт]
|
||
|
||
FROM [MAG_2019].[dbo].[_AccumRg17245] so /*РегистрНакопления.СвободныеОстатки*/
|
||
INNER JOIN [mag_pbi].[pbi].[sklad_2019] s /*склад*/ ON s._IDRRef = so._Fld17248RRef
|
||
WHERE (so._Fld17250 > 0 OR so._Fld17251 > 0) AND so._Period > '01-01-4025'
|
||
GROUP BY so._Fld17246RRef, s._Description
|
||
)
|
||
|
||
SELECT
|
||
b.[Дата обновления],
|
||
|
||
-- строим artic_id только здесь
|
||
LOWER(CONCAT(
|
||
SUBSTRING ( convert(nvarchar(36), b._Fld17246RRef, 2), 25,8),'-',
|
||
SUBSTRING ( convert(nvarchar(36), b._Fld17246RRef, 2),21,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), b._Fld17246RRef, 2),17,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), b._Fld17246RRef, 2),1,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), b._Fld17246RRef, 2),5,12)
|
||
)) as [artic_id],
|
||
|
||
b.[Склад],
|
||
--b.[В резерве со склада, шт],
|
||
--b.[В резерве под заказ, шт],
|
||
--b.[В наличии, шт],
|
||
/*b.[В наличии, шт] /
|
||
CASE
|
||
WHEN up.upakovka = 0 OR up.upakovka IS NULL THEN 1
|
||
ELSE up.upakovka
|
||
END as [В наличии, упак],*/
|
||
|
||
(b.[В резерве со склада, шт] + b.[В резерве под заказ, шт]) as [В резерве всего, шт],
|
||
(b.[В резерве со склада, шт] + b.[В резерве под заказ, шт]) /
|
||
CASE
|
||
WHEN up.upakovka = 0 OR up.upakovka IS NULL THEN 1
|
||
ELSE up.upakovka
|
||
END as [В резерве всего, упак]
|
||
|
||
FROM base b
|
||
OUTER APPLY (
|
||
SELECT TOP 1 upakovka
|
||
FROM mag_pbi.pbi.[БазоваяУпаковка] up
|
||
WHERE up._OwnerID_RRRef = b._Fld17246RRef
|
||
) up
|
||
WHERE b.[В резерве со склада, шт] <> 0 OR b.[В резерве под заказ, шт] <> 0;
|
||
GO
|
||
|
||
/****** Object: View [pbi].[РекламаМаркетплейсы] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbi].[РекламаМаркетплейсы] as
|
||
SELECT
|
||
DATEADD(year, -2000, [_Period]) AS [Дата]
|
||
,[_Fld33745] as [Узел]
|
||
,[_Fld33746RRef] as [1c_id]
|
||
,LOWER(CONCAT(
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33746RRef], 2), 25,8),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33746RRef], 2),21,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33746RRef], 2),17,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33746RRef], 2),1,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33746RRef], 2),5,12) )) as [artic_id]
|
||
|
||
,[_Fld33747] as [Номер кампании]
|
||
,[_Fld33748] as [Тип кампании]
|
||
,[_Fld33749] as [Просмотры]
|
||
,[_Fld33750] as [Клики]
|
||
|
||
,NULL as [atbs кол-во добавлений в корзину]
|
||
|
||
,[_Fld33751]/1000 as [Затраты, руб]
|
||
,[_Fld33751]/1000 / (SELECT TOP 1 _Fld13220/_Fld13221 FROM [mag_2019].[dbo].[_InfoRg13218] k--РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND DATEADD(year, -2000, k._Period) <= dateadd(year, -2000, oz.[_Period])
|
||
ORDER BY k._Period desc) as [Затраты, usd]
|
||
,[_Fld33752]/1000 as [Стоимость клика, руб]
|
||
,[_Fld33753] as [Количество заказов]
|
||
,[_Fld33754]/1000 as [Сумма заказов]
|
||
,[_Fld33755] as [Ставка поиск, %]
|
||
,[_Fld33756]/1000 as [Ставка поиск, руб]
|
||
,[_Fld33757] as [Охват, %]
|
||
|
||
,NULL as [cr кол-во заказов / кол-во посещений]
|
||
,NULL as [Заказано товаров, упак]
|
||
,NULL as [Дата начала]
|
||
|
||
,[_Fld33758] as [id_product]
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg33744] oz /*РегистрСведений.ДанныеПоРекламеOzon*/
|
||
UNION ALL
|
||
SELECT
|
||
DATEADD(year, -2000, [_Period]) AS [Дата]
|
||
,[_Fld33721] as [Узел]
|
||
,[_Fld33722RRef] as [1c_id]
|
||
,LOWER(CONCAT(
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33722RRef], 2), 25,8),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33722RRef], 2),21,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33722RRef], 2),17,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33722RRef], 2),1,4),'-',
|
||
SUBSTRING ( convert(nvarchar(36), [_Fld33722RRef], 2),5,12) )) as [artic_id]
|
||
|
||
,convert(nvarchar(150),[_Fld33724]) as [Номер кампании]
|
||
,[_Fld33723] as [Тип кампании]
|
||
,[_Fld33725] as [Просмотры]
|
||
,[_Fld33726] as [Клики]
|
||
,[_Fld33728] as [atbs кол-во добавлений в корзину]
|
||
,[_Fld33727]/1000 as [Затраты, руб]
|
||
,[_Fld33727]/1000 / (SELECT TOP 1 _Fld13220/_Fld13221 FROM [mag_2019].[dbo].[_InfoRg13218] k--РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND DATEADD(year, -2000, k._Period) <= dateadd(year, -2000, wb.[_Period])
|
||
ORDER BY k._Period desc) as [Затраты, usd]
|
||
,([_Fld33727]/1000)/(case [_Fld33726]
|
||
when 0 then 1
|
||
else ISNULL([_Fld33726], 1) end) as [Стоимость клика, руб]
|
||
|
||
,[_Fld33729] as [Количество заказов]
|
||
,[_Fld33732]/1000 as [Сумма заказов]
|
||
|
||
,NULL as [Ставка поиск, %]
|
||
,NULL as [Ставка поиск, руб]
|
||
,NULL as [Охват, %]
|
||
|
||
,[_Fld33730] as [cr кол-во заказов / кол-во посещений]
|
||
,[_Fld33731] as [Заказано товаров, упак]
|
||
,DATEADD(year, -2000, [_Fld33734]) as [Дата начала]
|
||
,[_Fld33733] as [id_product]
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg33720] wb /*РегистрСведений.ДанныеПоРекламеWB*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Сборки] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [pbi].[Сборки] as
|
||
|
||
SELECT
|
||
DATEADD(year, -2000, z.[_Date_Time]) as [Дата документа]
|
||
,z.[_Number] as [Номер документа]
|
||
, k._Fld28069RRef as [Вариант комплектации]
|
||
, k._Fld28059RRef as [ИД номенклатура комплекта]
|
||
, (SELECT _description FROM MAG_2019.dbo._Reference188X1 n where n._IDRRef = k._Fld28059RRef )-- номенклатура комплекта
|
||
as [номенклатура комплекта]
|
||
, k._Fld28062 * isnull( (SELECT _Fld24768 FROM [MAG_2019].dbo._Reference347X1 u WHERE u._IDRRef = k._Fld28061RRef), 1)
|
||
as [кол-во комплекта]
|
||
, t._Fld3381RRef as [ИД номенклатура комплектации]
|
||
, (SELECT _description FROM MAG_2019.dbo._Reference188X1 n where n._IDRRef = t._Fld3381RRef )-- номенклатура комплектации
|
||
as [номенклатура комплектации]
|
||
, t._Fld3386 * isnull( (SELECT _Fld24768 FROM [MAG_2019].dbo._Reference347X1 u WHERE u._IDRRef = t._Fld3384RRef), 1)
|
||
as [количество комплектации]
|
||
, (
|
||
SELECT
|
||
sum(r._Fld27811)
|
||
FROM [MAG_2019].[dbo].[_Document407_VT27806] r-- работы
|
||
WHERE r._Document407_IDRRef = z._IDRRef AND r._Fld28056 = k._Fld28070--код строки
|
||
) as [работы]
|
||
--, t._Fld3386 -- упаковок комплектации
|
||
FROM [MAG_2019].[dbo].[_Document407] z-- Заказ на сборку
|
||
INNER JOIN [MAG_2019].[dbo].[_Document407_VT28057] k -- Комплекты
|
||
ON z._IDRRef = k._Document407_IDRRef
|
||
INNER JOIN [MAG_2019].[dbo].[_Document407_VT3379] t -- товары -- комплектующик
|
||
ON t._Document407_IDRRef = z._IDRRef AND t._Fld28055 = k._Fld28070--код строки
|
||
WHERE z._Posted = 1
|
||
and z.[_Fld3352RRef] = 0x97266ED3BEFAB868480833CDF0FCF236 -- статус закрыт
|
||
and t._Fld3392 = 0 --не отменено
|
||
and k._Fld28152 = 0 --не отменено
|
||
|
||
--and z.[_number] = 'АНУТ-000753' and _Date_Time = '4023-03-20 07:01:24'
|
||
|
||
|
||
/* ,[_Fld3348RRef]
|
||
,[_Fld3349RRef]
|
||
,[_Fld3350RRef]
|
||
,[_Fld3351RRef]
|
||
,[_Fld3353RRef]
|
||
,[_Fld3354RRef]
|
||
,[_Fld3355RRef]
|
||
,[_Fld3356]
|
||
,[_Fld3357]
|
||
,[_Fld3358]
|
||
,[_Fld3359]
|
||
,[_Fld3360]
|
||
,[_Fld3361]
|
||
,[_Fld3362]
|
||
,[_Fld3363]
|
||
,[_Fld3364RRef]
|
||
,[_Fld3365RRef]
|
||
,[_Fld3366RRef]
|
||
,[_Fld3367]
|
||
,[_Fld3368RRef]
|
||
,[_Fld3369RRef]
|
||
,[_Fld3370RRef]
|
||
,[_Fld3371RRef]
|
||
,[_Fld3372]
|
||
,[_Fld3373]
|
||
,[_Fld3374RRef]
|
||
,[_Fld3375RRef]
|
||
,[_Fld3376RRef]
|
||
,[_Fld3377]
|
||
,[_Fld3378RRef]
|
||
,[_Fld27875RRef]
|
||
,[_Fld27876RRef]
|
||
,[_Fld28054RRef]
|
||
,[_Fld28230RRef]
|
||
,[_Fld28241]
|
||
,[_Fld28242]
|
||
,[_Fld28681]
|
||
,[_Fld1150]*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[сборки_комплектующие] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[сборки_комплектующие]as
|
||
SELECT
|
||
DATEADD(year, -2000, z._Date_Time) as [Период]
|
||
, z._Number as [Номер документа]
|
||
, n._IDRRef as [1c_id]
|
||
, n._Description as [Номенклатура]
|
||
, LOWER(CONCAT(SUBSTRING(convert(nvarchar(36),n._IDRRef, 2), 25,8),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),21,4),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),17,4),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),1,4),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),5,12))) as [artic_id]
|
||
, -1 * t._Fld3386 * isnull( (SELECT _Fld24768 FROM [MAG_2019].dbo._Reference347X1 u WHERE u._IDRRef = t._Fld3384RRef), 1) as [Количество]
|
||
, CASE
|
||
WHEN n._Fld21101RRef=0x80C5305A3A00E12B11E5845202CA01FB THEN 'Руб'
|
||
WHEN n._Fld21101RRef=0x80C5305A3A00E12B11E584520AEC30EC THEN 'Вал'
|
||
ELSE 'Неопределено'
|
||
END as [Ценовая группа]
|
||
, t._Fld28055 as [код строки]
|
||
|
||
FROM [MAG_2019].[dbo].[_Document407] z-- Заказ на сборку
|
||
INNER JOIN [MAG_2019].[dbo].[_Document407_VT3379] t -- товары -- комплектующик
|
||
ON t._Document407_IDRRef = z._IDRRef-- AND t._Fld28055 = k._Fld28070--код строки
|
||
INNER JOIN MAG_2019.dbo._Reference188X1 n ON n._IDRRef = t._Fld3381RRef
|
||
|
||
WHERE z._Posted = 1
|
||
and z.[_Fld3352RRef] = 0x97266ED3BEFAB868480833CDF0FCF236 -- статус закрыт
|
||
and t._Fld3392 = 0 --не отменено
|
||
--and t._Fld28055 > 0 -- номер строки комплекта
|
||
and z._Fld3375RRef = 0x8374C64FF49E4478480E940AF675A52B -- сборка; разборка - 0xACE76F03B97D94454E799ED5AD2322CE
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Сборки_комплекты] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [pbi].[Сборки_комплекты] as
|
||
|
||
SELECT
|
||
DATEADD(year, -2000, z.[_Date_Time]) as [Период]
|
||
,z.[_Number] as [Номер документа]
|
||
, k._Fld28069RRef as [Вариант комплектации]
|
||
, k._Fld28059RRef as [1c_id]
|
||
, n._Description-- номенклатура комплекта
|
||
as [номенклатура]
|
||
, LOWER(CONCAT(SUBSTRING(convert(nvarchar(36),n._IDRRef, 2), 25,8),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),21,4),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),17,4),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),1,4),'-',SUBSTRING(convert(nvarchar(36), n._IDRRef, 2),5,12))) as [artic_id]
|
||
, k._Fld28062 * isnull( (SELECT _Fld24768 FROM [MAG_2019].dbo._Reference347X1 u WHERE u._IDRRef = k._Fld28061RRef), 1)
|
||
as [количество]
|
||
, CASE
|
||
WHEN n._Fld21101RRef=0x80C5305A3A00E12B11E5845202CA01FB THEN 'Руб'
|
||
WHEN n._Fld21101RRef=0x80C5305A3A00E12B11E584520AEC30EC THEN 'Вал'
|
||
ELSE 'Неопределено'
|
||
END as [Ценовая группа]
|
||
, k._Fld28070 as [код строки]
|
||
|
||
FROM [MAG_2019].[dbo].[_Document407] z-- Заказ на сборку
|
||
INNER JOIN [MAG_2019].[dbo].[_Document407_VT28057] k -- Комплекты
|
||
ON z._IDRRef = k._Document407_IDRRef
|
||
INNER JOIN MAG_2019.dbo._Reference188X1 n
|
||
ON n._IDRRef = k._Fld28059RRef
|
||
WHERE z._Posted = 1
|
||
and z.[_Fld3352RRef] = 0x97266ED3BEFAB868480833CDF0FCF236 -- статус закрыт
|
||
and k._Fld28152 = 0 --не отменено
|
||
and z._Fld3375RRef = 0x8374C64FF49E4478480E940AF675A52B
|
||
|
||
--and z.[_number] = 'АНУТ-000753' and _Date_Time = '4023-03-20 07:01:24'
|
||
|
||
|
||
/* ,[_Fld3348RRef]
|
||
,[_Fld3349RRef]
|
||
,[_Fld3350RRef]
|
||
,[_Fld3351RRef]
|
||
,[_Fld3353RRef]
|
||
,[_Fld3354RRef]
|
||
,[_Fld3355RRef]
|
||
,[_Fld3356]
|
||
,[_Fld3357]
|
||
,[_Fld3358]
|
||
,[_Fld3359]
|
||
,[_Fld3360]
|
||
,[_Fld3361]
|
||
,[_Fld3362]
|
||
,[_Fld3363]
|
||
,[_Fld3364RRef]
|
||
,[_Fld3365RRef]
|
||
,[_Fld3366RRef]
|
||
,[_Fld3367]
|
||
,[_Fld3368RRef]
|
||
,[_Fld3369RRef]
|
||
,[_Fld3370RRef]
|
||
,[_Fld3371RRef]
|
||
,[_Fld3372]
|
||
,[_Fld3373]
|
||
,[_Fld3374RRef]
|
||
,[_Fld3375RRef]
|
||
,[_Fld3376RRef]
|
||
,[_Fld3377]
|
||
,[_Fld3378RRef]
|
||
,[_Fld27875RRef]
|
||
,[_Fld27876RRef]
|
||
,[_Fld28054RRef]
|
||
,[_Fld28230RRef]
|
||
,[_Fld28241]
|
||
,[_Fld28242]
|
||
,[_Fld28681]
|
||
,[_Fld1150]*/
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Себестоимость+СебестоимостьПродаж] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/*where [Вид операции] = 'Продажа'
|
||
and sebesSales.ЗатратыМП <> 0 */
|
||
CREATE VIEW [pbi].[Себестоимость+СебестоимостьПродаж]
|
||
AS
|
||
SELECT
|
||
[id],
|
||
[Период],
|
||
[Статья],
|
||
[Вид операции],
|
||
[Хоз операция],
|
||
[Организация],
|
||
[Партнер],
|
||
[PartnerId],
|
||
[Контрагент],
|
||
[Менеджер],
|
||
[Тип документа],
|
||
[Номер документа],
|
||
[Валюта документа],
|
||
[Ценовая группа],
|
||
[1c_document_id],
|
||
[1c_id],
|
||
[artic_id],
|
||
[Количество],
|
||
[Сумма],
|
||
[СуммаБезНДС],
|
||
[СуммаРучнойСкидки],
|
||
[СуммаАвтоСкидки],
|
||
CASE
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND PriceListPrice IS NOT NULL THEN -(PriceListPrice * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN -(AnyPrice * [Количество]) / 1000
|
||
ELSE [Закупка]
|
||
END AS [Закупка],
|
||
CASE
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND PriceListPrice IS NOT NULL THEN -(PriceListPrice / [Курс usd2] * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN -(AnyPrice / [Курс usd2] * [Количество]) / 1000
|
||
ELSE [Закупка, usd2]
|
||
END AS [Закупка, usd2],
|
||
[Курс usd2],
|
||
[Курс usd],
|
||
[Таможня],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN PriceListPrice / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN AnyPrice / 1000
|
||
ELSE [Учетная цена]
|
||
END AS [Учетная цена],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN PriceListPrice / [Курс usd2] / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN AnyPrice / [Курс usd2] / 1000
|
||
ELSE [Учетная цена USD2+2]
|
||
END AS [Учетная цена USD2+2],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN (PriceListPrice * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN (AnyPrice * [Количество]) / 1000
|
||
ELSE [Учетная стоимость]
|
||
END AS [Учетная стоимость],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN (PriceListPrice / [Курс usd2] * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN (AnyPrice / [Курс usd2] * [Количество]) / 1000
|
||
ELSE [Учетная стоимость USD2+2]
|
||
END AS [Учетная стоимость USD2+2],
|
||
[Заказ закрыт],
|
||
[Номер заказа],
|
||
[Доставка],
|
||
[НДС],
|
||
[Сборка],
|
||
PriceListPrice
|
||
FROM
|
||
(SELECT
|
||
sebes.id,
|
||
sebes.Период,
|
||
sebes.Статья,
|
||
sebes.[Вид операции],
|
||
sebes.[Хоз операция],
|
||
sebes.Организация,
|
||
sebes.Партнер,
|
||
sebes.PartnerId,
|
||
sebes.Контрагент,
|
||
sebes.Менеджер,
|
||
sebes.[Тип документа],
|
||
sebes.[Номер документа],
|
||
sebes.[Валюта документа],
|
||
sebes.[Ценовая группа],
|
||
sebes.[1c_document_id],
|
||
sebes.[1c_id],
|
||
sebes.artic_id,
|
||
sebes.Количество,
|
||
sebes.Сумма AS Сумма,
|
||
sebes.СуммаБезНДС,
|
||
sebes.СуммаРучнойСкидки,
|
||
sebes.СуммаАвтоСкидки,
|
||
CASE
|
||
WHEN sebesSales.sZakupka IS NOT NULL THEN sebesSales.sZakupka
|
||
ELSE [Закупка]
|
||
END AS Закупка,
|
||
CASE
|
||
WHEN sebesSales.sZakupkaUsd2 IS NOT NULL THEN sebesSales.sZakupkaUsd2
|
||
ELSE [Закупка, usd2]
|
||
END AS [Закупка, usd2],
|
||
sebes.[Курс usd2],
|
||
sebes.[Курс usd],
|
||
CASE
|
||
WHEN sebesSales.customs IS NOT NULL THEN sebesSales.customs
|
||
ELSE [Таможня]
|
||
END AS Таможня,
|
||
CASE
|
||
WHEN sebesSales.uchetprice IS NOT NULL THEN sebesSales.uchetprice
|
||
ELSE [Учетная цена]
|
||
END AS [Учетная цена],
|
||
CASE
|
||
WHEN sebesSales.uchetpriceUSD22 IS NOT NULL THEN sebesSales.uchetpriceUSD22
|
||
ELSE [Учетная цена USD2+2]
|
||
END AS [Учетная цена USD2+2],
|
||
CASE
|
||
WHEN sebesSales.uchetstoimost IS NOT NULL THEN sebesSales.uchetstoimost
|
||
ELSE [Учетная стоимость]
|
||
END AS [Учетная стоимость],
|
||
CASE
|
||
WHEN sebesSales.uchetstoimostUSD22 IS NOT NULL THEN sebesSales.uchetstoimostUSD22
|
||
ELSE [Учетная стоимость USD2+2]
|
||
END AS [Учетная стоимость USD2+2],
|
||
sebes.[Заказ закрыт],
|
||
sebes.[Номер заказа],
|
||
CASE
|
||
WHEN sebesSales.delivery IS NOT NULL THEN sebesSales.delivery
|
||
ELSE [Доставка]
|
||
END AS Доставка,
|
||
CASE
|
||
WHEN sebesSales.NAT IS NOT NULL THEN sebesSales.NAT
|
||
ELSE [НДС]
|
||
END AS НДС,
|
||
CASE
|
||
WHEN sebesSales.assemble IS NOT NULL THEN sebesSales.assemble
|
||
ELSE [Сборка]
|
||
END AS Сборка,
|
||
(SELECT TOP 1 [Цена] FROM [mag_pbi].[pbi].[pricelist]
|
||
WHERE [Вид цены] = 'Учетная цена (руб)'
|
||
AND Дата <= sebes.Период
|
||
AND sebes.artic_id = artic_id
|
||
ORDER BY Дата DESC) AS PriceListPrice,
|
||
(SELECT TOP 1 [Цена] FROM [mag_pbi].[pbi].[pricelist]
|
||
WHERE [Вид цены] = 'Учетная цена (руб)'
|
||
AND sebes.artic_id = artic_id
|
||
ORDER BY Дата) AS AnyPrice
|
||
FROM
|
||
pbi.Себестоимость AS sebes
|
||
LEFT OUTER JOIN
|
||
(SELECT
|
||
[1c_document_id] AS onecid,
|
||
artic_id AS articid,
|
||
Закупка AS sZakupka,
|
||
[Закупка, usd2] AS sZakupkaUsd2,
|
||
Таможня AS customs,
|
||
ЕАЭС AS eas,
|
||
Доставка AS delivery,
|
||
НДС AS NAT,
|
||
Сборка AS assemble,
|
||
Сумма AS SumSales,
|
||
ЗатратыМП,
|
||
sebes_id,
|
||
[Учетная цена] AS uchetprice,
|
||
[Учетная цена USD2+2] AS uchetpriceUSD22,
|
||
[Учетная стоимость] AS uchetstoimost,
|
||
[Учетная стоимость USD2+2] AS uchetstoimostUSD22
|
||
FROM
|
||
pbi.СебестоимостьПродажи) AS sebesSales ON sebesSales.sebes_id = sebes.id
|
||
) AS mainTab
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Себестоимость+СебестоимостьПродажОт2022] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/*where [Вид операции] = 'Продажа'
|
||
and sebesSales.ЗатратыМП <> 0 */
|
||
CREATE VIEW [pbi].[Себестоимость+СебестоимостьПродажОт2022]
|
||
AS
|
||
SELECT
|
||
[id],
|
||
[Период],
|
||
[Статья],
|
||
[Вид операции],
|
||
[Хоз операция],
|
||
[Организация],
|
||
[Партнер],
|
||
[PartnerId],
|
||
[Контрагент],
|
||
[Менеджер],
|
||
[Тип документа],
|
||
[Номер документа],
|
||
[Валюта документа],
|
||
[Ценовая группа],
|
||
[1c_document_id],
|
||
[1c_id],
|
||
[artic_id],
|
||
[Количество],
|
||
[Сумма],
|
||
[СуммаБезНДС],
|
||
[СуммаРучнойСкидки],
|
||
[СуммаАвтоСкидки],
|
||
CASE
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND PriceListPrice IS NOT NULL THEN -(PriceListPrice * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN -(AnyPrice * [Количество]) / 1000
|
||
ELSE [Закупка]
|
||
END AS [Закупка],
|
||
CASE
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND PriceListPrice IS NOT NULL THEN -(PriceListPrice / [Курс usd2] * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN -(AnyPrice / [Курс usd2] * [Количество]) / 1000
|
||
ELSE [Закупка, usd2]
|
||
END AS [Закупка, usd2],
|
||
[Курс usd2],
|
||
[Курс usd],
|
||
[Таможня],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN PriceListPrice / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN AnyPrice / 1000
|
||
ELSE [Учетная цена]
|
||
END AS [Учетная цена],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN PriceListPrice / [Курс usd2] / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN AnyPrice / [Курс usd2] / 1000
|
||
ELSE [Учетная цена USD2+2]
|
||
END AS [Учетная цена USD2+2],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN (PriceListPrice * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN (AnyPrice * [Количество]) / 1000
|
||
ELSE [Учетная стоимость]
|
||
END AS [Учетная стоимость],
|
||
CASE
|
||
WHEN ([Закупка] = 0 AND [Вид операции] = 'Продажа') AND PriceListPrice IS NOT NULL THEN (PriceListPrice / [Курс usd2] * [Количество]) / 1000
|
||
WHEN [Закупка] = 0 AND [Вид операции] = 'Продажа' AND AnyPrice IS NOT NULL THEN (AnyPrice / [Курс usd2] * [Количество]) / 1000
|
||
ELSE [Учетная стоимость USD2+2]
|
||
END AS [Учетная стоимость USD2+2],
|
||
[Заказ закрыт],
|
||
[Номер заказа],
|
||
[Доставка],
|
||
[НДС],
|
||
[Сборка],
|
||
PriceListPrice
|
||
FROM
|
||
(SELECT
|
||
sebes.id,
|
||
sebes.Период,
|
||
sebes.Статья,
|
||
sebes.[Вид операции],
|
||
sebes.[Хоз операция],
|
||
sebes.Организация,
|
||
sebes.Партнер,
|
||
sebes.PartnerId,
|
||
sebes.Контрагент,
|
||
sebes.Менеджер,
|
||
sebes.[Тип документа],
|
||
sebes.[Номер документа],
|
||
sebes.[Валюта документа],
|
||
sebes.[Ценовая группа],
|
||
sebes.[1c_document_id],
|
||
sebes.[1c_id],
|
||
sebes.artic_id,
|
||
sebes.Количество,
|
||
sebes.Сумма AS Сумма,
|
||
sebes.СуммаБезНДС,
|
||
sebes.СуммаРучнойСкидки,
|
||
sebes.СуммаАвтоСкидки,
|
||
CASE
|
||
WHEN sebesSales.sZakupka IS NOT NULL THEN sebesSales.sZakupka
|
||
ELSE [Закупка]
|
||
END AS Закупка,
|
||
CASE
|
||
WHEN sebesSales.sZakupkaUsd2 IS NOT NULL THEN sebesSales.sZakupkaUsd2
|
||
ELSE [Закупка, usd2]
|
||
END AS [Закупка, usd2],
|
||
sebes.[Курс usd2],
|
||
sebes.[Курс usd],
|
||
CASE
|
||
WHEN sebesSales.customs IS NOT NULL THEN sebesSales.customs
|
||
ELSE [Таможня]
|
||
END AS Таможня,
|
||
CASE
|
||
WHEN sebesSales.uchetprice IS NOT NULL THEN sebesSales.uchetprice
|
||
ELSE [Учетная цена]
|
||
END AS [Учетная цена],
|
||
CASE
|
||
WHEN sebesSales.uchetpriceUSD22 IS NOT NULL THEN sebesSales.uchetpriceUSD22
|
||
ELSE [Учетная цена USD2+2]
|
||
END AS [Учетная цена USD2+2],
|
||
CASE
|
||
WHEN sebesSales.uchetstoimost IS NOT NULL THEN sebesSales.uchetstoimost
|
||
ELSE [Учетная стоимость]
|
||
END AS [Учетная стоимость],
|
||
CASE
|
||
WHEN sebesSales.uchetstoimostUSD22 IS NOT NULL THEN sebesSales.uchetstoimostUSD22
|
||
ELSE [Учетная стоимость USD2+2]
|
||
END AS [Учетная стоимость USD2+2],
|
||
sebes.[Заказ закрыт],
|
||
sebes.[Номер заказа],
|
||
CASE
|
||
WHEN sebesSales.delivery IS NOT NULL THEN sebesSales.delivery
|
||
ELSE [Доставка]
|
||
END AS Доставка,
|
||
CASE
|
||
WHEN sebesSales.NAT IS NOT NULL THEN sebesSales.NAT
|
||
ELSE [НДС]
|
||
END AS НДС,
|
||
CASE
|
||
WHEN sebesSales.assemble IS NOT NULL THEN sebesSales.assemble
|
||
ELSE [Сборка]
|
||
END AS Сборка,
|
||
(SELECT TOP 1 [Цена] FROM [mag_pbi].[pbi].[pricelist]
|
||
WHERE [Вид цены] = 'Учетная цена (руб)'
|
||
AND Дата <= sebes.Период
|
||
AND sebes.artic_id = artic_id
|
||
ORDER BY Дата DESC) AS PriceListPrice,
|
||
(SELECT TOP 1 [Цена] FROM [mag_pbi].[pbi].[pricelist]
|
||
WHERE [Вид цены] = 'Учетная цена (руб)'
|
||
AND sebes.artic_id = artic_id
|
||
ORDER BY Дата) AS AnyPrice
|
||
FROM
|
||
[pbi].[СебестоимостьОт2022] AS sebes
|
||
LEFT OUTER JOIN
|
||
(SELECT
|
||
[1c_document_id] AS onecid,
|
||
artic_id AS articid,
|
||
Закупка AS sZakupka,
|
||
[Закупка, usd2] AS sZakupkaUsd2,
|
||
Таможня AS customs,
|
||
ЕАЭС AS eas,
|
||
Доставка AS delivery,
|
||
НДС AS NAT,
|
||
Сборка AS assemble,
|
||
Сумма AS SumSales,
|
||
ЗатратыМП,
|
||
sebes_id,
|
||
[Учетная цена] AS uchetprice,
|
||
[Учетная цена USD2+2] AS uchetpriceUSD22,
|
||
[Учетная стоимость] AS uchetstoimost,
|
||
[Учетная стоимость USD2+2] AS uchetstoimostUSD22
|
||
FROM
|
||
[pbi].[СебестоимостьПродажиОт2022]) AS sebesSales ON sebesSales.sebes_id = sebes.id
|
||
) AS mainTab
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Себестоимость+СебестоимостьПродажТестовая] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/*where [Вид операции] = 'Продажа'
|
||
and sebesSales.ЗатратыМП <> 0 */
|
||
CREATE VIEW [pbi].[Себестоимость+СебестоимостьПродажТестовая]
|
||
AS
|
||
SELECT [id]
|
||
,[Период]
|
||
,[Статья]
|
||
,[Вид операции]
|
||
,[Хоз операция]
|
||
,[Организация]
|
||
,[Партнер]
|
||
,[PartnerId]
|
||
,[Контрагент]
|
||
,[Менеджер]
|
||
,[Тип документа]
|
||
,[Номер документа]
|
||
,[Валюта документа]
|
||
,[Ценовая группа]
|
||
,[1c_document_id]
|
||
,[1c_id]
|
||
,[artic_id]
|
||
,[Количество]
|
||
,[Сумма]
|
||
,[СуммаБезНДС]
|
||
,[СуммаРучнойСкидки]
|
||
,[СуммаАвтоСкидки]
|
||
--,[Закупка]
|
||
,CASE WHEN [Закупка] = 0 and [Вид операции] = 'Продажа' THEN
|
||
-(PriceListPrice * [Количество]) / 1000
|
||
ELSE [Закупка]
|
||
END AS [Закупка]
|
||
--,[Закупка, usd2]
|
||
,CASE WHEN [Закупка] = 0 and [Вид операции] = 'Продажа' THEN
|
||
-(PriceListPrice / [Курс usd2] * [Количество]) / 1000
|
||
ELSE [Закупка, usd2]
|
||
END AS [Закупка, usd2]
|
||
,[Курс usd2]
|
||
,[Курс usd]
|
||
,[Таможня]
|
||
, CASE WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is not null THEN
|
||
PriceListPrice / 1000
|
||
WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is null THEN
|
||
PriceListPriceUSD2 / 1000 * [Курс usd2]
|
||
ELSE
|
||
[Учетная цена]
|
||
END AS [Учетная цена]
|
||
, CASE WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is not null THEN
|
||
PriceListPrice / 1000 / [Курс usd2]
|
||
WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is null THEN
|
||
PriceListPriceUSD2 / 1000
|
||
ELSE
|
||
[Учетная цена USD2+2]
|
||
END AS [Учетная цена USD2+2]
|
||
, CASE WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is not null THEN
|
||
(PriceListPrice * [Количество]) / 1000
|
||
WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is null THEN
|
||
(PriceListPriceUSD2 * [Количество]) / 1000 * [Курс usd2]
|
||
ELSE
|
||
[Учетная стоимость]
|
||
END AS [Учетная стоимость]
|
||
, CASE WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is not null THEN
|
||
(PriceListPrice * [Количество]) / 1000 / [Курс usd2]
|
||
WHEN (YEAR([Период]) < 2022 ) and PriceListPrice is null THEN
|
||
(PriceListPriceUSD2 * [Количество]) / 1000
|
||
ELSE
|
||
[Учетная стоимость USD2+2]
|
||
END AS [Учетная стоимость USD2+2]
|
||
|
||
,[Заказ закрыт]
|
||
,[Номер заказа]
|
||
,[Доставка]
|
||
,[НДС]
|
||
,[Сборка]
|
||
, PriceListPrice
|
||
FROM (SELECT
|
||
sebes.id,
|
||
sebes.Период,
|
||
sebes.Статья,
|
||
sebes.[Вид операции],
|
||
sebes.[Хоз операция],
|
||
sebes.Организация,
|
||
sebes.Партнер,
|
||
sebes.PartnerId,
|
||
sebes.Контрагент,
|
||
sebes.Менеджер,
|
||
sebes.[Тип документа],
|
||
sebes.[Номер документа],
|
||
sebes.[Валюта документа],
|
||
sebes.[Ценовая группа],
|
||
sebes.[1c_document_id],
|
||
sebes.[1c_id],
|
||
sebes.artic_id,
|
||
sebes.Количество,
|
||
sebes.Сумма AS Сумма,
|
||
sebes.СуммаБезНДС,
|
||
sebes.СуммаРучнойСкидки,
|
||
sebes.СуммаАвтоСкидки,
|
||
CASE WHEN sebesSales.sZakupka IS NOT NULL THEN sebesSales.sZakupka ELSE [Закупка] END AS Закупка,
|
||
CASE WHEN sebesSales.sZakupkaUsd2 IS NOT NULL THEN sebesSales.sZakupkaUsd2 ELSE [Закупка, usd2] END AS [Закупка, usd2],
|
||
sebes.[Курс usd2],
|
||
sebes.[Курс usd],
|
||
CASE WHEN sebesSales.customs IS NOT NULL THEN sebesSales.customs ELSE [Таможня] END AS Таможня,
|
||
CASE WHEN sebesSales.uchetprice IS NOT NULL THEN sebesSales.uchetprice ELSE [Учетная цена] END AS [Учетная цена],
|
||
CASE WHEN sebesSales.uchetpriceUSD22 IS NOT NULL THEN sebesSales.uchetpriceUSD22 ELSE [Учетная цена USD2+2] END AS [Учетная цена USD2+2],
|
||
CASE WHEN sebesSales.uchetstoimost IS NOT NULL THEN sebesSales.uchetstoimost ELSE [Учетная стоимость] END AS [Учетная стоимость],
|
||
CASE WHEN sebesSales.uchetstoimostUSD22 IS NOT NULL THEN sebesSales.uchetstoimostUSD22 ELSE [Учетная стоимость USD2+2] END AS [Учетная стоимость USD2+2],
|
||
sebes.[Заказ закрыт],
|
||
sebes.[Номер заказа],
|
||
CASE WHEN sebesSales.delivery IS NOT NULL THEN sebesSales.delivery ELSE [Доставка] END AS Доставка,
|
||
CASE WHEN sebesSales.NAT IS NOT NULL THEN sebesSales.NAT ELSE [НДС] END AS НДС,
|
||
CASE WHEN sebesSales.assemble IS NOT NULL THEN sebesSales.assemble ELSE [Сборка] END AS Сборка,
|
||
--UchetPrice.Price as PriceListPrice
|
||
(SELECT TOP 1 [Цена] FROM [mag_pbi].[pbi].[pricelist]
|
||
WHERE [Вид цены] = 'Учетная цена (руб)'
|
||
AND Дата <= sebes.Период
|
||
and sebes.artic_id = artic_id
|
||
ORDER BY Дата desc ) as PriceListPrice
|
||
, (SELECT TOP 1 [Цена] FROM [mag_pbi].[pbi].[pricelist]
|
||
WHERE [Вид цены] = 'Учетная цена (вал)'
|
||
AND Дата <= sebes.Период
|
||
and sebes.artic_id = artic_id
|
||
ORDER BY Дата desc ) as PriceListPriceUSD2
|
||
FROM pbi.СебестоимостьТест AS sebes
|
||
|
||
LEFT OUTER JOIN
|
||
(SELECT [1c_document_id] AS onecid, artic_id AS articid, Закупка AS sZakupka, [Закупка, usd2] AS sZakupkaUsd2, Таможня AS customs, ЕАЭС AS eas, Доставка AS delivery, НДС AS NAT, Сборка AS assemble, Сумма AS SumSales,
|
||
ЗатратыМП, sebes_id, [Учетная цена] AS uchetprice, [Учетная цена USD2+2] AS uchetpriceUSD22, [Учетная стоимость] AS uchetstoimost, [Учетная стоимость USD2+2] AS uchetstoimostUSD22
|
||
FROM pbi.СебестоимостьПродажиТест) AS sebesSales ON sebesSales.sebes_id = sebes.id
|
||
|
||
) AS mainTab
|
||
GO
|
||
|
||
/****** Object: View [pbi].[СегментыНоменклатуры] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE view [pbi].[СегментыНоменклатуры] as
|
||
SELECT
|
||
[_Fld13642RRef] --сегмент
|
||
, s._Description as [Сегмент]
|
||
, [_Fld13643RRef] as [1c_id]--номенклатура
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld13643RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld13643RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld13643RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld13643RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld13643RRef], 2),5,12) ))as artic_id
|
||
FROM [MAG_2019].[dbo].[_InfoRg13641] rg -- регистр сведений Номенклатура сегмента
|
||
INNER JOIN [MAG_2019].[dbo].[_Reference285X1] s --справочник сегменты
|
||
ON s._IDRRef = rg._Fld13642RRef
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Сохраненные настройки 1С для PowerBI] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW pbi.[Сохраненные настройки 1С для PowerBI] as
|
||
SELECT
|
||
[_Fld27871] as [Параметр]
|
||
, CASE [_Fld27872_TYPE]
|
||
WHEN 5 THEN [_Fld27872_S]
|
||
WHEN 3 THEN cast ([_Fld27872_N] as varchar)
|
||
END as [Значение]
|
||
|
||
FROM [MAG_2019].[dbo].[_InfoRg27869] WHERE [_Fld27870] LIKE '%PowerBI%'
|
||
GO
|
||
|
||
/****** Object: View [pbi].[Стоимость обработки заказа] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE view [pbi].[Стоимость обработки заказа] as
|
||
select
|
||
dateadd(year, -2000, [_Period]) as [date]
|
||
, CASE _RecorderTRef WHEN 0x000001CA THEN doc._Number ELSE doc484._Number END as [Номер отчета комиссионера]
|
||
, LOWER(CONCAT(SUBSTRING ( convert(nvarchar(36), [_Fld33391RRef], 2), 25,8),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33391RRef], 2),21,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33391RRef], 2),17,4),'-',SUBSTRING ( convert(nvarchar(36), [_Fld33391RRef], 2),1,4),'-',SUBSTRING ( convert(nvarchar(36),[_Fld33391RRef], 2),5,12) )) as [artic_id]
|
||
,[_Fld33391RRef] as [1c_id]--номенклатура
|
||
, _Description as [Статья себестоимости]
|
||
, _Fld33394/1000 as [Сумма]
|
||
, (_Fld33394/1000) /
|
||
(SELECT TOP 1 _Fld13220/_Fld13221 FROM [mag_2019].[dbo].[_InfoRg13218] k--РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND DATEADD(year, -2000, k._Period) <= dateadd(year, -2000, s.[_Period])
|
||
ORDER BY k._Period desc) as [Расходы МП, usd]
|
||
, (SELECT _description FROM [MAG_2019].[dbo].[_Reference198X1] /*организации*/ org WHERE org._IDRRef =
|
||
CASE _RecorderTRef WHEN 0x000001CA THEN doc._Fld5484RRef ELSE doc484._Fld7208RRef END
|
||
) as [Организация]
|
||
, (SELECT _description FROM [mag_2019].[dbo]._Reference215X1 prt /*партнеры*/ WHERE prt._IDRRef =
|
||
CASE _RecorderTRef WHEN 0x000001CA THEN doc._Fld5485RRef ELSE doc484._Fld7210RRef END
|
||
) as [Партнер]
|
||
, (SELECT _Code FROM [mag_2019].[dbo]._Reference215X1 prt /*партнеры*/ WHERE prt._IDRRef =
|
||
CASE _RecorderTRef WHEN 0x000001CA THEN doc._Fld5485RRef ELSE doc484._Fld7210RRef END
|
||
) as [ПартнерКод]
|
||
, (SELECT TOP 1 _Fld13220/_Fld13221 FROM [mag_2019].[dbo].[_InfoRg13218] k--РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND DATEADD(year, -2000, k._Period) <= dateadd(year, -2000, s.[_Period])
|
||
ORDER BY k._Period desc) as [Курс]
|
||
from
|
||
[MAG_2019].dbo._AccumRg33390 s-- РегистрНакопления СтоимостьОбработкиЗаказа
|
||
left join [MAG_2019].dbo._Reference28342 -- Справочник СтатьиСебестоимости
|
||
on _Fld33393RRef = _IDRRef
|
||
left join [MAG_2019].dbo._Document458 as Doc -- Документ ОтчетКомиссионера
|
||
on _RecorderRRef = Doc._IDRRef
|
||
LEFT JOIN [MAG_2019].dbo._Document484 as Doc484 -- Документ приобритение услуг и прочих активов
|
||
ON _RecorderRRef = Doc484._IDRRef
|
||
GO
|
||
|
||
/****** Object: View [pbi].[УчетнаяСуммаДляPBI] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Скрипт для команды SelectTopNRows из среды SSMS ******/
|
||
|
||
CREATE view [pbi].[УчетнаяСуммаДляPBI]
|
||
as
|
||
SELECT
|
||
|
||
DATEADD(year, -2000, [_Period]) as [Период]
|
||
, [_RecorderRRef] as [1c_document_id]
|
||
, LOWER(CONCAT(SUBSTRING(convert(nvarchar(36), analitikaUchetaNomenklaturi.[_Fld20498RRef] , 2), 25,8),'-',SUBSTRING(convert(nvarchar(36), analitikaUchetaNomenklaturi.[_Fld20498RRef] , 2),21,4),'-',SUBSTRING(convert(nvarchar(36), analitikaUchetaNomenklaturi.[_Fld20498RRef] , 2),17,4),'-',SUBSTRING(convert(nvarchar(36), analitikaUchetaNomenklaturi.[_Fld20498RRef] , 2),1,4),'-',SUBSTRING(convert(nvarchar(36), analitikaUchetaNomenklaturi.[_Fld20498RRef] , 2),5,12))) as [artic_id]
|
||
, [_Fld15567] as [Количество]
|
||
, isnull(
|
||
[_Fld15567] *
|
||
(SELECT top 1 [_Fld27138] / 1000 FROM [mag_2019].[dbo].[_InfoRg27129X1] -- РегистрСведений.ITS_ОсновнойОтчет
|
||
WHERE _Fld27130RRef = analitikaUchetaNomenklaturi._Fld20498RRef AND [_Fld27138] > 0
|
||
AND datediff(month,_Period, r._Period) >= 0
|
||
order by _period desc),
|
||
[_Fld15567] *
|
||
(SELECT TOP (1) [Цена]/1000
|
||
FROM [mag_pbi].[pbi].[pricelist]
|
||
where [1c_id] = analitikaUchetaNomenklaturi._Fld20498RRef and [Вид цены] = 'Учетная цена (руб)'
|
||
ORDER BY _Period desc)
|
||
) as [Учетная сумма, руб]
|
||
|
||
, CASE
|
||
WHEN refNomenclatura._Fld21101RRef=0x80C5305A3A00E12B11E584520AEC30EC THEN --'Валютная'
|
||
-- Если валютная ценовая группа, то берем учетную цену (вал)
|
||
r._Fld15567 *
|
||
(SELECT TOP (1) [Цена] / 1000
|
||
FROM [mag_pbi].[pbi].[pricelist] pl
|
||
where [1c_id] = analitikaUchetaNomenklaturi._Fld20498RRef and [Вид цены] = 'Учетная цена (вал)'
|
||
AND pl._Period <= r._Period
|
||
ORDER BY _Period desc)
|
||
|
||
|
||
ELSE --WHEN n._Fld21101RRef=0x80C5305A3A00E12B11E5845202CA01FB THEN --'Рублевая'
|
||
--делим учетную цену (руб) на курс
|
||
r._Fld15567 *
|
||
(SELECT TOP (1) [Цена] / 1000
|
||
FROM [mag_pbi].[pbi].[pricelist] pl
|
||
where [1c_id] = analitikaUchetaNomenklaturi._Fld20498RRef and [Вид цены] = 'Учетная цена (руб)'
|
||
AND pl._Period <= r._Period
|
||
ORDER BY _Period desc) / (SELECT TOP 1 _Fld13220 FROM [MAG_2019].[dbo].[_InfoRg13218] --РегистрСведений.КурсыВалют
|
||
WHERE _Fld13219RRef = 0xAE9EB496910DCFD611E95C66B5DE3AFA --USD2+2
|
||
AND _Period <= r._Period
|
||
ORDER BY _Period desc)
|
||
END
|
||
|
||
as [Учетная сумма, usd]
|
||
|
||
|
||
FROM [MAG_2019].[dbo].[_AccumRg15547] as r
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference160] as analitikaUchetaNomenklaturi
|
||
ON r._Fld15548RRef = analitikaUchetaNomenklaturi._IDRRef
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference188X1] as refNomenclatura
|
||
ON refNomenclatura.[_IDRRef] = analitikaUchetaNomenklaturi.[_Fld20498RRef]
|
||
GO
|
||
|
||
/****** Object: View [pbiProd].[ИтогСебестоимостьПродажОт2022] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbiProd].[ИтогСебестоимостьПродажОт2022]
|
||
AS
|
||
SELECT id, Период, Статья, [Вид операции], [Хоз операция], Организация, Партнер, PartnerId, Контрагент, Менеджер, [Тип документа], [Номер документа], [Валюта документа], [Ценовая группа], [1c_document_id], [1c_id], artic_id, Количество, Сумма, СуммаБезНДС, СуммаРучнойСкидки, СуммаАвтоСкидки, CASE WHEN [Закупка] = 0 AND
|
||
[Вид операции] = 'Расход' AND PriceListPrice IS NOT NULL THEN - (PriceListPrice * [Количество]) / 1000 WHEN [Закупка] = 0 AND [Вид операции] = 'Расход' AND AnyPrice IS NOT NULL THEN - (AnyPrice * [Количество]) / 1000 ELSE [Закупка] END AS Закупка,
|
||
CASE WHEN [Закупка] = 0 AND [Вид операции] = 'Расход' AND PriceListPrice IS NOT NULL THEN - (PriceListPrice / [Курс usd2] * [Количество]) / 1000 WHEN [Закупка] = 0 AND [Вид операции] = 'Расход' AND AnyPrice IS NOT NULL
|
||
THEN - (AnyPrice / [Курс usd2] * [Количество]) / 1000 ELSE [Закупка, usd2] END AS [Закупка, usd2], [Курс usd2], [Курс usd], Таможня, CASE WHEN ([Закупка] = 0 AND [Вид операции] = 'Расход') AND PriceListPrice IS NOT NULL
|
||
THEN PriceListPrice / 1000 WHEN [Закупка] = 0 AND [Вид операции] = 'Расход' AND AnyPrice IS NOT NULL THEN AnyPrice / 1000 ELSE [Учетная цена] END AS [Учетная цена], CASE WHEN ([Закупка] = 0 AND [Вид операции] = 'Расход') AND
|
||
PriceListPrice IS NOT NULL THEN PriceListPrice / [Курс usd2] / 1000 WHEN [Закупка] = 0 AND [Вид операции] = 'Расход' AND AnyPrice IS NOT NULL THEN AnyPrice / [Курс usd2] / 1000 ELSE [Учетная цена USD2+2] END AS [Учетная цена USD2+2],
|
||
CASE WHEN ([Закупка] = 0 AND [Вид операции] = 'Расход') AND PriceListPrice IS NOT NULL THEN (PriceListPrice * [Количество]) / 1000 WHEN [Закупка] = 0 AND [Вид операции] = 'Расход' AND AnyPrice IS NOT NULL THEN (AnyPrice * [Количество])
|
||
/ 1000 ELSE [Учетная стоимость] END AS [Учетная стоимость], CASE WHEN ([Закупка] = 0 AND [Вид операции] = 'Расход') AND PriceListPrice IS NOT NULL THEN (PriceListPrice / [Курс usd2] * [Количество]) / 1000 WHEN [Закупка] = 0 AND [Вид операции] = 'Расход' AND
|
||
AnyPrice IS NOT NULL THEN (AnyPrice / [Курс usd2] * [Количество]) / 1000 ELSE [Учетная стоимость USD2+2] END AS [Учетная стоимость USD2+2], [Заказ закрыт], [Номер заказа], Доставка, НДС, [Производство], PriceListPrice, [ЗатратыСкладХранение], [Приемка],
|
||
[АтсМаркировка], [ВремяВыполненияМинут], [СборкаЗаказа], [Доп расходы], [Доп расходы USD2+2]
|
||
FROM (SELECT id, Период, Статья, [Вид операции], [Хоз операция], Организация, Партнер, PartnerId, Контрагент, Менеджер, [Тип документа], [Номер документа], [Валюта документа], [Ценовая группа], [1c_document_id], [1c_id], artic_id, Количество, CASE
|
||
WHEN rtu.[_Fld7917RRef] = 0x9987B49691D57EFD11EF1297BB0BAF58 or SoglClient.[_Fld23646RRef] = 0x9987B49691D57EFD11EF1297BB0BAF58
|
||
THEN Сумма * 1.2
|
||
ELSE Сумма
|
||
END as Сумма, СуммаБезНДС, СуммаРучнойСкидки, СуммаАвтоСкидки, Закупка, [Закупка, usd2],
|
||
[Курс usd2], [Курс usd], Таможня, [Учетная цена], [Учетная цена USD2+2], [Учетная стоимость], [Учетная стоимость USD2+2], [Заказ закрыт], [Номер заказа], Доставка, НДС, [Производство],
|
||
(SELECT TOP (1) Цена
|
||
FROM pbi.pricelist
|
||
WHERE ([Вид цены] = 'Учетная цена (руб)') AND (Дата <= sebes.Период) AND (sebes.artic_id = artic_id)
|
||
ORDER BY Дата DESC) AS PriceListPrice,
|
||
(SELECT TOP (1) Цена
|
||
FROM pbi.pricelist AS pricelist_1
|
||
WHERE ([Вид цены] = 'Учетная цена (руб)') AND (sebes.artic_id = artic_id)
|
||
ORDER BY Дата) AS AnyPrice, [ЗатратыСкладХранение], [Приемка], [АтсМаркировка]
|
||
, [ВремяВыполненияМинут], [СборкаЗаказа], [Доп расходы], [Доп расходы USD2+2]
|
||
FROM [pbiProd].[СебестоимостьОт2022] AS sebes LEFT JOIN [MAG_2019].[dbo].[_Document500X1] as rtu
|
||
on sebes.[1c_document_id] = rtu.[_IDRRef]
|
||
LEFT JOIN [MAG_2019].[dbo].[_Reference300] as SoglClient
|
||
on SoglClient.[_IDRRef] = rtu.[_Fld7917RRef]) AS mainTab
|
||
GO
|
||
|
||
/****** Object: View [pbiProd].[СводныйСебестоимость] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
CREATE VIEW [pbiProd].[СводныйСебестоимость]
|
||
AS
|
||
SELECT
|
||
[Период]
|
||
,[Статья]
|
||
,[Вид операции]
|
||
,[Хоз операция]
|
||
,[Организация]
|
||
,[Партнер]
|
||
,[PartnerId]
|
||
,[Контрагент]
|
||
,[Менеджер]
|
||
,[Тип документа]
|
||
,[Номер документа]
|
||
,[Валюта документа]
|
||
,[Ценовая группа]
|
||
,[1c_document_id]
|
||
,[1c_id]
|
||
,[artic_id]
|
||
,[Количество]
|
||
,[Сумма]
|
||
,[СуммаБезНДС]
|
||
,[СуммаРучнойСкидки]
|
||
,[СуммаАвтоСкидки]
|
||
,[Закупка]
|
||
,[Закупка, usd2]
|
||
,[Курс usd2]
|
||
,[Курс usd]
|
||
,[Таможня]
|
||
,[Учетная цена]
|
||
,[Учетная цена USD2+2]
|
||
,[Учетная стоимость]
|
||
,[Учетная стоимость USD2+2]
|
||
,[Заказ закрыт]
|
||
,[Номер заказа]
|
||
,[Доставка]
|
||
,[НДС]
|
||
,[Производство]
|
||
,[ЗатратыСкладХранение]
|
||
,[Приемка]
|
||
,[АтсМаркировка]
|
||
,[ВремяВыполненияМинут]
|
||
,[СборкаЗаказа]
|
||
,[Доп расходы]
|
||
,[Доп расходы USD2+2]
|
||
|
||
FROM [mag_pbi].[pbiProd].[ИтогСебестоимостьПродажОт2022]
|
||
|
||
UNION ALL
|
||
|
||
SELECT
|
||
[Период]
|
||
, CASE WHEN [Статья] = 'Сборка' THEN 'Производство товара'
|
||
ELSE [Статья] END AS [Статья]
|
||
, CASE WHEN [Вид операции] = 'Закупка' THEN 'Приход'
|
||
ELSE 'Расход' END AS [Вид операции]
|
||
,[Хоз операция]
|
||
,[Организация]
|
||
,[Партнер]
|
||
,[PartnerId]
|
||
,[Контрагент]
|
||
,[Менеджер]
|
||
,[Тип документа]
|
||
,[Номер документа]
|
||
,[Валюта документа]
|
||
,[Ценовая группа]
|
||
,[1c_document_id]
|
||
,[1c_id]
|
||
,[artic_id]
|
||
,[Количество]
|
||
,[Сумма]
|
||
,[СуммаБезНДС]
|
||
,[СуммаРучнойСкидки]
|
||
,[СуммаАвтоСкидки]
|
||
,[Закупка]
|
||
,[Закупка, usd2]
|
||
,[Курс usd2]
|
||
,[Курс usd]
|
||
,[Таможня]
|
||
,[Учетная цена]
|
||
,[Учетная цена USD2+2]
|
||
,[Учетная стоимость]
|
||
,[Учетная стоимость USD2+2]
|
||
,[Заказ закрыт]
|
||
,[Номер заказа]
|
||
,[Доставка]
|
||
,[НДС]
|
||
,[Производство]
|
||
, 0 as [ЗатратыСкладХранение]
|
||
, 0 as [Приемка]
|
||
, 0 as [АтсМаркировка]
|
||
, 0 as [ВремяВыполненияМинут]
|
||
, 0 as [СборкаЗаказа]
|
||
, 0 as [Доп расходы]
|
||
, 0 as [Доп расходы USD2+2]
|
||
FROM [mag_pbi].[pbiProd].[СебестоимостьДо2022]
|
||
GO
|
||
|
||
/****** Object: View [pbiProd].[СводныйСебестоимость Для PBI] Script Date: 2026-03-03 11:15:13 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
/****** Script for SelectTopNRows command from SSMS ******/
|
||
CREATE VIEW [pbiProd].[СводныйСебестоимость Для PBI] as
|
||
SELECT
|
||
s.*
|
||
FROM [mag_pbi].[pbiProd].[СебестоимостьСводныйОт2022_copy_for_pbi] s
|
||
INNER JOIN [mag_2019].[dbo]._Reference188X1 n /*номенклатура*/ ON n._IDRRef = s.[1c_id]
|
||
INNER JOIN [mag_pbi].[pbi].[groups] g ON n._ParentIDRRef = g.[1c_id]
|
||
WHERE g.g <> '*Внутренняя'
|
||
AND [Статья] NOT IN ('Пересчет товара', 'Пересчет товара', 'Сборка заказа', 'Атс маркировка', 'Приемка товара')
|
||
GO
|