Страница 1 из 1
Вопрос по форматам числовых полей
Добавлено: 04 мар 2008, 12:20
Александр
не знаете в чем может быть дело, я в workflow в числовой массив пишу руками число допустим 1234,6789 и хочу его видеть именно так как написал - но при нажатии Enter число самопроизвольно округляется вверх 1235
как с этим бороться?
Добавлено: 06 мар 2008, 16:06
Юрий
Надо открыть свойство поля, открыть вкладку "Редактирование", выбрать редактировать по маске и выставить требуемую маску редактирования.
Добавлено: 06 мар 2008, 16:09
Александр
в том то и проблема, может я конечно перегрелся - но маска дает нам фиксированный ввод
типа напишу я
####,####
а число у меня например, кстати - оно кроме ручного ввода еще и автоматически подпихивается
так вот а число
123456789,987654321
и какую маску мне под это написать, яж размерности то не знаю?

заранее
Добавлено: 06 мар 2008, 16:28
Юрий
неправильно надо делать так ######.####### - точка, а не запятая в шаблоне. А разрядов ставишь макчимально возможное кол-во.
Добавлено: 06 мар 2008, 16:31
Александр
т.е. исходя из того что максимально возможное число в Лоции составляет 15 разрядов - нужно слева и справа прилепить по 15
#? - как страшно жить
а в формате что писать -
[general] ?
Добавлено: 06 мар 2008, 16:36
Александр
да и еще вопрос эмпирический а что делать если слева будет стоять 14 разрядов а мне еще нужно 4 знака после запятой - данные терять? или работать со строками? преобразовывая числа туда сюда....
ужас короче

Добавлено: 06 мар 2008, 16:41
Юрий
Числовые значения хранятся в базе в формате float соответственно туда может поместиться максимально возможное значение этого формата.
Если у вас значения превышают данный формат - советую числовые значения хранить в текстовом виде.
Добавлено: 07 мар 2008, 09:47
Александр
поставил маску ###############.###############
поставил формат ###############.###############
но при вводе значения в массив - числа, после запятой(точки), отбрасываются??
в чем может быть проблема?
Добавлено: 07 мар 2008, 13:07
Anderyt
Александр, у меня такое ощущение, что пришло-таки время спросить об этом у Лоции

Добавлено: 07 мар 2008, 13:11
Александр
ну не хочу я у Лоции спрашивать, хочется поговорить с 'простыми'

людьми
Добавлено: 12 мар 2008, 10:23
Александр
хочу поделиться своим горем
знаете в чем было дело
для начала вступление
действие разворачивается в массиве формы работы
в строке массива висит список
Доллар Евро Рубль
внедренный запрос возвращает в эту колонку значение по умолчанию
Рубль и если в массиве в процессе работы выбрать из списка
Евро или обратно
Рубль то все Ок - а если
Доллар то все - ошибка
Сначала было неясно почему Лоции не нравятся
Доллары - разгадка оказалась в том что если последующие значения выбираемые в списке длиннее тех что указаны по умолчанию то все - конец
т.е. Рубль
5 букв а Доллар -
6 букв - в результате поставив по умолчанию самое длинное значение (
Доллар) мы решили (с помощью тех поддержки) эту проблему
так вот
и здесь с числами оказалась такая же фигня
т.е. в запросе по умолчанию мы ставили
0 (т.е. целое число) - и соответственно все последующие значения вводимые в массив были целыми (все что после запятой/точки - терялось)
стоило же нам поставить по умолчанию для колонки (во внедренном запросе)
0.0000 как сразу стало все нормально - число обрубается после 4-го знака после запятой
я бы никогда в жизни не додумался до этого - наверно предчувствуя такие сюрпризы мы и не брались за WorkFlow целых 1.5 года
Добавлено: 12 мар 2008, 10:31
Anderyt
смею надеяться, что это горе - временное.
вряд ли разработчики специально закладывали такое поведение и такое внимание к длинам значений по умолчанию. по крайней мере, про это ведь не сказано в инструкциях? или сказано?

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

Добавлено: 12 мар 2008, 10:37
Александр
кстати для Юрия - все числа в Лоции имеют разрядность 15 знаков - точка и знак минус (при отрицательных значениях) не учитываются = так что всетаки наверно не float а скорее duble -15 десятичных разрядов
Добавлено: 14 мар 2008, 10:22
Александр
да и еще
по умолчанию нужно ставить не
0.0000 а
cast(0 as double precision) (техподдержка) так правильней, и форматы и маски уже не нужны
но вот в чем проблема
функция f_GetNFormItem не читает числа с плавающей точкой а просто берет и выкидывает запятую сдвигая все число налево до целого
ps
надеюсь данную ситуацию можно будет обойти правда не знаю как

Добавлено: 14 мар 2008, 11:54
Александр
свершилось чудо - в региональных настройках разделителем должна быть точка - а у нас была запятая