Регистрация  |  Вход

Integer не Integer

Сегодня столкнулся с интересной фигней в SF.
Пишу очередную интеграцию и кое-что меня просто ввело в затуп.
Есть поле Number(18,0)
Я маплю его у себя в базе н Integer.
Запускаю выгрузку данных и у меня падает с ошибкой - не могу сохранить 0,5 как Integer.
WTF?
Иду в SF, по ID открываю запись в стандартной вьющке - в моем поле показывается значение 1 !!!!
WTF?
Иду в Developer Console, пишу SOQL для это записи и у меня показывает значение в поле 0,5
КАК ЭТО ПОНИМАТЬ?
Сегодня столкнулся с интересной фигней в  SF. 
Пишу очередную интеграцию и кое-что меня просто ввело в затуп.
Есть поле [b]Number(18,0)[/b]
Я маплю его у себя в базе н Integer.
Запускаю выгрузку данных и у меня падает с ошибкой - не могу сохранить [b]0,5[/b] как Integer.
WTF?
Иду в SF, по ID открываю запись в стандартной вьющке - в моем поле показывается значение [b]1[/b] !!!!
WTF?
Иду в Developer Console, пишу SOQL для это записи и у меня показывает значение в поле [b]0,5[/b]
КАК ЭТО ПОНИМАТЬ?


Number(18,0) - это целочисленное значение. а 0.5 - это уже Number(17,1). Разве не так?

засадить 0.5 в Number(18,0)поле как-то получилось, но при выводе стандартным UI все равно оно округлилось до целого числа
Number(18,0) - это целочисленное значение. а 0.5 - это уже Number(17,1). Разве не так?

засадить 0.5 в Number(18,0)поле как-то получилось, но при выводе стандартным UI все равно оно округлилось до целого числа
Den Brown
Number(18,0) - это целочисленное значение. а 0.5 - это уже Number(17,1) - Decimal, Float. Разве не так?

засадить 0.5 в Number(18,0)поле как-то получилось, но при выводе стандартным UI все равно оно округлилось до целого числа
[quote="Den Brown"]Number(18,0) - это целочисленное значение. а 0.5 - это уже Number(17,1) - Decimal, Float. Разве не так?

засадить 0.5 в Number(18,0)поле как-то получилось, но при выводе стандартным UI все равно оно округлилось до целого числа[/quote]
это скорей всего один из тех случаев когда это не bug а feature.

объяснение:
https://help.salesforce.com/s/articleVie ... 3&type=1
это скорей всего один из тех случаев когда это не bug а feature.

объяснение:
https://help.salesforce.com/s/articleView?id=000336833&type=1
Dmitry Shnyrev
Сегодня столкнулся с интересной фигней в SF.
Пишу очередную интеграцию и кое-что меня просто ввело в затуп.
Есть поле Number(18,0)
Я маплю его у себя в базе н Integer.
Запускаю выгрузку данных и у меня падает с ошибкой - не могу сохранить 0,5 как Integer.
WTF?
Иду в SF, по ID открываю запись в стандартной вьющке - в моем поле показывается значение 1 !!!!
WTF?
Иду в Developer Console, пишу SOQL для это записи и у меня показывает значение в поле 0,5
КАК ЭТО ПОНИМАТЬ?


У сф в бд никогда не хранится Integer, ровно как и никогда не хранится то количество цифер после запятой, которые указаны на филде
[quote="Dmitry Shnyrev"]Сегодня столкнулся с интересной фигней в  SF. 
Пишу очередную интеграцию и кое-что меня просто ввело в затуп.
Есть поле [b]Number(18,0)[/b]
Я маплю его у себя в базе н Integer.
Запускаю выгрузку данных и у меня падает с ошибкой - не могу сохранить [b]0,5[/b] как Integer.
WTF?
Иду в SF, по ID открываю запись в стандартной вьющке - в моем поле показывается значение [b]1[/b] !!!!
WTF?
Иду в Developer Console, пишу SOQL для это записи и у меня показывает значение в поле [b]0,5[/b]
КАК ЭТО ПОНИМАТЬ?

[/quote]

У сф в бд никогда не хранится Integer, ровно как и никогда не хранится то количество цифер после запятой, которые указаны на филде
Eric
это скорей всего один из тех случаев когда это не bug а feature.
Ну у меня тогда просто мозг сломался.
А как бизнес логика? Как в код будет чувствовать себя в этом случае?
Что там насчитается? Я просто давно не кодирую в Apex, и нет возможности быстро накидать тестовый стенд. Как это поле смапится на Integer? Будет эксепшен или оно просто округлится в 1 и будет считаться как Integer?
[quote="Eric"]это скорей всего один из тех случаев когда это не bug а feature.[/quote]
Ну у меня тогда просто мозг сломался. 
А как бизнес логика? Как в код будет чувствовать себя в этом случае?
Что там насчитается? Я просто давно не кодирую в Apex, и нет возможности быстро накидать тестовый стенд. Как это поле смапится на Integer? Будет эксепшен или оно просто округлится в 1 и будет считаться как Integer?
Просто ближе к примеру - это поле Quantity и есть куча локиги по Prices Calculation где оно используется.
По бизнес логике Quantity не может быть меньше 1. И что же блин у них там считается? Короче я в шоке. Мне то пофиг, я сейчас просто буду округлять после экспорта перед вставкой у себя в базу. НО БЛИН что это за бред!? В базе имеем одно, а по факту на UI видим другое. Хотя в SF это не единственный прикол. Можно не удивляться.
Просто ближе к примеру - это поле Quantity и есть куча локиги по Prices Calculation где оно используется. 
По бизнес логике Quantity не может быть меньше 1. И что же блин у них там считается? Короче я в шоке. Мне то пофиг, я сейчас просто буду округлять после экспорта перед вставкой у себя в базу. НО БЛИН что это за бред!? В базе имеем одно, а по факту на UI видим другое. Хотя в SF это не единственный прикол. Можно не удивляться. :smiley: