Задача [0306]: Полный набор полей из всех типов журналов при особой настройке карточки типа документа

Формулировка проблемы: необходима возможность регистрировать документы в журнале внутренних документов, карточка которого должна выглядеть как у журнала входящих документов. При этом использовать тип журнала "входящий" не представляется возможным, т.к. пропадает возможность его выбора в РКК при отправке документа на регистрацию. Кроме того, необходима возможность менять порядок следования полей в РКК документа.

Связанные задачи:

Используется:

Решение

Данная постановка состоит из трех логических частей:

Доработка особой настройки карточки документа

Необходимо доработать таблицу настройки особой карточки, появляющейся при включении флажка Использовать особую настройку карточки в настройках типа документа (Конфигуратор → Документооборот → Типы документов), следующим образом.

Во-первых, необходимо сделать доступным флажок, позволяющий отключить отображение исполнителя (если при этом не включено требование ввода исполнителя в условиях регистрации либо не выбран шаблон маршрута). При выключении флажка:

  • в РКК документа необходимо не отображать точечную линию и поле "Определить исполнителя";

  • в мастере регистрации не отображать кнопку "Далее" в шаге 2, а также шаг 3 вовсе.

Во-вторых, теперь в таблице необходимо отображать всегда одинаковый набор полей, а уже в зависимости от того, какой тип журнала выбран, зависят дефолтные значения флажков "Показать":

Название поля Показать (внутренний) Показать (входящий) Показать (исходящий)

1

Краткое содержание

да (недоступен)

да (недоступен)

да (недоступен)

2

Тип документа

да (недоступен)

да (недоступен)

да (недоступен)

3

Номер

да

да

да

4

Дата регистрации

да

да

да

5

Длительность/Завершение

да

да

нет (недоступен)

6

Корреспондент (орг)

нет

да

да

7

Корреспондент

нет

да

да

8

Автор

да

нет

да

9

Зарегистрировал

да

да

да

10

Является контрольным

да

да

да

11

Номер исх.

нет

да

нет

12

Дата исх.

нет

да

нет

13

Дело

да

да

да

14

Основание

да

да

да

Исполнитель

да

да

нет (недоступен)

Таблица должна обладать следующими свойствами:

  • (было ранее) если в шаблоне номера выбранного журнала используются звездочки, то флажок отображения «Номер» включается и становится недоступным, независимо от предыдущего состояния;

  • (было ранее) если у типа документа включается опция «Требовать указания дела», то флажок отображения «Дело» включается и становится недоступным, независимо от предыдущего состояния;

  • (новое) если у типа документа включается опция «Требовать ввода исполнителя» либо выбран хотя бы один шаблон маршрута, то флажок отображения «Исполнитель» включается и становится недоступным, независимо от предыдущего состояния;

  • (новое) если включен флажок отображения «Исполнитель», то включается и становится недоступным флажок отображения «Длительность/Завершение», независимо от предыдущего состояния;

  • (новое) если выключен флажок отображения «Исполнитель», то флажок отображения «Длительность/Завершение» становится доступным для выключения.

В-третьих, поле "№" необходимо сделать редактируемым для возможности изменения порядка следования полей.

В строках таблицы в этом столбце можно вводить порядковый номер. Поля, помеченные как "Показать", в РКК документа / мастере регистрации должны отображаться по порядку, заданному этими номерами, по возрастанию; если номер для каких-либо строк указан неверно либо не указан вовсе, то соответствующие поля должны отобразиться после занумерованных, в дефолтном порядке (т.е. заданном таблицей по умолчанию, см. выше).

Примечания.

Поле номера в таблице напротив исполнителя должно быть всегда пустым и недоступным для редактирования, а само поле "Определить исполнителя" должно отображаться как и ранее: в РКК документа после основной и дополнительной карточки, отделенный при этом точечной линией, а в мастере регистрации - на шаге 3 вместе с редактором маршрута.

Дополнительная карточка всегда отображается после основной, независимо от того, имеют ли все поля основной карточки номер следования.

Рисунок 247. Настройка типа документа

Настройка типа документа

Доработки в модуле «Документы»

Во-первых, необходимо доработать табличное представление списка документов, чтобы содержимое подменю пункта "Столбцы" любой ноды дерева "Журналы" формировалось следующим образом:

  • составляется выборка всех типов документов, связанных с выбранным журналом;

  • составляется сумма (логическое "ИЛИ") отображаемых полей на основе особой настройки карточки каждого типа документа.

Максимальный возможный набор пунктов меню "Столбцы" (звездочкой помечены те поля, которые могут перестать отображаться в результате особой настройки карточки):

  • Реестр

  • Резолюция

  • Контрольный*

  • В прогрессе

  • Бракованный

  • Вложения

  • Номер*

  • Дата регистрации*

  • Краткое содержание

  • Статус

  • Автор*

  • Корреспондент*

  • Корреспондент (орг)*

  • Зарегистрировал*

  • Отписано (по умолчанию)*

  • На исполнении

Примеры.

№1. Пусть с журналом внутренних документов связано два типа документа. В первом используется обычная карточка, во втором - особая, в которой включены оба поля корреспондента, номер и дата исходящего, но отключены поля автора, зарегистрировавшего и исполнителя. Итоговый набор пунктов подменю будет максимальным (см. выше).

№2. Если во всех типах документа данного журнала не используется особая настройка карточки, то подменю "Столбцы" будет содержать тот же набор пунктов, что и до итерации 3.2 включительно.

Во-вторых, необходимо доработать фильтры в документах, чтобы набор условий формировался согласно алгоритму, описанному выше для табличного представления.

Максимальный возможный набор пунктов условий фильтра (звездочкой помечены те поля, которые могут перестать отображаться в результате особой настройки карточки):

  • Краткое содержание

  • Номер*

  • Тип документа

  • Статус

  • Дата регистрации*

  • Номер исх.*

  • Дата исх.*

  • Корреспондент*

  • Корреспондент (орг)*

  • Автор*

  • Зарегистрировал*

  • Исполнитель*

  • Длительность (раб.дн)*

  • Контрольные*

  • Бракованные

  • В процессе

В-третьих, необходимо доработать фасеты "Категории поиска", чтобы набор условий формировался согласно алгоритму, описанному выше для табличного представления.

Максимальный возможный набор фасетов категории поиска (звездочкой помечены те поля, которые могут перестать отображаться в результате особой настройки карточки):

  • Номер*

    • список динамически формируемых пунктов*

  • Номер (исх)*

  • Краткое содержание

  • Корреспондент (орг)*

  • Корреспондент*

  • Автор*

  • Зарегистрировал*

  • Исполнитель*

  • Тип документа

  • Доп. поля карточки

В-четвертых, необходимо доработать печатную версию РКК документа таким образом, чтобы она была идентична непосредственно самой РКК. Таким образом, в зависимости от настройки особой карточки у типа документа:

  • не настроена - печатная версия РКК измениться не должна (т.е. в одной строке может быть несколько полей);

  • настроена - печатная версия РКК содержит в одной строке одно поле в порядке, заданном нумерацией "особой" карточки.

Доработки API

Необходимо доработать метод API rest/api/docflow/doc/rcc таким образом, чтобы возвращались не только дефолтные параметры документа, но и те недефолтные, что включены в особой настройке карточки хотя бы одного типа документа данного типа журнала.

Такими недефолтными полями могут быть:

  • для документов с типом журнала внутренний:

    • correspondentOrg - название корреспондента-организации в строковом формате;

    • correspondent - название корреспондента в строковом формате;

    • numberOut - номер исх. в строковом формате, установленном для данного документа;

    • dateOut - дата исх. в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС";

  • для документов с типом журнала входящий:

    • authorID - UUID автора документа;

  • для документов с типом журнала исходящий:

    • numberOut - номер исх. в строковом формате, установленном для данного документа;

    • dateOut - дата исх. в формате "ГГГГ-ММ-ДД ЧЧ:ММ:СС".

Действия при обновлении системы

Во-первых, во всех существующих типах документа, в которых настроена особая карточка, будут отображаться все возможные поля, но при этом не изменится существующих список отображаемых полей (т.е. флажки "Показать" не затронутся). Следовательно, в РКК любого документа внешних изменений произойти не должно.

Во-вторых, в табличном представлении, в условиях фильтров, в фасетах категории поиска у любого журнала будет отображаться сумма отображаемых полей согласно особой настройке карточки всех типов документа данного журнала.

Пример использования

Условие: наличие методолога системы, сотрудника канцелярии, а также журнала с типом внутренний «Журнал внутренних документов» и формы, содержащей компонент числовое поле с подписью «Количество страниц».

  1. Методолог переходит в Конфигуратор → Документооборот → Типы документов и создает новый тип документа.

  2. Заполнить поля:

    • Название — Внутренний

    • ...

    • Способ ввода срока — Длительность

    • Журнал — выбрать журнал из условия

    • Форма документа — выбрать форму из условия

    • ...

    • Требовать ввода исполнителя — выключено

  3. Включить галочку «Использовать особую настройку карточки» — ниже отобразится таблица со всеми возможными полями РКК, причем по умолчанию включены те галочки, что соответствуют внутреннему типу журнала:

Название поля Показать

1

Краткое содержание

да (недоступен)

2

Тип документа

да (недоступен)

3

Номер

да

4

Дата регистрации

да

5

Длительность/Завершение

да (недоступен)

6

Корреспондент (орг)

нет

7

Корреспондент

нет

8

Автор

да

9

Зарегистрировал

да

10

Является контрольным

да

11

Номер исх.

нет

12

Дата исх.

нет

13

Дело

да

14

Основание

да

Исполнитель

да

  1. Совершить следующие изменения в таблице:

    • включить отображение поля «Корреспондент (орг)»

    • включить «Корреспондент»

    • отключить «Автор»

    • отключить «Зарегистрировал»

    • включить «Номер исх.»

    • включить «Дата исх.»

    • поменять порядок полей «Дело» (№14) и «Основание» (№13)

    • отключить «Исполнитель»

  2. Сохранить изменения.

  3. Авторизоваться в клиентском приложении под сотрудником канцелярии, перейти в модуль «Хранилище» → «Документы».

  4. Открыть Журнал внутренних документов.

  5. Создать новый документ — откроется мастер регистрации с полями:

    • Краткое содержание

    • Тип документа

    • Номер

    • Дата регистрации

    • Длительность (раб.дн)

    • Корреспондент (орг)

    • Корреспондент

    • Является контрольным

    • Номер исх.

    • Дата исх.

    • Основание

    • Списать в

    • Количество страниц (из доп.карточки)