какие виды полей формы существуют
Выразительный JavaScript: Формы и поля форм
Содержание
Я нынче ж на ученом кутеже
Твое доверье службой завоюю,
Ты ж мне черкни расписку долговую,
Чтоб мне не сомневаться в платеже.
Мефистофель, в «Фаусте» Гёте
Формы были кратко представлены в предыдущей главе в качестве способа передачи информации, введённой пользователем, через HTTP. Они были разработаны в вебе до появления JavaScript, с тем расчётом, что взаимодействие с сервером происходит при переходе на другую страницу.
Но их элементы являются частями DOM, как и остальные части страницы, а элементы DOM, представляющие поля формы, поддерживают несколько свойств и событий, которых нет у других элементов. Это делает возможным просматривать и управлять полями ввода из программ JavaScript и добавлять функциональности к классическим формам или использовать формы и поля как основу для построения приложения.
Кнопка с атрибутом type равным submit при нажатии отправляет форму. Нажатие клавиши Enter внутри поля формы имеет тот же эффект.
Отправка формы обычно означает, что браузер переходит на страницу, обозначенную в атрибуте формы action, используя либо GET либо POST запрос. Но перед этим запускается свойство “submit”. Его можно обработать в JavaScript, и обработчик может предотвратить поведение по умолчанию, вызвав на объекте event preventDefault.
Перехват событий “submit” полезен в нескольких случаях. Мы можем написать код, проверяющий допустимость введённых значений и сразу же показать ошибку вместо передачи данных формы. Или мы можем отключить отправку формы по умолчанию и дать программе возможность самой обработать ввод, например используя XMLHttpRequest для отправки данных на сервер без перезагрузки страницы.
Текстовые поля
Свойства текстовых полей selectionStart и selectionEnd содержат данные о положении курсора и выделения текста. Когда ничего не выделено, их значение одинаковое, и равно положению курсора. Например, 0 обозначает начало текста, 10 обозначает, что курсор находится после 10-го символа. Когда выделена часть поля, свойства имеют разные значения, а именно начало и конец выделенного текста. В эти поля также можно записывать значение.
К примеру, представьте, что вы пишете статью про Khasekhemwy, но затрудняетесь писать его имя правильно. Следующий код назначает тегу
Функция replaceSelection заменяет текущий выделенный текст заданным словом, и перемещает курсор на позицию после этого слова, чтобы можно было продолжать печатать.
Событие “change” для текстового поля не срабатывает каждый раз при вводе одного символа. Оно срабатывает после потери полем фокуса, когда его значение было изменено. Чтобы мгновенно реагировать на изменение текстового поля нужно зарегистрировать событие “input”, которое срабатывает каждый раз при вводе символа, удалении текста или других манипуляциях с содержимым поля.
В следующем примере мы видим текстовое поле и счётчик, показывающий текущую длину введённого текста.
Галочки и радиокнопки
Поле галочки – простой бинарный переключатель. Его значение можно извлечь или поменять через свойство checked, содержащее булевскую величину.
Тег используется для связи куска текста с полем ввода. Атрибут for должен совпадать с id поля. Щелчок по метке label включает поле ввода, оно получает фокус и меняет значение – если это галочка или радиокнопка.
Радиокнопка схожа с галочкой, но она связана с другими радиокнопками с тем же именем, так что только одна из них может быть выбрана.
Метод document.getElementsByName выдаёт все элементы с заданным атрибутом name. Пример перебирает их (посредством обычного цикла for, а не forEach, потому что возвращаемая коллекция – не настоящий массив) и регистрирует обработчик событий для каждого элемента. Помните, что у объектов событий есть свойство target, относящееся к элементу, который запустил событие. Это полезно для создания обработчиков событий – наш обработчик может быть вызван разными элементами, и у него должен быть способ получить доступ к текущему элементу, который его вызвал.
Поля select
В большинстве браузеров внешний вид поля будет отличаться от поля с единственным вариантом выбора, которое обычно выглядит как выпадающее меню.
Атрибут size тега = 0
Файловое поле
Файловое поле изначально было предназначено для закачивания файлов с компьютера через форму. В современных браузерах они также позволяют читать файлы из JavaScript. Поле работает как охранник для файлов. Скрипт не может просто взять и открыть файл с компьютера пользователя, но если тот выбрал файл в этом поле, браузер разрешает скрипту начать чтение файла.
Файловое поле обычно выглядит как кнопка с надписью вроде «Выберите файл», с информацией про выбранный файл рядом с ней.
Свойство files элемента – массивоподобный объект (не настоящий массив), содержащий список выбранных файлов. Изначально он пуст. У элемента нет простого свойства file, потому что пользователь может выбрать несколько файлов за раз при включённом атрибуте multiple.
У объектов в свойстве files есть свойства имя (имя файла), размер (размер файла в байтах), и тип (тип файла в смысле media type — text/plain или image/jpeg).
Чего у него нет, так это свойства, содержащего содержимое файла. Чтобы получить содержимое, приходится постараться. Так как чтение файла с диска занимает длительное время, интерфейс должен быть асинхронным, чтобы документ не замирал. Конструктор FileReader можно представлять себе, как конструктор XMLHttpRequest, только для файлов.
Чтение файла происходит при помощи создания объекта FileReader, регистрации обработчика события “load” для него, и вызова его метода readAsText с передачей тому файла. По окончании загрузки в свойстве result сохраняется содержимое файла.
Пример использует Array.prototype.forEach для прохода по массиву, так как в обычном цикле было бы неудобно получать нужные объекты file и reader от обработчика событий. Переменные были бы общими для всех итераций цикла.
Объекты FileReader также инициируют событие “error”, когда чтение файла не получается. Объект error будет сохранён в свойстве error. Если вы не хотите забивать голову ещё одной неудобной асинхронной схемой, вы можете обернуть её в обещание (см. главу 17):
Возможно читать только часть файла, вызывая slice и передавая результат (т.н. объект blob) объекту reader.
Хранение данных на стороне клиента
Простые HTML-странички с добавкой JavaScript могут выступать отличной основой для мини-приложений – небольших вспомогательных программ, автоматизирующих ежедневные дела. Присоединив к полям формы обработчики событий вы можете делать всё – от конвертации фаренгейтов в цельсии до генерации паролей из основного пароля и имени веб-сайта.
Когда такому приложению нужно сохранять информацию между сессиями, переменные JavaScript использовать не получится – их значения выбрасываются каждый раз при закрытии страницы. Можно было бы настроить сервер, подсоединить его к интернету и тогда приложение хранило бы ваши данные там. Это мы разберём в главе 20. Но это добавляет вам работы и сложности. Иногда достаточно хранить данные в своём браузере. Но как?
Можно хранить строковые данные так, что они переживут перезагрузку страниц — для этого надо положить их в объект localStorage. Он разрешает хранить строковые данные под именами (которые тоже являются строками), как в этом примере:
Переменная в localStorage хранится, пока её не перезапишут, удаляется при помощи removeItem или очисткой локального хранилища пользователем.
У сайтов с разных доменов – разные отделения в этом хранилище. То есть, данные, сохранённые с вебсайта в localStorage, могут быть прочтены или перезаписаны только скриптами с этого же сайта.
Также браузеры ограничивают объём хранимых данных, обычно в несколько мегабайт. Это ограничение, вкупе с тем фактом, что забивание жёстких дисков у людей не приносит прибыли, предотвращает отъедание места на диске.
Следующий код реализует простую программу для ведения заметок. Она хранит заметки в виде объекта, ассоциируя заголовки с содержимым. Он кодируется в JSON и хранится в localStorage. Пользователь может выбрать записку через поле новая
Скрипт инициализирует переменную notes значением из localStorage, а если его там нет – простым объектом с одной пустой записью «что купить». Попытка прочесть отсутствующее поле из localStorage вернёт null. Передача null в JSON.parse заставит его проанализировать строку «null» и вернуть null обратно. Поэтому для значения по умолчанию можно использовать оператор ||.
Когда данные в note меняются (добавляется новая запись или меняется текущая), для обновления хранимого поля вызывается функция saveToStorage. Если б мы рассчитывали, что у нас будут храниться тысячи записей, это было бы слишком накладно, и нам пришлось бы придумать более сложную процедуру для хранения – например, своё поле для каждой записи.
Когда пользователь добавляет запись, код должен обновить текстовое поле, хотя у поля и есть обработчик “change”. Это нужно потому, что событие “change” происходит, только когда пользователь меняет значение поля, а не когда это делает скрипт.
Есть ещё один похожий на localStorage объект под названием sessionStorage. Разница между ними в том, что содержимое sessionStorage забывается по окончанию сессии, что для большинства браузеров означает момент закрытия.
HTML предоставляет множество различных типов полей формы – текстовые, галочки, множественного выбора, выбора файла.
Из JavaScript можно получать значение и манипулировать этими полями. По изменению они запускают событие “change”, по вводу с клавиатуры – “input”, и ещё много разных клавиатурных событий. Они помогают нам отловить момент, когда пользователь взаимодействует с полем ввода. Свойства вроде value (для текстовых полей и select) или checked (для галочек и радиокнопок) используются для чтения и записи содержимого полей.
Когда пользователь выбрал файл в своей локальной файловой системе через поле выбора файла, интерфейс FileReader позволит нам добраться до содержимого файла из программы JavaScript.
Объекты localStorage и sessionStorage можно использовать для хранения информации таким способом, который переживёт перезагрузку страницы. Первый сохраняет данные навсегда (ну или пока пользователь специально не сотрёт их), а второй – до закрытия браузера.
Упражнения
Верстак JavaScript
Сделайте интерфейс, позволяющий писать и исполнять кусочки кода JavaScript.
Сделайте кнопку рядом с Поехали
Автодополнение
Дополните текстовое поле так, что при вводе текста под ним появлялся бы список вариантов. У вас есть массив возможных вариантов, и показывать нужно те из них, которые начинаются с вводимого текста. Когда пользователь щёлкает по предложенному варианту, он меняет содержимое поля на него.
Игра «Жизнь» Конвея
Это простая симуляция жизни на прямоугольной решётке, каждый элемент которой живой или нет. Каждое поколение (шаг игры) применяются следующие правила:
— каждая живая клетка, количество живых соседей которой меньше двух или больше трёх, погибает;
— каждая живая клетка, у которой от двух до трёх живых соседей, живёт до следующего хода;
— каждая мёртвая клетка, у которой есть ровно три живых соседа, оживает.
Соседи клетки – это все соседние с ней клетки по горизонтали, вертикали и диагонали, всего 8 штук.
Обратите внимание, что правила применяются ко всей решётке одновременно, а не к каждой из клеток по очереди. То есть, подсчёт количества соседей происходит в один момент перед следующим шагом, и изменения, происходящие на соседних клетках, не влияют на новое состояние клетки.
Содержание
Типы полей формы
Вы можете добавить в шаблон сколько угодно полей, определить их порядок и свойства. В Pyrus есть пользовательские, системные поля, поля для оформления формы и справочники.
Пользовательские поля
Пользовательские поля — основа формы. Они хранят информацию, которую сотрудники заносят в форму. Например, списки контрагентов или проектов, сканы документов, суммы и даты оплат. Каждому типу данных соответствует определенный тип поля: для сумм — деньги, для сроков — дата, для документов — файл и т.д.
Когда вы добавляете поле в шаблон формы, в правой части редактора появляются параметры поля. Есть несколько общих свойств для пользовательских полей.
Название | Как поле называется в форме. Примеры: Цель платежа, Дата платежа, Проект. |
Описание | Подсказка, что заносить в это поле. Пример: Опишите точно, за что платим. |
Добавлять в заголовок задачи | Если поставить здесь галочку, значение поля попадёт в заголовок задачи. Например, если в шаблоне формы Согласование платежа такая галка включена у поля Цель платежа, заявка, созданная по этой форме, будет называться, например, Согласование платежа: Покупка офисной мебели или Согласование платежа: Закупка оборудования. |
Обязательно на этапе | Если включить и указать этап, на этом этапе форму нельзя будет сохранить или согласовать без заполнения этого поля. Например, цель расхода должна быть указана обязательно. |
Неизменно с этапа | Если включить и указать этап, то начиная с этого этапа редактировать поле смогут только администраторы формы. Например, после согласования финансового директора сумму платежа изменить нельзя. |
Код | Подходит, когда нужно обеспечить работу одного бота в разных формах. Например, поле Клиент может быть в заявке на техподдержку, форме рекламации и других формах. И нужно, чтобы при определенных событиях бот «смотрел» в поле Клиент и действовал определенным образом — отправлял письмо, SMS, сообщение в мессенджер и т.д. С помощью данного параметра можно привязать к полю идентификатор, по которому бот будет обращаться к полю. |
Пример использования кода поля U
Остальные свойства зависят от типа поля. Ниже мы описываем типы полей и их уникальные свойства.
Текст
Используется для заполнения любой текстовой информации. В форме выглядит как простое поле для ввода текста.
Настраивая шаблон, перетяните поле в область формы или просто кликните по нему один раз. Выберите его в шаблоне. Появится блок с настройками.
Помимо общих свойств, у текстовых полей есть несколько уникальных параметров.
Однострочный или многострочный | Определяет, каким будет поле для ввода текста. В многострочных полях можно использовать переход на новую строку и абзацы. |
Автонумерация | Автоматически присваивает порядковый номер для поля в каждой новой заявке. Если вывести поле в заголовок задачи, то у каждой заполненной формы будет уникальный идентификатор — например для учёта и поиска однотипных документов. Примечание: можно использовать с маской. Например, если необходима четырехзначная нумерация поля с ведущими нулями в номере, настройте маску типа AA-0000. |
Адрес, Банк или Организация | Автоматически добавляет в форму реквизиты, адреса и другие данные организаций и банков. Например, вы установили параметр Организация. Когда начнёте вводить название компании в поле, Pyrus покажет список подходящих вариантов из базы ЕГРЮЛ, а когда выберете нужный, в форме появятся все реквизиты организации: ИНН, адрес и даже имя генерального директора. Если установите параметр Адрес и начнёте набирать в поле название улицы или города, Pyrus предложит варианты из базы ФИАС. Параметр Банк работает аналогично. Изменить выбранный параметр поля нельзя. |
Собственный поиск | |
Максимум символов | Устанавливает максимальную допустимую длину. Например, можно использовать для ИНН или номеров счетов. |
По умолчанию | Если какое-то значение в вашем процессе встречается чаще остальных, удобно использовать его как значение по умолчанию. |
К полям с типом Текст можно привязывать условия при настройке маршрутизации. Подробнее смотрите в описании маршрутизации.
Выбор
Добавьте это поле, чтобы при заполнении формы можно было выбрать один или несколько вариантов из предложенных.
По умолчанию у Выбора два варианта: да и нет. Вы можете переименовать их или добавить новые варианты.
Примечание: вы можете добавить до 200 вариантов.
Варианты для выбора можно показывать Списком. Если вариантов много, выберите отображение Выпадающим меню.
Если при заполнении формы нужно отметить несколько вариантов, установите Множественный в строке Выбор.
Чтобы сделать форму компактнее и удобнее, свяжите другие поля с вариантами Выбора. Например, при согласовании платежей можно показывать реквизиты для оплаты, только если выбран безналичный способ оплаты.
Для этого воспользуйтесь Добавить условие и укажите факторы, при которых определенные поля будут видны.
Если в зависимости от выбранного варианта нужно показывать ещё одно поле типа Выбор, максимальное количество уровней у такой вложенности — 15.
Галочка
Поле позволяет добавить в форму параметры, которые нужно выбирать, пометив галочкой.
Справочник
Позволяет заполняющему выбрать значение из списка вариантов.
Чтобы при заполнении заявки поле не было пустым, установите значение по умолчанию. Например, если вы чаще всего согласовываете траты на хозяйственные нужды, можно сразу добавить этот пункт из справочника в поле Тип расхода.
Справочники создаются и настраиваются за пределами редактора шаблона. Подробнее читайте в статье о справочниках. После того, как вы создали или добавили нужный справочник в Pyrus, выберите его в настройках поля.
Форма
Позволяет ссылаться в заявке на заполненные формы из связанного бизнес-процесса, чтобы удобно структурировать данные и автоматизировать их обмен. Например, в форму согласования платежа удобно добавить ссылку на форму договора, по которому оформляется платёж, чтобы быстро переключаться между ними. Или в форму Счёт на оплату включить форму Бюджет и с помощью бота проверять, укладывается ли сумма счёта в лимит. Чтобы настроить поле, добавьте его в шаблон и выберите из выпадающего списка форму, которую хотите привязать. Нажмите Сохранить.
В нашем примере мы ссылаемся на форму согласования договора. Если при заполнении вы нажмёте в это поле, то увидите все заявки по этому шаблону и сможете выбрать нужную.
Чтобы перейти из одной формы в другую, нажмите на значок рядом с названием формы.
Бывает, что информация, которую нужно добавить в заполняемую форму, уже есть в другой. В таком случае удобно настроить автоматическое заполнение полей основной формы данными из прикреплённой задачи. Например, если вы добавили в форму согласования договора карточку контрагента, соответствующие поля формы автоматически заполнятся информацией из выбранной заявки. В настройке поля вы можете выбрать, заполнять ли все поля информацией из формы, на которую ссылаетесь, или только пустые поля.
Число
При заполнении выглядит как обычное поле для ввода чисел.
Если ввести не число, Pyrus не даст сохранить форму и подсветит ошибку.
Для этого поля можно установить параметр Автонумерация, чтобы при каждой новой заявке поле автоматически получало порядковый номер.
Также доступна функция Округление — Pyrus автоматически округлит введённое в поле значение до заданного количества знаков после запятой.
Деньги
При заполнении выглядит как обычное поле для ввода чисел.
Если ввести не число, Pyrus не даст сохранить форму и подсветит ошибку.
Для сумм в поле Деньги можно настроить значок одной из 17 мировых валют.
К полям с типом Деньги можно привязывать условия при настройке маршрутизации. Подробнее смотрите в описании маршрутизации.
Используйте этот тип, чтобы добавить в форму выбор дат.
Время
Этот тип отвечает за выбор времени в форме.
Телефон
Поле для ввода номера телефона:
Подсказка: вы можете позвонить клиенту прямо из заявки в Пайрусе через приложение, связанное с активной ссылкой на телефонный номер. Для звонка кликните на значок трубки рядом с номером, указанным в поле типа Телефон.
Для ОС Windows подходят приложения-клиенты MicroSIP, Mangotalker, Bria, Softphone.Pro, Zoiper (только в платной версии). Те, кто работает в браузере Google Chrome, могут воспользоваться зарегистрированными в нем приложениями, которые предназначены для обработки ссылок для телефонных звонков. Браузер Firefox предложит вам выбрать приложение самостоятельно: По вопросам подключения телефонии обращайтесь к нашей команде поддержки по электронной почте: support@pyrus.com.
Эл. почта
Используйте для ввода электронной почты в формах. При заполнении Pyrus проверяет, чтобы значение соответствовало формату электронной почты и сообщает об ошибке, если формат не совпадает.
Контакт
Добавляет в форму выбор одного из участников. Если вам нужно указать себя, нажмите на иконку со своим изображением или инициалами справа от поля: это быстрее, чем искать своё имя в выпадающем списке.
Кроме того, этому полю можно задать значение по умолчанию. Это удобно для форм, где в качестве контакта чаще всего указывается один и тот же человек. Например, отпуск обычно запрашивает тот, кто собирается в него уйти. Поэтому в примере ниже мы указали для поля Отпускник значение по умолчанию Автор. Это значит, что в форме запроса отпуска будет автоматически появляться имя того, кто создал задачу.
Файлы
Позволяет прикреплять счета, договоры, скриншоты и другие файлы при заполнении формы.
Подпись
Удобный инструмент для быстрого безбумажного и внеофисного согласования и нотификации документов, например, заявлений на получение кредита, фиксации повреждений автомобиля или другой техники, взятой в аренду, для оформления страхового случая или подачи рекламации. Обычно применяется на планшетах и других мобильных цифровых устройствах. При заполнении заявки введите в выделенное поле свою подпись — пальцем, стилусом или курсором. Нажмите галочку Подтвердить. Если вы хотите удалить введенную подпись и ввести её заново, до подтверждения нажмите крестик рядом с галочкой.
Оформление
Поля из группы Оформление помогают структурировать форму, объединить поля в логичные блоки и сделать форму удобнее для чтения и заполнения.
Группа
Группа объединяют другие поля в один блок. Чтобы сформировать группу, добавьте такую категорию из левой области редактора и перетяните под нее нужные поля.
Теперь данные будут сгруппированы в форме под одним заголовком.
Таблица
Таблицы объединяют несколько полей для табличного ввода. Добавьте таблицу из левой области редактора и перетяните под нее нужные поля.
Примечание: таблица может содержать до 5000 строк и 500 столбцов.
Важная особенность: если в таблицу поместить денежные поля, они становятся вычисляемыми. В параметрах поля поставьте галочку Вычисляемое, а ниже укажите, что именно надо вычислить. В нашем примере мы умножаем количество позиций на стоимость:
Теперь, заполняя форму, сотрудник добавит нужное количество позиций и стоимость, а вычисляемые значения рассчитаются автоматически. Чтобы Pyrus рассчитал общую сумму заказа, поставьте галку Показывать итог.
Примечание: Обратите внимание, что вносить данные в таблицу в форме могут одновременно несколько пользователей, имеющих к ней доступ. Все внесённые данные будут сохранены.
Автоматическое предзаполнение таблицы
В некоторых процессах таблица в форме содержит постоянные данные. Например, в заказе обедов будет один и тот же список блюд и цен на них, а отличаться будет только количество. Чтобы не вносить в таблицу одинаковые данные вручную каждый раз при заполнении формы, воспользуйтесь автоматическим заполнением таблицы.
Выберите табличное поле и нажмите Автозаполнение из таблицы.
Заполните ячейки, одинаковые для всех заявок. В этом примере мы зафиксировали в шаблоне список блюд и цены.
Сохраните шаблон. Теперь при заполнении формы останется только указать количество. Остальная информация появится в таблице автоматически для каждой заявки.
Другой пример — в отчётах о продажах будет один и тот же набор показателей, отличаться будут только цифры за месяц, квартал или год.
Если в шаблоне формы появилась новая колонка таблицы, вы можете настроить её автоматическое заполнение в окне Автозаполнение из таблицы, нажав Добавить колонку.
Важно: 1. Настраивать автозаполнение таблиц может только пользователь с правами Управляющего. 2. Автозаполнение в таблице поддерживают поля типа Телефон, Текст, Число, Деньги и Эл. почта.
Примечание
Позволяет добавить в форму подсказки: дополнительное описание, инструкцию, картинку или видео. Это удобный способ помочь сотруднику или клиенту правильно заполнить форму или конкретное поле. Например, в форму обращения клиента можно вставить видеоинструкцию, как делать скриншоты, или изображение, показывающее, где у товара артикул. Добавить пояснительный текст и вставить ссылку на картинку или обучающее видео на YouTube или Vimeo можно в параметрах поля.
Текст примечания можно отформатировать, чтобы улучшить оформление и наглядность формы. Вы можете выделять текст примечания полужирным шрифтом, курсивом, перечеркивать, оформлять в формате кода или списком. Панель форматирования расположена над полем ввода текста.
Кроме того, облегчить работу с формой можно с помощью специальной кнопки. В параметрах поля нажмите Добавить кнопку и выберите один из вариантов:
Открыть веб-страницу. Создаёт кнопку-ссылку на заданную веб-страницу: статью в справке или, например, условия возврата товаров. Добавьте ссылку в поле Адрес страницы. Ссылку можно добавить и в текст примечания, но в виде кнопки она займёт меньше места.
Подстановка параметров в ссылку работает для полей Текст, Выбор, Число, Деньги. Также можно добавить в ссылку номер задачи — $
Не забудьте дать кнопке название, например Распечатать, Дополнительное соглашение или Условия возврата.
Системные поля
Системные поля расширяют возможности форм, а за их значения отвечает Pyrus. Например, вы можете добавить в шаблон формы этапы согласования, утвердившего участника, срок исполнения (согласования) и отслеживать эти параметры в реестре.
Как и другие виды полей, системные поля доступны слева в редакторе шаблона.
Открыта/Завершена
Используйте это поле, когда нужно анализировать состояние заявок в реестре: завершены они или нет.
Автор
Добавьте это поле в шаблон, чтобы видеть в реестре, кто создавал формы.
Дата создания
Если нужно оценивать ситуацию по дате создания формы, добавьте поле этого типа в шаблон. Дата заполнения формы будет отображаться в реестре форм.
Используйте это поле, когда в форму нужно добавить дедлайн: дата оплаты, согласования, ответа на заявку и т.д.
Сроки отличаются от пользовательского поля типа Дата тем, что они отображаются в реестре форм, и по срокам можно фильтровать записи реестра. Поэтому поле этого типа обычно используют для анализа.
Помимо этого, для поля Срок можно настроить не только дату, но и конкретное время.
Если в форме есть поле типа Срок, в реестре появятся две дополнительные колонки: Просрочено и Дата завершения. Даже если задача завершена, вы увидите, уложились ли ответственные сотрудники в срок.
Подсказка: Отфильтруйте реестр по всем просроченным задачам и укажите промежуток времени в колонке Дата завершения, чтобы оценить эффективность работы команды за период.
Еще одно отличие от типа Дата в том, что сроки видны в списке задач: число показывает количество дней до окончания срока или количество дней просрочки.
В поле Срок, как и в поле типа Дата, можно указывать значение по умолчанию и задавать его в относительных величинах. Например, указать, что срок оплаты истекает через 3 дня после заполнения заявки.
Используйте это поле, когда нужно отслеживать, на каком этапе согласования находится заявка.
По полям этого типа можно фильтровать данные в реестре. Это особенно актуально, когда записей в реестре много, и нужно быстро найти все заявки на конкретных этапах согласования.