====== Создание и настройка формы ====== * **[[product:forms:admin:about|Логика создания формы]]** * **[[product/forms/admin/case|Пример создания типовой формы]]** ===== Как создать новую форму ===== - **Администрирование -> Общие настройки -> Конструктор форм**. {{ :product:forms:admin:forms_new_1.png?nolink |Список форм}} - Нажмите "**Добавить**". - Заполните поля в портлете "[[#свойства_формы|Свойства формы]]": * ''Название''; * ''Описание/Легенда'' -- описание назначения формы или набора данных для заполнения; * ''Вид представления объектов'': * ''Линейный'' -- в список попадают только те объекты, по которым доступны поля для заполнения; * ''Иерархический'' -- отображаются вместе с иерархией вышестоящих объектов с учетом фильтра по родительскому объекту. \\ //Отображение вышестоящих объектов зависит от того, откуда запрашивается форма: из модуля на Рабочем столе или со страницы объекта.// * ''Фиксированный заголовок таблицы''((Функциональность доступна с [[releases/3_21|версии 3.21]] и выше.)) -- при скроллинге формы шапка таблицы (названия полей) фиксируются на странице, так что пользователь при заполнении формы всегда их видит. Актуально, если форма содержит много строк, и пользователю нужно скроллить её при заполнении. * ''Настройка размеров колонок''((Функциональность доступна с [[releases/3_21|версии 3.21]] и выше.)) -- при активации этого чек-бокса администратор системы может зайти в форму и вручную настроить ширину колонок, после чего сохранить их положение. \\ {{ :product:forms:admin:forms_new_2_1.png |}} * ''Использовать процедуру запросов'' -- вкл/выкл ручные запросы из объекта на заполнение форм. * ''Актуализировать план проекта'' -- если вкл: при сохранении заполненной формы запускается перерасчет дат плана проекта (включая дочерние объекты), который является [[#параметры_выборки_объектов|источником запроса формы]]. Опция работает, если форма содержит [[product:objects:date:dates|плановые даты]] и пользователь изменил хотя бы одну такую дату в рамках текущего сеанса работы с формой. \\ {{ :product:forms:admin:forms_new_2.png?nolink |Свойства формы}} - **Сохраните** форму. - Настройте форму. ===== Возможность запроса из объектов ===== Это -- привязка формы к объектам. На карточках каких типов объектов появится в левом меню пункт "Формы". \\ Из этого раздела можно будет отправить ручной запрос на заполнение формы или открыть форму для заполнения((при наличии у пользователя соответствующих прав)). - В портлете «Возможность запроса из объектов» -> ''Изменить''. - Выберите типы объектов. - Сохраните изменения. Также привязать форму к объекту можно [[product/objects/admin/interfaces|со страницы параметров объекта]] -> портлет «Формы». {{ :product:forms:admin:forms_new_3.png?direct |Возможность запроса из объектов}} ===== Параметры выборки объектов ===== Выберите здесь те объекты, в справочники и/или реквизиты которых нужно вносить данные. Вы можете выбрать не просто объекты, а [[product:reports:filters|задать точные условия их отбора]]. \\ //Например, отчитаться по задачам, которые просрочены. => Выбрать объекты типа "Задача" + в открытых статусах + у которых плановая дата завершения уже прошла.// Это могут быть те же объекты, что и в портлете "Возможность запроса из объектов", а могут быть -- их дочерние. При настройке [[product:reports:filters|фильтров]] учитывайте, что они будут применяться к данным пользователей, которые будут получать запросы и заполнять форму. \\ //Например, вы можете использовать фильтр "по моим ролям" -- чтобы каждый пользователь получал запросы именно по своим объектам.// ==== Отбор объектов по записям справочников ==== Опционально. Это -- инструмент отбора объектов **по наличию записей** в связанных с ними справочниках. Может быть полезно для отбора объектов, чьи справочники нужно **показать** или **отредактировать** в форме Инструмент актуален, только если: * к объектам привязаны эти справочники; * в этих справочниках есть хотя бы одна запись. Если вы включили этот фильтр, и в справочнике по выбранным объектам **еще нет ни одной записи**, у пользователя **будет пустая форма**. {{ :product:forms:admin:forms_new_4_1.png?nolink |Отбор объектов по записям справочников}} === Фильтры по записям === Фильтр по записям справочникам((такой же фильтр есть в портлете [[#справочники_объектов|"Справочники объектов"]], где настраивается выбор тех справочников, которые отображаются в форме и в которые вносятся изменения)) -- еще больше сужает выборку объектов по признаку наличия у них записей в определённых справочниках. Как это работает: * "отбери только [[#параметры_выборки_объектов|те объекты]], * к которым [[#отбор_объектов_по_записям справочников|привязаны справочники с хотя бы одной записью]], * которые (записи) отвечают требованиям из фильтров". Может использоваться для отбора объектов, если есть справочник с тысячами записей по десяткам и сотням объектов, и нужно отобрать конкретные записи для **отображения** или **редактирования**. Т.е. отобрать объекты по каким-то очень жёстким параметрам записей справочника, т.к. записей слишком много. == Как включить фильтр == - Отметьте те справочники, связанные с объектами, в которых должны быть записи: - ''Изменить''; - прочекать нужные справочники; - ''Сохранить''. - В поле "Фильтры по записям" -> ''Добавить'' - В открывшемся поп-апе включите нужные вам фильтры по записям справочника. До настройки фильтров по записям справочников активированные справочники на отбор объектов не влияют. ^Фильтр по системной дате|Фильтр по дате создания записи. Функциональность аналогична [[product/reports/filters#фильтр_по_плановой_дате|фильтру по плановой дате]] в отборе объектов.| ^Фильтр по реквизитам-классификаторам|Применяется для реквизитов-классификаторов выбранного справочника| ^Фильтр по статусам|"На редактировании"/"Утверждено". Подробно [[product/tables/users/approval_data|о статусах записей в справочнике]].| ^Фильтр по числовому реквизиту подчиненного справочника|Сравнение реквизита ведущего справочника и суммы «Итого ранее» подчиненного справочника.| {{ :product:forms:admin:forms_new_5.png?nolink |Настройка фильтров}} На форму выведутся объекты, * у которых есть хотя бы одна запись, * у которой одновременно выполняются все заданные фильтры для записей справочника((не учитывая критериев по собственным атрибутам объектов, задаваемых независимо)). При деактивации определенного типа объектов((на странице параметров выборки объектов)) все привязанные к этому типу объектов справочники исключаются из списка справочников в портлете «Отбор объектов по записям справочников». Выберите договоры, у которых в связанных справочниках планируемых платежей/приходов: - запись с просроченной датой; - реквизит-классификатор «Статус оплаты» = «Запланировано». Настройте запросы форм сбора отчетности для актуализации просроченных дат. Рекомендуем настраивать выборку формы так, чтобы в ней у пользователя открывалось не больше 50-100 объектов -- иначе страница заполнения формы будет формироваться длительное время (до нескольких минут), а пользователи будут путаться при заполнении из-за большого количества строк и полей. Настраивайте выборку таким образом, чтобы конечные пользователи на странице заполнения видели только свои задачи. ===== Автоматические рассылки запросов ===== Опционально. Нужно, чтобы пользователи получали запросы на заполнение формы при выполнении определённых условий. Подробно о настройке [[product/forms/admin/auto_request|автоматической рассылке запросов]]. ===== Реквизиты объектов ===== В портлете «Реквизиты объектов» выберите те реквизиты, которые пользователи будут заполнять через формы. Если в объекте уже были записаны реквизиты, то через форму старое значение реквизитов будет затёрто. При этом история значений реквизитов **не сохраняется**! Логов по ним нет. Здесь можно добавить системные или пользовательские реквизиты. * **Пользовательские** -- это те, которые содержатся в объектах, выбранных в портлете "Параметры выборки объектов" и которые доступны для заполнения. * **Системные** -- всегда одинаковый набор: * Плановая дата начала (фиксированная дата) * Плановая продолжительность * Плановая дата завершения (фиксированная дата) * Фактическая дата начала * Фактическая дата завершения * Утвержденная дата начала * Утвержденная дата завершения * Расчетная дата начала * Расчетная дата завершения * Процент выполнения Какие реквизиты прикреплены к выбранным объектам -- такие реквизиты и будут в портлете «Реквизиты объектов». \\ Можно использовать реквизиты всех типов, в том числе файлы. Запрашивать заполнение реквизитов по объектам -- не обязательно. Если вам нужно с помощью формы собирать записи только по справочникам, оставьте этот блок пустым. \\ Аналогично -- со справочниками. Если нужно запрашивать реквизиты по конкретным объектам (например, в определённом статусе), это можно делать независимо от справочников. ==== Настройка ==== Можно указать набор **обязательных для заполнения** реквизитов (чек-бокс в столбце «Обязательный»), а также **изменить их названия**. Для указания обязательного реквизита: - клик на ''Изменить'' в строке параметра с реквизитом; - поставить чек-бокс "Обязательный" и сохранить. Для удаления реквизита -- клик на ''Удалить'' в строке параметра. {{ :product:forms:admin:forms_new_6.png?nolink |Реквизиты объектов}} ===== Показатели OLAP-кубов ===== В форму можно добавить показатель из [[product:olap|OLAP-куба]] для удобства того, кто заполняет форму. {{ :product:forms:admin:form_2nd_2.png?nolink |Поля для выбора OLAP-куба и показателя из него}} Например, индикатор или ключевое значение, которое позволит правильно принять решение и корректно заполнить форму. {{ :product:forms:admin:form_2nd_1.png?nolink |Показатели OLAP в интерфейсе формы}} См. [[product:olap:case_system_table|пошаговый пример настройки OLAP-куба.]] ===== Справочники объектов ===== Выберите здесь те [[product:tables|справочники]], в которые будут записываться данные из формы: - ''Изменить'' -> выбрать чек-боксами нужные справочники; - выберите способ работы со справочником: * ''Новая запись'' (по умолчанию) – через форму создается одна новая запись справочника.При выборе [[product/tables/admin/inherited_table#ведущийподчиненный|для ведущего справочника]] «Новая запись», [[product/tables/admin/inherited_table#ведущийподчиненный|подчиненные справочники]] не доступны. * ''Просмотр'' – на форму выводятся записи справочника((с учетом заданных фильтров)) для просмотра. \\ //Этот способ работы доступен только для ведущего или независимого справочника.// * ''Редактирование'' – на форму выводятся записи справочника((с учетом заданных фильтров)) для редактирования. - для "Просмотр" и "Редактирование" настройте фильтр отображения записей справочника в форме. {{ :product:forms:admin:forms_new_9.png?nolink |Заполнение реквизитов подчиненного справочника на форме}} Для создания или редактирования записей в [[product/tables/admin/inherited_table#ведущийподчиненный|подчиненном справочнике]] через форму, включите в настройках "Ведущий справочник" -- в режиме «Просмотр» или «Редактирование». {{ :product:forms:admin:forms_new_10.png?nolink |Выбор способа работы с записями справочников на форме}} ==== Параметры справочника ====
^ Параметры ^ Что означает | Способ работы с записями ||| ^:::^:::^ Новая запись ^ Редактирование ^ Просмотр ^ |''Показать итог для введённых ранее записей''|В форме выводится дополнительная колонка, где отображается сумма предыдущих значений, если это [[product/requisites/number|числовой реквизит]]. Работает, только если активированы((выделены чек-боксами)) и [[product/tables/admin/inherited_table#ведущийподчиненный|подчинённый, и ведущий]] справочники.| {{fa>check?24&color=#267F00}} | {{fa>check?24&color=#267F00}} | {{fa>times?24&color=#C60000}} | |''Ввод значений числового реквизита накопительным итогом''|Поле предназначено для записи текущего накопительного итога. \\ //Например, для ввода складских остатков (сколько здесь и сейчас есть условных стульев или кирпичей на складе).// \\ Система сама посчитает дельту относительно предыдущего накопительного итога и **внесёт в справочник именно значение дельты**. \\ Разница может быть как положительной((нарастающий итог)), так и отрицательной((убывающий итог)). \\ О включенной опции при заполнении формы говорит {{:product:forms:admin:pic.png?nolink|}} перед полем ввода. Работает, только если активированы((выделены чек-боксами)) и [[product/tables/admin/inherited_table#ведущийподчиненный|подчинённый, и ведущий]] справочники.| {{fa>check?24&color=#267F00}} | {{fa>times?24&color=#C60000}} | {{fa>times?24&color=#C60000}} | |''Необязательное заполнение''|**Инструмент для** пропуска и **НЕзаписи** тех строк, **где нечего писать**, по которым нет изменений или новостей. \\ //Например, есть справочник с несколькими обязательными для заполнения реквизитами. \\ Пользователь вносит текущие значения по целому перечню объектов, но по некоторым из них нет информации или нет изменений => вносить нечего. Он сохраняет форму.// \\ Там, где данные есть -- создаются новые записи справочника, там, где ни один из реквизитов не заполнен -- ничего не создаётся. Пользователь благополучно сохраняет форму, не получает при этом никаких оповещений или напоминаний о необходимости внести данные по всем строкам. Если пользователь внёс в строке хотя бы один из реквизитов, и в справочнике остался хотя бы один незаполненный обязательный реквизит, пользователь получит уведомление как обычно. \\ В таком случае сохранить форму без внесения полных данных он не сможет.| {{fa>check?24&color=#267F00}} | {{fa>check?24&color=#267F00}} | {{fa>times?24&color=#C60000}} | |''Выводить последнюю запись''((Доступно с версии 3.17.))|В форме отображается только последняя запись по //системной// дате и времени для объекта выборки.| {{fa>times?24&color=#C60000}} | {{fa>times?24&color=#C60000}} | {{fa>check?24&color=#267F00}} |
==== Фильтр записей справочника ==== Если в форме нужно **увидеть или отредактировать** какие-то конкретные записи в справочниках, настройте фильтр. Фильтры доступны: * для [[product:tables:admin:inherited_table|ведущих]] и независимых справочников -- при «Просмотре» или «Редактировании», * для [[product:tables:admin:inherited_table|подчиненных]] -- при «Редактировании». Логика настройки фильтров [[#как_включить_фильтр|полностью аналогична]] фильтру по записям справочника в портлете "Параметры выборки объектов" -> "Отбор объектов по записям справочников". === Как включить фильтр === - В портлете "Справочники объектов" [[#справочники_объектов|добавьте справочники]]. - В поле "Фильтры по записям" -> ''Добавить''. \\ {{ :product:forms:admin:forms_new_8.png?nolink |Фильтры для справочников на форме}} - В [[#как_включить_фильтр|открывшемся поп-апе]] включите нужные вам фильтры по записям справочника. Пояснение к функциональности см. в [[#как_включить_фильтр|Таблице 1]].