USE [mag_pbi] GO /****** Object: View [pbi].[БазоваяУпаковка] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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 [analytics].[Курсы валют на сегодня] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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 [pbi].[Стоимость обработки заказа] Script Date: 17.02.2026 14:29:03 ******/ 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].[РекламаМаркетплейсы] Script Date: 17.02.2026 14:29:03 ******/ 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 [pbiProd].[СводныйСебестоимость Для PBI] Script Date: 17.02.2026 14:29:03 ******/ 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 /****** Object: View [analytics].[Продажи_Учёт_Маржа_по_дням] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[get_orders_by_group] Script Date: 17.02.2026 14:29:03 ******/ 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 [pbi].[Себестоимость+СебестоимостьПродаж] Script Date: 17.02.2026 14:29:03 ******/ 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].[Организация] Script Date: 17.02.2026 14:29:03 ******/ 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].[sklad_2019] Script Date: 17.02.2026 14:29:03 ******/ 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 [ostatki].[РезервыМПиОПТ] Script Date: 17.02.2026 14:29:03 ******/ 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 [pbi].[Заказо_в_производстве] Script Date: 17.02.2026 14:29:03 ******/ 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 [analytics].[Товары на складах] Script Date: 17.02.2026 14:29:03 ******/ 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 [pbi].[Заказо_в_пути] Script Date: 17.02.2026 14:29:03 ******/ 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 [analytics].[nomenclature] Script Date: 17.02.2026 14:29:03 ******/ 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].[Внешние остатки] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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 [pbi].[Резервы] Script Date: 17.02.2026 14:29:03 ******/ 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 [analytics].[get_quantity_by_group] Script Date: 17.02.2026 14:29:03 ******/ 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].[Бюджет ДДС] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[get_mp_quantity_by_group] Script Date: 17.02.2026 14:29:03 ******/ 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].[ЗаявкиТовары] Script Date: 17.02.2026 14:29:03 ******/ 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, t._LineNo34053 AS line_no, t._Fld34054RRef AS nom_1c_id, CONVERT(decimal(18, 3), t._Fld34056) AS qty_initial 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 [Статус заявки], r.line_no AS line_no, /* nom_1c_id (сырой) */ r.nom_1c_id AS nom_1c_id, /* 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 [Кол. упаковок текущее] FROM req r JOIN MAG_2019.dbo._Reference188X1 n ON n._IDRRef = r.nom_1c_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: 17.02.2026 14:29:03 ******/ 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 [analytics].[ЗаказыВЗаявках] Script Date: 17.02.2026 14:29:03 ******/ 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 [Валюта], 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 [Сумма в руб.] 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].[get_mpcosts_monthly_by_group] Script Date: 17.02.2026 14:29:03 ******/ 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 [pbi].[Заказы в заявках] Script Date: 17.02.2026 14:29:03 ******/ 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 'Сумма в руб' FROM [mag_pbi].[analytics].[ЗаказыВЗаявках] WHERE [g] NOT LIKE '*Внутренняя' AND [Статус] NOT IN ('Закрыт') GO /****** Object: View [analytics].[Где товар с упаковками] Script Date: 17.02.2026 14:29:03 ******/ 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 [pbi].[Заказы] Script Date: 17.02.2026 14:29:03 ******/ 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 [analytics].[get_orders_list] Script Date: 17.02.2026 14:29:03 ******/ 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 [Номер заказа поставщику], /* 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 Статус, v._Description AS Валюта, z._Fld3418 AS Сумма, CASE v._Description WHEN 'USD' THEN _Fld3418 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency='USD2') ELSE _Fld3418 * (SELECT rate FROM [mag_pbi].[analytics].[Курсы валют на сегодня] WHERE currency=v._Description) END AS 'Сумма в руб', ISNULL(man.[manufacturer], 'Не найдено') as manufacturer, ISNULL(man.[ROI_norm], 1.36) as roi_year_normalized, [n_percent], [n_days], [m_percent], [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].[counterparties] cp ON cp.[counterparty] = r._Description LEFT JOIN [analytics].[manufacturer_counterparty_map] map ON map.[counterparty_id] = cp.id LEFT JOIN [analytics].[manufacturers] 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 [pbi].[Внешние остатки] Script Date: 17.02.2026 14:29:03 ******/ 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 [analytics].[Заявки_на_оплату] Script Date: 17.02.2026 14:29:03 ******/ 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 [pbiProd].[ИтогСебестоимостьПродажОт2022] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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 [analytics].[ForecastBasesKs] Script Date: 17.02.2026 14:29:03 ******/ 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].[income_expence] Script Date: 17.02.2026 14:29:03 ******/ 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.first_group END as g , c.g1 , c.g2 , c.g3 , c.g4 , c._Description 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_reports.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.first_group END as g , c.g1 , c.g2 , c.g3 , c.g4 , c._Description 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_reports.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 [pbi].[Расходы по годам] Script Date: 17.02.2026 14:29:03 ******/ 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 [analytics].[deficit_orders] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[get_analytics_by_group] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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_nomenclature_by_group] Script Date: 17.02.2026 14:29:03 ******/ 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_sales_monthly_by_group] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[Группы_статей_ДДС] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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 [dbo].[tovar_bez_kontenta] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE view [pbi].[groups_view] 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[users_1C] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[Внешние продажи] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[ОстаткиTotal] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create view [pbi].[ПартнерыСегменты] 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[Себестоимость+СебестоимостьПродажОт2022] Script Date: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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: 17.02.2026 14:29:03 ******/ 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].[УчетнаяСуммаДляPBI] Script Date: 17.02.2026 14:29:03 ******/ 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 EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = -96 Left = 0 End Begin Tables = Begin Table = "a" Begin Extent = Top = 6 Left = 38 Bottom = 136 Right = 292 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "n" Begin Extent = Top = 138 Left = 38 Bottom = 268 Right = 297 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "g" Begin Extent = Top = 270 Left = 38 Bottom = 400 Right = 212 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'analytics', @level1type=N'VIEW',@level1name=N'get_analytics_by_group' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'analytics', @level1type=N'VIEW',@level1name=N'get_analytics_by_group' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "ostatki" Begin Extent = Top = 6 Left = 38 Bottom = 136 Right = 228 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "tabznach" Begin Extent = Top = 0 Left = 527 Bottom = 130 Right = 717 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "DopRekv" Begin Extent = Top = 3 Left = 256 Bottom = 99 Right = 476 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "photo" Begin Extent = Top = 155 Left = 422 Bottom = 251 Right = 612 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "price" Begin Extent = Top = 102 Left = 920 Bottom = 198 Right = 1110 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "IdMP" Begin Extent = Top = 221 Left = 198 Bottom = 317 Right = 390 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 12 Column = 1440 Alias = 900 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'tovar_bez_kontenta' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N' Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'tovar_bez_kontenta' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'tovar_bez_kontenta' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'СтоимостьОпераций_Отбор' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'СтоимостьОпераций_Отбор' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "_AccumRg33652 (MAG_2019.dbo)" Begin Extent = Top = 6 Left = 38 Bottom = 136 Right = 212 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'СтоимостьОпераций_Фасовка' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'СтоимостьОпераций_Фасовка' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "ost" Begin Extent = Top = 6 Left = 266 Bottom = 136 Right = 456 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "nom" Begin Extent = Top = 120 Left = 38 Bottom = 250 Right = 230 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "free" Begin Extent = Top = 252 Left = 38 Bottom = 382 Right = 256 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "uzel" Begin Extent = Top = 138 Left = 268 Bottom = 268 Right = 458 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "tm" Begin Extent = Top = 6 Left = 38 Bottom = 119 Right = 228 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "rekv" Begin Extent = Top = 6 Left = 494 Bottom = 85 Right = 714 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 12 Column = 1440 Alias = 900 Table = 1' , @level0type=N'SCHEMA',@level0name=N'ostatki', @level1type=N'VIEW',@level1name=N'OstatkiMarketSklad' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N'170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'ostatki', @level1type=N'VIEW',@level1name=N'OstatkiMarketSklad' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 , @level0type=N'SCHEMA',@level0name=N'ostatki', @level1type=N'VIEW',@level1name=N'OstatkiMarketSklad' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "sebes" Begin Extent = Top = 7 Left = 48 Bottom = 170 Right = 291 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "sebesSales" Begin Extent = Top = 7 Left = 339 Bottom = 170 Right = 533 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1176 Output = 720 Append = 1400 NewValue = 1170 SortType = 1356 SortOrder = 1416 GroupBy = 1350 Filter = 1356 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'pbi', @level1type=N'VIEW',@level1name=N'Себестоимость+СебестоимостьПродаж' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'pbi', @level1type=N'VIEW',@level1name=N'Себестоимость+СебестоимостьПродаж' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "sebes" Begin Extent = Top = 7 Left = 48 Bottom = 170 Right = 291 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "sebesSales" Begin Extent = Top = 7 Left = 339 Bottom = 170 Right = 533 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1176 Output = 720 Append = 1400 NewValue = 1170 SortType = 1356 SortOrder = 1416 GroupBy = 1350 Filter = 1356 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'pbi', @level1type=N'VIEW',@level1name=N'Себестоимость+СебестоимостьПродажОт2022' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'pbi', @level1type=N'VIEW',@level1name=N'Себестоимость+СебестоимостьПродажОт2022' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "sebes" Begin Extent = Top = 7 Left = 48 Bottom = 170 Right = 291 End DisplayFlags = 280 TopColumn = 0 End Begin Table = "sebesSales" Begin Extent = Top = 7 Left = 339 Bottom = 170 Right = 533 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1176 Output = 720 Append = 1400 NewValue = 1170 SortType = 1356 SortOrder = 1416 GroupBy = 1350 Filter = 1356 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'pbi', @level1type=N'VIEW',@level1name=N'Себестоимость+СебестоимостьПродажТестовая' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'pbi', @level1type=N'VIEW',@level1name=N'Себестоимость+СебестоимостьПродажТестовая' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = Begin Table = "mainTab" Begin Extent = Top = 6 Left = 38 Bottom = 136 Right = 277 End DisplayFlags = 280 TopColumn = 0 End End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'pbiProd', @level1type=N'VIEW',@level1name=N'ИтогСебестоимостьПродажОт2022' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'pbiProd', @level1type=N'VIEW',@level1name=N'ИтогСебестоимостьПродажОт2022' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration = 0 NumPanes = 4 Configuration = "(H (1[40] 4[20] 2[20] 3) )" End Begin PaneConfiguration = 1 NumPanes = 3 Configuration = "(H (1 [50] 4 [25] 3))" End Begin PaneConfiguration = 2 NumPanes = 3 Configuration = "(H (1 [50] 2 [25] 3))" End Begin PaneConfiguration = 3 NumPanes = 3 Configuration = "(H (4 [30] 2 [40] 3))" End Begin PaneConfiguration = 4 NumPanes = 2 Configuration = "(H (1 [56] 3))" End Begin PaneConfiguration = 5 NumPanes = 2 Configuration = "(H (2 [66] 3))" End Begin PaneConfiguration = 6 NumPanes = 2 Configuration = "(H (4 [50] 3))" End Begin PaneConfiguration = 7 NumPanes = 1 Configuration = "(V (3))" End Begin PaneConfiguration = 8 NumPanes = 3 Configuration = "(H (1[56] 4[18] 2) )" End Begin PaneConfiguration = 9 NumPanes = 2 Configuration = "(H (1 [75] 4))" End Begin PaneConfiguration = 10 NumPanes = 2 Configuration = "(H (1[66] 2) )" End Begin PaneConfiguration = 11 NumPanes = 2 Configuration = "(H (4 [60] 2))" End Begin PaneConfiguration = 12 NumPanes = 1 Configuration = "(H (1) )" End Begin PaneConfiguration = 13 NumPanes = 1 Configuration = "(V (4))" End Begin PaneConfiguration = 14 NumPanes = 1 Configuration = "(V (2))" End ActivePaneConfig = 0 End Begin DiagramPane = Begin Origin = Top = 0 Left = 0 End Begin Tables = End End Begin SQLPane = End Begin DataPane = Begin ParameterDefaults = "" End End Begin CriteriaPane = Begin ColumnWidths = 11 Column = 1440 Alias = 900 Table = 1170 Output = 720 Append = 1400 NewValue = 1170 SortType = 1350 SortOrder = 1410 GroupBy = 1350 Filter = 1350 Or = 1350 Or = 1350 Or = 1350 End End End ' , @level0type=N'SCHEMA',@level0name=N'pbiProd', @level1type=N'VIEW',@level1name=N'СводныйСебестоимость' GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'pbiProd', @level1type=N'VIEW',@level1name=N'СводныйСебестоимость' GO