12.11.2003, 08:33 | #1 |
Участник
|
как повлиять на число десятичных знаков в формах?
Добрый всем день!
Есть такая проблема: нужно чтобы числовые поля в форме отображались (и вводились) с точностью более чем 2 знака по умолчанию. Можно 1) поменять NoOfDecimals в соответствующем EDT (тогда придется менять этот параметр в "самом базовом" EDT и, в итоге, это будет вылезать в ненужных местах) 2) на Controlе формы поменять не дает (либо 0, либо Auto) Как будет умнее всего сделать? P.S. Зачем нужна таблица Unit? На что она влияет? Она по смыслу вроде относится к рассматриваемой проблеме, но по перекрестным ссылкам получается, что она используется только в InventTable и нескольких классах... P.P.S Где определяется то, что по умолчанию отображаются именно 2 знака после запятой (при установленном NoOfDecimals == Auto у EDT)? |
|
12.11.2003, 08:56 | #2 |
Участник
|
А не проще ли св-во noOfDecimals изменить только у конкретного EDT для конкретного
поля конкретной таблицы, то есть для этой цели создать свой EDT. а если не нужно вводить, а только отображать, то можно сделать просто display_метод возвращающий значение с EDT более чем 2 знака. |
|
12.11.2003, 09:04 | #3 |
NavAx
|
Цитата:
2) на Controlе формы поменять не дает (либо 0, либо Auto)
|
|
12.11.2003, 09:08 | #4 |
Участник
|
Цитата:
А заместо нуля не пробовали чего ввести?
Попытка подставить что-нибудь вместо Auto приводит к тому, что подставляется "пустое место" и, в итоге, 0 2andreynikolai: Цитата:
то есть для этой цели создать свой EDT
|
|
12.11.2003, 10:43 | #5 |
Участник
|
Да чего же пытлив русский ум. У меня все-таки получилось !
Экспериментировал я на пробной формочке на базе SalesLine. В качестве поля-кролика было взято поле LineAmount. Лично у нас оно с EDT, где NoOfDecimals 2 знака. Последовательность действий такая. Не переносите на грид поле с датасорса а просто создайте на гриде realEdit. 1) в поле extendedDataType выберите EDT у которого например 4 знака, если такого нет то сами создайте. 2) Затем выберите dataSource - salesLine, dataField - lineAmount. 3) В поле noOfDecimals кликните на квадратик справа и система подставит noOfDecimals по умолчанию - 2. 4) Внаглую поставьте 4. Запускайте - фурычит ! |
|
|
За это сообщение автора поблагодарили: NickMDAX (0). |
12.11.2003, 11:00 | #6 |
Участник
|
спасибо!!
попробовал. отлично. наверное руки кривые с утра были А теперь самое интересное: а каким боком сюда стоит таблица Unit? |
|
12.11.2003, 12:03 | #7 |
Участник
|
Re: как повлиять на число десятичных знаков в формах?
Цитата:
Изначально опубликовано puz
Зачем нужна таблица Unit? На что она влияет? Она по смыслу вроде относится к рассматриваемой проблеме, но по перекрестным ссылкам получается, что она используется только в InventTable и нескольких классах... Самое интересное, что у единиц измерения есть поле Десятичные знаки. Это поле указывает Аксапте как надо округлять количество для номенклатуры с разными единицами измерения. Например. Пусть Единица хранения - Кг. Десятичных знаков 3. Пусть Единица продажи - г. Десятичных знаков 0 Пусть есть правила пересчета 1 Кг = 1000 г. Тогда, если в заказе ввести 4 г. То в складскую проводку будет введено 0.004 Кг. Самое интересное, что в стандартной Аксапте этого не увидеть, поскольку при выводе на экран значения округляются до 2 знаков (повторяю, в стандартно настроенной) Что самое интересное, ввести без пересчета единиц 0.004 кг в стандартной Аксапте нельзя - надо изменять типы. Таким образом, может быть перед тем как лезть в АОТ стоит подумать о единицах измерения и о правилах пересчета? Цитата:
Изначально опубликовано puz
Где определяется то, что по умолчанию отображаются именно 2 знака после запятой (при установленном NoOfDecimals == Auto у EDT)? У Qty действительно установлено Auto. А почему в этом случае показывается 2? Не знаю. Видимо где то в ресурсах прописано. Региональные настройки на это не влияют. |
|
12.11.2003, 12:28 | #8 |
Участник
|
Спасибо большое всем за ответы.
|
|