В числовых полях, для которых назначено округление (и для которых оно не назначено тоже) в Creatio, и которые не заполнены (например, пользователь импортирует из excel свои данные заполняя карточку какую-нибудь, и там не все ячейки заполнены), отображается ЦИФРА, а не пустое поле. Сейчас обратила внимание на данную проблему, есть ли какое-либо решение?

 

Нравится

4 комментария
Лучший ответ

Это не проблема. Так работает система, так как для всех числовых полей системы на уровне ядра прямо в БД установлено значение по умолчанию - 0. Это происходит потому что в СУБД нет для числовых колонок такого понятия, как пустое значение. Если число, то обязательно 0. Так же если логическое, то FALSE.

Это не проблема. Так работает система, так как для всех числовых полей системы на уровне ядра прямо в БД установлено значение по умолчанию - 0. Это происходит потому что в СУБД нет для числовых колонок такого понятия, как пустое значение. Если число, то обязательно 0. Так же если логическое, то FALSE.

Владислав Литвинчук,

Спасибо! Для меня это стало проблемой, когда пользователь проводит расчеты, и видит 0 вместо пустой ячейки, как он вводил в excel. Сделать поля другого формата не получится, потому как позже это поле где-то используется как для математических операций

Добрый день!

Описанное Вами поведение не является ошибкой и соответствует базовой логике, которая присуща всем полям.

Если поле имеет тип - Число или Дробное число, то значение 0 или 0,00 - это пустое значение, то есть поле не заполнено.

Также, когда Вы пытаетесь сохранить карточку с 0,00 в числовом поле со свойством обязательности заполнения, система выдает сообщение, что в поле необходимо указать значение.

Значения 0 или 0,00 является пустым значением, они отображаются в пустых полях для того, чтобы визуально пользователи понимали формат поля.

 

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

Жмурко Сергей,

Спасибо за объяснения) к сожалению, да, заменить на текстовое поле не получится..

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

Коллеги, добрый день!

Подскажите, пожалуйста, каким образом можно изменить настройки числового поля, чтобы по умолчанию сохранялось значение не "0", а Null. Есть ли возможность такое изменение внести на уровне приложения, а не через субд?

С уважением,
Дмитрий

Нравится

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

Здравствуйте, Дмитрий!

Данные изменения не получится внести на уровне приложения, так как изменение дефолтного значения возможно исключительно на уровне БД, но такие действия могут негативно повлиять на работу приложения, так как логика приложения не рассчитана на дефолтное значение NULL для int'овой колонки.
В случае внесения таких изменений в БД это может привести к непредвиденным ошибкам, которые в свою очередь могут повлиять на работоспособность отдельных блоков приложения либо на всю систему в целом.

Здравствуйте!



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

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