24217 контексПоискПодтип
This commit is contained in:
		| @ -28,6 +28,8 @@ CUser | Создатель документа | | |||||||
| Curator | Куратор |  | Curator | Куратор |  | ||||||
| StageUser | Участник маршрута |  | StageUser | Участник маршрута |  | ||||||
| EmpowermentSubject | Полномочия |  | EmpowermentSubject | Полномочия |  | ||||||
|  | Filial | Организация |  | ||||||
|  | Subtype | Подтип |  | ||||||
|  |  | ||||||
| Существует строго определённый набор значений поля "Id", приведённый в [таблице ниже](#таблица). Соответствующее им поле "Name" заполняется произвольно. В справочнике «Итоговые выборки поисковой системы» этим значениям будут поставлены в соответствие поля в таблицах, по которым будет осуществляться поиск и фильтрация документов с вложениями. | Существует строго определённый набор значений поля "Id", приведённый в [таблице ниже](#таблица). Соответствующее им поле "Name" заполняется произвольно. В справочнике «Итоговые выборки поисковой системы» этим значениям будут поставлены в соответствие поля в таблицах, по которым будет осуществляться поиск и фильтрация документов с вложениями. | ||||||
|  |  | ||||||
| @ -96,177 +98,122 @@ WHERE 1 = 1 | |||||||
|  |  | ||||||
| <!--  --> | <!--  --> | ||||||
|  |  | ||||||
|  | В табличную часть "Фильтры" указывается следующее: | ||||||
|  |  | ||||||
| <!DOCTYPE html> | **CUser - Создатель документа** | ||||||
| <html lang="en"> | ```sql | ||||||
| <head> | and exists( | ||||||
|     <meta charset="UTF-8"> | select 1 from "tmp_anFilters_for_documentSearch" as an where an."id" = 'CUser' and an."value" = cast(t."CUser" as character varying) | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ) | ||||||
|     <title>SQL Syntax Highlighting</title> | ``` | ||||||
|     <style> |  | ||||||
|         table { |  | ||||||
|             width: 100%; |  | ||||||
|             border-collapse: collapse; |  | ||||||
|         } |  | ||||||
|         th, td { |  | ||||||
|             border: 1px solid #ddd; |  | ||||||
|             padding: 8px; |  | ||||||
|         } |  | ||||||
|         th { |  | ||||||
|             background-color: #f2f2f2; |  | ||||||
|             text-align: left; |  | ||||||
|         } |  | ||||||
|         code { |  | ||||||
|             background-color: #f9f9f9; |  | ||||||
|             padding: 2px 4px; |  | ||||||
|             border-radius: 4px; |  | ||||||
|         } |  | ||||||
|         .sql-keyword { |  | ||||||
|             color: #0000FF; |  | ||||||
|             font-weight: bold; |  | ||||||
|         } |  | ||||||
|         .sql-identifier { |  | ||||||
|             color: #A31515; |  | ||||||
|         } |  | ||||||
|         .sql-string { |  | ||||||
|             color: #A31515; |  | ||||||
|         } |  | ||||||
|         .sql-comment { |  | ||||||
|             color: #008000; |  | ||||||
|         } |  | ||||||
|     </style> |  | ||||||
| </head> |  | ||||||
| <body> |  | ||||||
|  |  | ||||||
| <h2>Примеры настраиваемых выборок</h2> | **Initiator - Инициатор** | ||||||
| <h3>Настраиваемая выборка для кадрового электронного документооборота</h3> | ```sql | ||||||
|  | and( | ||||||
|  |   exists( | ||||||
|  |     select 1 | ||||||
|  |     from "tmp_anFilters_for_documentSearch" as an | ||||||
|  |       join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" | ||||||
|  |     where an."id" = 'Initiator' | ||||||
|  |       and r."Initiator" = an."value" | ||||||
|  |   ) | ||||||
|  | ) | ||||||
|  | ``` | ||||||
|  |  | ||||||
| <table> | **StageUser - Участник маршрута** | ||||||
|     <thead> | ```sql | ||||||
|         <tr> | and  | ||||||
|             <th>Код</th> |   exists( | ||||||
|             <th>Наименование</th> |     select 1 | ||||||
|             <th>SQLScript</th> |     from "tmp_anFilters_for_documentSearch" as an | ||||||
|         </tr> |       join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" | ||||||
|     </thead> | 	  join comdoc."RouteStage" as s on s."PCode" = r."VCode" | ||||||
|     <tbody> | 	  join comdoc."StageItem" as i on i."PCode" = s."VCode" | ||||||
|         <tr> |     where an."id" = 'StageUser' | ||||||
|             <td>CUser</td> |       and r."RouteStatus" NOT IN (4) | ||||||
|             <td>Создатель документа</td> |       and i."StageUser" = an."value" | ||||||
|             <td><code>and exists( select 1 from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'CUser'</span> and an.<span class="sql-identifier">"value"</span> = cast(t.<span class="sql-identifier">"CUser"</span> as character varying) )</code></td> |  | ||||||
|         </tr> |  | ||||||
|         <tr> |  | ||||||
|             <td>Initiator</td> |  | ||||||
|             <td>Инициатор</td> |  | ||||||
|             <td> |  | ||||||
|                 <code>and( <br> |  | ||||||
|                     exists( <br> |  | ||||||
|                         select 1 <br> |  | ||||||
|                         from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."Route"</span> as r on r.<span class="sql-identifier">"DocCode"</span> = t.<span class="sql-identifier">"VCode"</span> and r.<span class="sql-identifier">"DocType"</span> = t.<span class="sql-identifier">"TypeName"</span> <br> |  | ||||||
|                         where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'Initiator'</span> <br> |  | ||||||
|                         and r.<span class="sql-identifier">"Initiator"</span> = an.<span class="sql-identifier">"value"</span> <br> |  | ||||||
|                     )</code> |  | ||||||
|             </td> |  | ||||||
|         </tr> |  | ||||||
|         <tr> |  | ||||||
|             <td>StageUser</td> |  | ||||||
|             <td>Участник маршрута</td> |  | ||||||
|             <td> |  | ||||||
|                 <code>and <br> |  | ||||||
|                     exists( <br> |  | ||||||
|                         select 1 <br> |  | ||||||
|                         from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."Route"</span> as r on r.<span class="sql-identifier">"DocCode"</span> = t.<span class="sql-identifier">"VCode"</span> and r.<span class="sql-identifier">"DocType"</span> = t.<span class="sql-identifier">"TypeName"</span> <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."RouteStage"</span> as s on s.<span class="sql-identifier">"PCode"</span> = r.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."StageItem"</span> as i on i.<span class="sql-identifier">"PCode"</span> = s.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'StageUser'</span> <br> |  | ||||||
|                         and r.<span class="sql-identifier">"RouteStatus"</span> NOT IN (4) <br> |  | ||||||
|                         and i.<span class="sql-identifier">"StageUser"</span> = an.<span class="sql-identifier">"value"</span> <br> |  | ||||||
|                     )</code> |  | ||||||
|             </td> |  | ||||||
|         </tr> |  | ||||||
|         <tr> |  | ||||||
|             <td>SignatoryUser</td> |  | ||||||
|             <td>Работник</td> |  | ||||||
|             <td> |  | ||||||
|                 <code>and( <br> |  | ||||||
|                     exists( <br> |  | ||||||
|                         select 1 <br> |  | ||||||
|                         from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."Route"</span> as r on r.<span class="sql-identifier">"DocCode"</span> = t.<span class="sql-identifier">"VCode"</span> and r.<span class="sql-identifier">"DocType"</span> = t.<span class="sql-identifier">"TypeName"</span> <br> |  | ||||||
|                         where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'SignatoryUser'</span> <br> |  | ||||||
|                         and r.<span class="sql-identifier">"DocType"</span> = <span class="sql-string">'EmployeeStatement'</span> <br> |  | ||||||
|                         and r.<span class="sql-identifier">"Initiator"</span> = an.<span class="sql-identifier">"value"</span> <br> |  | ||||||
|                     ) or exists( <br> |  | ||||||
|                         select 1 <br> |  | ||||||
|                         from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."Route"</span> as r on r.<span class="sql-identifier">"DocCode"</span> = t.<span class="sql-identifier">"VCode"</span> and r.<span class="sql-identifier">"DocType"</span> = t.<span class="sql-identifier">"TypeName"</span> <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."RouteStage"</span> as s on s.<span class="sql-identifier">"PCode"</span> = r.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."StageItem"</span> as i on i.<span class="sql-identifier">"PCode"</span> = s.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'SignatoryUser'</span> <br> |  | ||||||
|                         and r.<span class="sql-identifier">"DocType"</span> = <span class="sql-string">'LND'</span> <br> |  | ||||||
|                         AND r.<span class="sql-identifier">"RouteStatus"</span> NOT IN(4) <br> |  | ||||||
|                         AND s.<span class="sql-identifier">"IsMarked"</span> IS NOT true <br> |  | ||||||
|                         AND COALESCE(i.<span class="sql-identifier">"DocumentAction"</span>, 0) IN (20, 30) <br> |  | ||||||
|                         and i.<span class="sql-identifier">"StageUser"</span> = an.<span class="sql-identifier">"value"</span> <br> |  | ||||||
|                     ) or exists( <br> |  | ||||||
|                         select 1 <br> |  | ||||||
|                         from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                         join <span class="sql-identifier">comdoc."ReadListItem"</span> as r on r.<span class="sql-identifier">"DocCode"</span> = t.<span class="sql-identifier">"VCode"</span> and r.<span class="sql-identifier">"DocType"</span> = t.<span class="sql-identifier">"TypeName"</span> <br> |  | ||||||
|                         where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'SignatoryUser'</span> <br> |  | ||||||
|                         and r.<span class="sql-identifier">"DocType"</span> = <span class="sql-string">'LND'</span> <br> |  | ||||||
|                         and r.<span class="sql-identifier">"DocflowUser"</span> = an.<span class="sql-identifier">"value"</span> <br> |  | ||||||
|                     ) or exists( <br> |  | ||||||
|                         select 1 <br> |  | ||||||
|                         from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                         join <span class="sql-identifier">dfd."EmpowermentWorkerDetail"</span> as ewd on ewd.<span class="sql-identifier">"PCode"</span> = t.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         JOIN <span class="sql-identifier">rp."RP_Person"</span> AS p ON ewd.<span class="sql-identifier">"PersonId"</span> = p.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         JOIN <span class="sql-identifier">rp."RP_PersonContact"</span> AS pc on p.<span class="sql-identifier">"VCode"</span> = pc.<span class="sql-identifier">"Pcode"</span> <br> |  | ||||||
|                         where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'SignatoryUser'</span> <br> |  | ||||||
|                         and t.<span class="sql-identifier">"TypeName"</span> = <span class="sql-string">'EmpowermentConstructor'</span> <br> |  | ||||||
|                         and pc.<span class="sql-identifier">"IdTypeContact"</span> = 6 <br> |  | ||||||
|                         and pc.<span class="sql-identifier">"Code"</span> = an.<span class="sql-identifier">"value"</span> <br> |  | ||||||
|   )  |   )  | ||||||
|                 ) |  | ||||||
|                 </code> |  | ||||||
|             </td> |  | ||||||
|         </tr> |  | ||||||
|         <tr> |  | ||||||
|             <td>EmpowermentSubject</td> |  | ||||||
|             <td>Полномочия</td> |  | ||||||
|             <td> |  | ||||||
|                 <code>and <br> |  | ||||||
|                     exists( <br> |  | ||||||
|                         select 1 <br> |  | ||||||
|                         from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                         join <span class="sql-identifier">dfd."EmpowermentSubjectDetail"</span> as esd on esd.<span class="sql-identifier">"PCode"</span> = t.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         JOIN <span class="sql-identifier">dfd."EmpowermentSubject"</span> AS s ON esd.<span class="sql-identifier">"Subject"</span> = s.<span class="sql-identifier">"VCode"</span> <br> |  | ||||||
|                         where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'EmpowermentSubject'</span> <br> |  | ||||||
|                         and t.<span class="sql-identifier">"TypeName"</span> = <span class="sql-string">'EmpowermentConstructor'</span> <br> |  | ||||||
|                         and s.<span class="sql-identifier">"VCode"</span> = an.<span class="sql-identifier">"value"</span>::bigint <br> |  | ||||||
|                     ) |  | ||||||
|                 </code> |  | ||||||
|             </td> |  | ||||||
|         </tr> |  | ||||||
|         <tr> |  | ||||||
|             <td>Filial</td> |  | ||||||
|             <td>Организация</td> |  | ||||||
|             <td> |  | ||||||
|                 <code>and exists( <br> |  | ||||||
|                     select 1 <br> |  | ||||||
|                     from <span class="sql-identifier">"tmp_anFilters_for_documentSearch"</span> as an <br> |  | ||||||
|                     where an.<span class="sql-identifier">"id"</span> = <span class="sql-string">'Filial'</span> <br> |  | ||||||
|                     and t.<span class="sql-identifier">"COrg"</span>::text = an.<span class="sql-identifier">"value"</span> <br> |  | ||||||
|                 ) |  | ||||||
|                 </code> |  | ||||||
|             </td> |  | ||||||
|         </tr> |  | ||||||
|     </tbody> |  | ||||||
| </table> |  | ||||||
|  |  | ||||||
| </body> | ``` | ||||||
| </html>                                  | |  | ||||||
|  | **EmpowermentSubject - Полномочия** | ||||||
|  | ```sql | ||||||
|  | and  | ||||||
|  |   exists( | ||||||
|  |     select 1 | ||||||
|  | 	from "tmp_anFilters_for_documentSearch" as an | ||||||
|  | 	  join dfd."EmpowermentSubjectDetail" as esd on esd."PCode" = t."VCode" | ||||||
|  |           JOIN dfd."EmpowermentSubject" AS s ON esd."Subject" = s."VCode" | ||||||
|  | 	where an."id" = 'EmpowermentSubject' | ||||||
|  | 	  and t."TypeName" = 'EmpowermentConstructor' | ||||||
|  | 	  and s."VCode" = an."value"::bigint | ||||||
|  |   ) | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | **SignatoryUser - Работник** | ||||||
|  | ```sql | ||||||
|  | and( | ||||||
|  |   exists( | ||||||
|  |     select 1 | ||||||
|  |     from "tmp_anFilters_for_documentSearch" as an | ||||||
|  |       join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" | ||||||
|  |     where an."id" = 'SignatoryUser' | ||||||
|  |       and r."DocType" = 'EmployeeStatement' | ||||||
|  |       and r."Initiator" = an."value" | ||||||
|  |   ) or exists( | ||||||
|  |     select 1 | ||||||
|  |     from "tmp_anFilters_for_documentSearch" as an | ||||||
|  |       join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" | ||||||
|  | 	  join comdoc."RouteStage" as s on s."PCode" = r."VCode" | ||||||
|  | 	  join comdoc."StageItem" as i on i."PCode" = s."VCode" | ||||||
|  |     where an."id" = 'SignatoryUser' | ||||||
|  |       and r."DocType" = 'LND' | ||||||
|  | 	  AND r."RouteStatus" NOT IN(4) | ||||||
|  | 	  AND s."IsMarked" IS NOT true | ||||||
|  | 	  AND COALESCE(i."DocumentAction", 0) IN (20, 30) | ||||||
|  |       and i."StageUser" = an."value" | ||||||
|  |   ) or exists( | ||||||
|  |     select 1 | ||||||
|  | 	from "tmp_anFilters_for_documentSearch" as an | ||||||
|  | 	  join comdoc."ReadListItem" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" | ||||||
|  | 	where an."id" = 'SignatoryUser' | ||||||
|  | 	  and r."DocType" = 'LND' | ||||||
|  | 	  and r."DocflowUser" = an."value" | ||||||
|  |   ) or exists( | ||||||
|  |     select 1 | ||||||
|  | 	from "tmp_anFilters_for_documentSearch" as an | ||||||
|  | 	  join dfd."EmpowermentWorkerDetail" as ewd on ewd."PCode" = t."VCode" | ||||||
|  |           JOIN rp."RP_Person" AS p ON ewd."PersonId" = p."VCode" | ||||||
|  |           JOIN rp."RP_PersonContact" AS pc on p."VCode" = pc."Pcode" | ||||||
|  | 	where an."id" = 'SignatoryUser' | ||||||
|  | 	  and t."TypeName" = 'EmpowermentConstructor' | ||||||
|  |           and pc."IdTypeContact" = 6 | ||||||
|  | 	  and pc."Code" = an."value" | ||||||
|  |   )  | ||||||
|  | ) | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | **Filial - Организация** | ||||||
|  | ```sql | ||||||
|  | and | ||||||
|  |   exists( | ||||||
|  |     select 1 | ||||||
|  |     from "tmp_anFilters_for_documentSearch" as an | ||||||
|  |     where an."id" = 'Filial' | ||||||
|  |       and t."COrg"::text = an."value" | ||||||
|  |   ) | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | **Subtype - Подтип** | ||||||
|  | ```sql | ||||||
|  | and | ||||||
|  |   exists( | ||||||
|  |     select 1 | ||||||
|  |     from "tmp_anFilters_for_documentSearch" as an | ||||||
|  |     where an."id" = 'Subtype' | ||||||
|  |       and t."DocumentSubtype"::text = an."value"::text | ||||||
|  |   ) | ||||||
|  | ``` | ||||||
|  |  | ||||||
| ## Настройка документов | ## Настройка документов | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user