Почему в поле ввода 1С нельзя ввести число больше 24 и как найти это ограничение?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

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

Где в конфигураторе задается ограничение значения

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

  1. Откроем нужную форму документа в конфигураторе 1С.
  2. Выделим элемент формы (поле ввода), в котором блокируется ввод значения (например, поле ОплачиватьЧасов).
  3. Откроем палитру свойств выбранного элемента (клавиша F4 или пункт контекстного меню Свойства).
  4. Обратим внимание на командную панель окна свойств. Если там включен фильтр "Показывать только важные", часть расширенных параметров будет скрыта. Переключим режим отображения на "Показывать все" или снимем выделение с кнопки фильтрации.
  5. Найдем категорию свойств Использование или параметры проверки диапазона: свойство МаксимальноеЗначение. Именно там жестко задано число 24.

Когда у числового поля задано свойство МаксимальноеЗначение, встроенная проверка платформы на этапе завершения редактирования текста блокирует числа, выходящие за указанную границу, и выдает стандартное предупреждение без вызова прикладного кода модуля формы.

Методологические причины ограничения в 24 часа

Выясним причину, почему разработчики типовых решений устанавливают предел в 24 часа. В кадровых и расчетных подсистемах 1С учет простоев концептуально разделен на два различных вида:

  1. Целодневный простой: регистрируется на период от одного дня и более. В таком документе указывается диапазон дат («с... по...»), а расчет начислений и учет неотработанного времени выполняется в днях по графику сотрудника.
  2. Внутрисменный простой: фиксируется строго на определенную дату и измеряется в часах. Так как этот простой привязан к одной конкретной рабочей смене (календарным суткам), продолжительность события физически не может превышать 24 часа.

Последствия принудительного снятия ограничения

Рассмотрим, к чему приведет простое изменение или удаление свойства МаксимальноеЗначение у элемента формы. Снятие контроля может повлечь серьезные ошибки учета:

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

Корректные сценарии отражения времени в программе

Разберем правильный порядок действий пользователя без вмешательства в типовую логику конфигурации:

  1. Если простой длится несколько полных дней: необходимо использовать документ или режим регистрации целодневного простоя, указав начальную и конечную дату периода.
  2. Если простой длится несколько дней, но по часам (неполные смены): следует вводить отдельные строки или отдельные документы на каждую календарную дату с указанием фактического количества часов простоя за конкретный рабочий день.
← На главную