CREATE PROCEDURE [dbo].[crud_tst-timeline_getItems] @filters CRUDFilterParameter READONLY, @sort sql_variant, @direction nvarchar(8), @page int, @pageSize int, @username nvarchar(32) AS BEGIN declare @result TABLE (id nvarchar(64), title nvarchar(max), link nvarchar(256), date nvarchar(64), [text] nvarchar(max), icon nvarchar(64), iconBackgroundClass nvarchar(64), isRight bit, dateOrder datetime) declare @langID int select @langID = try_cast(Value as int) from @filters where [Key] = 'langID' declare @filterTitle nvarchar(64) select @filterTitle = Value from @filters where [Key] = 'title' declare @filterDate datetime select @filterDate = try_convert(date, Value, 104) from @filters where [Key] = 'date' insert into @result select 'cust_'+cast(id as nvarchar) as id, 'new'+name title, '' as link, convert(nvarchar,created,120) as date, fio as text, 'fas fa-user-tie' as icon, case when isnull(vip,0)=0 then 'primary' else 'danger' end as iconBackgroundClass, 0 isRight, created as dateOrder from tst_customers where (isnull(@filterTitle,'')='' or name like '%'+@filterTitle+'%' or fio like '%'+@filterTitle+'%') --and (isnull(@filterDate,'01-01-1900')='01-01-1900' or convert(nvarchar,created,104) = convert(nvarchar,@filterDate,104)) union select 'order_'+cast(id as nvarchar) as id, cast(isnull(price,0) as nvarchar)+' '+iif(@langID=1, 'USD', 'руб.')+' '+(select name from tst_products where id = productID)+', '+cast(isnull(cnt,0) as nvarchar)+' '+iif(@langID=1, 'cnt', 'шт.')+'' title, '' as link, convert(nvarchar,created,120) as date, (select isnull(name,'--')+', '+isnull(fio,'--')+':' from tst_customers where id = customerID)+'
'+isnull(note,'--') as text, 'fas fa-box' as icon, 'success' as iconBackgroundClass, 1 isRight, created as dateOrder from tst_orders where (isnull(@filterTitle,'')='' or (select name from tst_customers where id = customerID) like '%'+@filterTitle+'%' or (select fio from tst_customers where id = customerID) like '%'+@filterTitle+'%') --and (isnull(@filterDate,'01-01-1900')='01-01-1900' or convert(nvarchar,created,104) = convert(nvarchar,@filterDate,104)) -- 1 SELECT - сами данные select * from @result order by dateOrder OFFSET @PageSize * (@Page - 1) ROWS FETCH NEXT @PageSize ROWS ONLY; -- 2 SELECT - кол-во в таблице select count(*) from @result -- 3 SELECT Дополнительные настройки таблицы Select 'timeline' ViewType, 1 InstantFilter, iif(@langID=1, 'Timeline of customer activity', 'Временная линия активности заказчиков') Title /*Select '' Title, '' ToolbarAdditional, '' GroupOperationsToolbar, '' FastCreateLinkText, '' FastCreateDialogHeader, '' FastCreateDialogPlaceholder, 0 HideTitleCount, 0 DisableCellTitle, '10px' FontSize, '{filterCode}' FilterMakeup, 1 InstantFilter, */ --'gantt' ViewType, -- GanttScale, GanttNavigate, GanttItemForm, GanttItemFormTitle -- KanbanItemForm, KanbanItemFormTitle -- 4 SELECT Данные для подвала страницы или данные для Ганта/Канбана (если установлен ViewType в 3 SELECT) END