Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH
- cteMyOfficeDocs AS (
- -- Области видимости
- SELECT unnest(current_setting('sbis3.rights.myOfficeDocs')::INTEGER[]) deptId
- ),
- -- Иерархия по отделам с учетом областей видимости (см. startDeptFilter)
- dept AS (
- WITH RECURSIVE sp AS (
- SELECT
- x."@Лицо" "Лицо",
- x."Раздел",
- x."Название",
- x."Раздел@"
- FROM
- "СтруктураПредприятия" x
- WHERE
- x."Тип" = 0
- AND "@Лицо" = 14463815
- UNION ALL
- SELECT
- z."@Лицо" "Лицо",
- z."Раздел",
- z."Название",
- z."Раздел@"
- FROM
- sp y
- INNER JOIN "СтруктураПредприятия" z ON z."Раздел" = y."Лицо" AND z."$Черновик" IS NULL AND z."ДатаЗакрытия" IS NULL
- WHERE
- z."Тип" = 0
- )
- SELECT * FROM sp
- ),
- -- Сотрудники отделов
- deptUsers AS (
- SELECT
- sv."ЧастноеЛицо" "Лицо",
- sv."СтруктураПредприятия",
- COALESCE(p."Фамилия" || ' ', '') || COALESCE(substr(p."Имя", 1, 1) || '.', '') || COALESCE(substr(p."Отчество", 1, 1) || '.', '' ) "Название",
- sv."Пользователь"
- FROM "СвязиПользователя" sv
- INNER JOIN "ЧастноеЛицо" p ON sv."ЧастноеЛицо" = p."@Лицо"
- WHERE
- sv."ЧастноеЛицо" IS NOT NULL AND
- sv."УправленческаяСтруктура" AND
- sv."$Черновик" IS NULL
- AND EXISTS (
- SELECT NULL
- FROM dept d
- WHERE d."Лицо" = sv."СтруктураПредприятия"
- )
- )
- ,
- Events AS (SELECT ev."@Событие"::text,
- ev."Конец" "Дата",
- ev."Примечание" "Комментарий",
- ev."Контрагент",
- ev."Исполнитель",
- ev."Переход",
- ev."Фаза" "Стадия",
- per."Название" "Итог",
- per."Результат",
- per."ФазаОснование",
- per."ФазаСледствие",
- ev."Регламент",
- ev."Документ" "Лид",
- ev."ВидКонтакта",
- ev."ТипКонтакта"
- ,
- ev."ЗвонокАгента"
- FROM (SELECT (ev).*
- FROM (SELECT UNNEST(ARRAY(SELECT ev
- FROM "Событие" ev
- LEFT JOIN "Переход" per ON (per."@Переход" = ev."Переход")
- WHERE TRUE AND ev."Регламент" = 121 AND ev."Конец" >= (CURRENT_DATE - INTERVAL '1 day' + INTERVAL '1 day') AND ev."Конец" < (CURRENT_DATE + INTERVAL '1 day')
- AND ev."Тип" = 3
- AND
- EXISTS (
- SELECT NULL
- FROM deptUsers u
- WHERE ev."Исполнитель" = u."Лицо"
- )
- ORDER BY ev."Регламент", ev."Конец" DESC NULLS LAST
- LIMIT 21)) ev
- ) ev
- ) ev
- LEFT JOIN "Переход" per ON (per."@Переход" = ev."Переход")
- ORDER BY ev."Конец" DESC NULLS LAST
- LIMIT 21 OFFSET 0)
- SELECT
- Events."@Событие",
- Events."Дата",
- Events."Контрагент",
- Events."Исполнитель",
- Events."Лид",
- COALESCE(Events."ТипКонтакта", 0) "ТипКонтакта",
- Events."ВидКонтакта",
- Events."Регламент",
- Events."Итог",
- Events."Результат",
- Events."Переход",
- Events."ЗвонокАгента",
- COALESCE(ld."НазваниеКлиента", ld."КонтактныеДанные", '') "НазваниеКлиента",
- NULL::INTEGER "Предприниматель",
- r."Название" "НазваниеРегламента",
- r."Флаги"[3] "Регламент.Удален",
- 0::INTEGER "ПраваНаСобытие",
- 0::INTEGER "РольПользователя" ,
- za."@ЗвонокАгента" "Звонок", za."Запись", za."НаправлениеИсходящий",
- rz."Название" "РезультатЗвонка", za."НомерСторона2" "НомерВнешний"
- ,
- contr."ИНН", contr."КПП", contr."Название",
- Events."Комментарий",
- ph3."Название" "Стадия",
- ph1."Название" "ФазаОснование",
- ph2."Название" "ФазаСледствие"
- ,
- l."Название" "Исполнитель.Название",
- strPr."Название" "СтруктураПредприятия.Название",
- svP."СтруктураПредприятия"
- FROM
- Events
- LEFT JOIN "Лид" ld ON ld."@Документ" = Events."Лид"
- LEFT JOIN "Регламент" r ON r."@Регламент" = Events."Регламент"
- LEFT JOIN "ЗвонокАгента" za ON za."@ЗвонокАгента" = Events."ЗвонокАгента"
- LEFT JOIN "РезультатЗвонка" rz ON rz."@РезультатЗвонка" = za."РезультатЗвонка"
- LEFT JOIN "Контрагент" contr ON contr."@Лицо" = Events."Контрагент"
- LEFT JOIN "Фаза" ph1 ON ph1."@Фаза" = Events."ФазаОснование"
- LEFT JOIN "Фаза" ph2 ON ph2."@Фаза" = Events."ФазаСледствие"
- LEFT JOIN "Фаза" ph3 ON ph3."@Фаза" = Events."Стадия"
- LEFT JOIN "Лицо" l ON l."@Лицо" = Events."Исполнитель"
- LEFT JOIN "СвязиПользователя" svP ON svP."ЧастноеЛицо" = Events."Исполнитель" AND svP."УправленческаяСтруктура"
- LEFT JOIN "СтруктураПредприятия" strPr ON strPr."@Лицо" = svP."СтруктураПредприятия"
- ORDER BY "Дата" DESC NULLS LAST
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement