Публикация

Проверка обязательности числовых полей с нулевыми значениями с помощью параметра allowZeroValue

Всем привет!

 

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

Если в вашем бизнесе значение 0 для полей с типом "Целое" (Integer) или Дробное (Float/Decimal) используется как не пустое значение, то можно включить поддержку в приложении для поля нулевого значения (0/ноль).

 

 

Вводная:

 

Изначально если у вас поле обязательное и у вас записано 0 (так и должно быть), то приложение не даст сохранить запись и выдаст соответствующие значение:

 

Изображение удалено.

 

Числовые поля в системе не поддерживают состояние «не заполнено», следовательно, ноль стандартное «пустое» значение. Следовательно, если вам нужно повесить атрибут «обязательно к заполнению», то он будет требовать любого отличного от нуля значения. В любом случае, даже если вы сотрете из поля 0, при сохранении карточки, в БД запишется 0.

 

Данный топик уже обсуждался более детально - https://community.terrasoft.ru/questions/chislovye-polya-vmesto-otobraz…

 

Решение:



Реализовать необходимую Вам обязательность числового поля можно только с помощью доработок в конфигурации.

Можно использовать параметр allowZerovalue в атрибуте (в секции attributes в схеме страницы, который должен решить этот вопрос.



Пример:



                middleTo: {

                    dataValueType: Terrasoft.DataValueType.INTEGER,

                    type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,

                    isRequired: true,

                    allowZeroValue: true

                },

 

Хорошего дня!

Нравится

Поделиться

2 комментария

Очень полезно! Можно вычищать текстовые поля, которые вместо integer были сделаны!

Убирая из учета значение, при котором система будет распознавать поле как не заполненное, вы делаете это поле тогда необязательным. 

Проще с помощью бизнес-правил на странице настроить обязательность заполнения поля при необходимом условии.

Показать все комментарии