Использование типов десятичных полей / полей денег в InfoPath 2010 - PullRequest
1 голос
/ 25 ноября 2010

Я создаю форму, которая содержит большое количество полей, в которых будут храниться денежные значения - по какой-то причудливой причине, которую я не могу понять, InfoPath 2010 не предоставляет тип поля «десятичный» или «денежный» для использовать, из коробки. (Указанный десятичный тип имеет (двойные) в скобках рядом с ним, что указывает на то, что он будет храниться с использованием арифметики с плавающей запятой).

Если я создаю xsd с нуля и использую его для создания формы в InfoPath, он без проблем принимает , но я больше не могу добавлять поля из infopath, что разочаровывает.

Итак, мой вопрос: есть ли способ использовать десятичные / денежные типы в InfoPath 2010, не прибегая к написанию своего собственного xsd -или- или есть какой-то способ позволить себе добавлять новые поля после создания формы InfoPath из xsd?

Некоторый способ «импортировать пользовательский тип поля» из xsd для повторного использования в форме инфопатии, вероятно, также решит проблему - тогда я мог бы просто импортировать «customType», имеющий базовый тип xsd: decimal и повторно использовать это во всех моих формах ...

Ответы [ 2 ]

0 голосов
/ 28 августа 2013

Создайте поле для денег в виде текстового поля. Выберите текстовое поле и в разделе «Свойства» выберите «Свойства поля». Измените тип данных на Десятичный (двойной). Затем измените Формат данных (вверху на ленте) на Число, Десятичные знаки 2. Работает, как талисман

0 голосов
/ 14 декабря 2010

К сожалению, это проблема (из-за отсутствия лучшего термина) в XPath (не относится к InfoPath / XML или MS). Поэтому, даже если вы нашли способ создать свой собственный тип, я думаю, что внутреннее ядро ​​обработки все равно преобразует его обратно в удвоенное значение каждый раз, когда вы пытаетесь получить доступ, и создает те же проблемы с плавающей запятой, которые у вас есть сейчас.

Ознакомьтесь с этой статьей, в которой для решения (вроде) проблемы используется округление. Не самое элегантное решение, но я думаю, что вы застряли в InfoPath. http://blogs.msdn.com/b/infopath/archive/2008/04/17/invalid-data-error-when-calculating-the-result-of-2-or-more-fields.aspx

...