Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.
Формулите ви позволява да получите повече от правилата, които създавате от използването на основни, предварително зададени правила. Например формули се използват за неща като изчисляването на текущата или бъдеща дата или дори съединява текст.
В тази статия
Общ преглед
Формулата е XPath (език) израз, който се състои от стойности, полета или групи, функции и оператори, които се използват за изчисляване и показване на други стойности. Можете да използвате формула, за да създадете нова стойност за поле и покажете тази стойност в контрола, която е обвързана с това поле. Формулите могат да се използват по следния начин:
Изчисляване на математически стойност въз основа на стойностите, които определили при проектирането на шаблона на или въз основа на стойности, които потребителят въведе при попълване на шаблон за формуляр.
Изпълнение на правило, базирано на стойност, която се изчислява с помощта на формула.
Показване само за четене текст, който се изчислява от други контроли или показване на стойността на друга контрола.
Функция е израз, който връща стойност въз основа на резултатите от изчислението. Стойностите, използвани във функциите се наричат аргументи. Можете да използвате стандартните XPath 1.0 функции, които са включени в InfoPath, освен някои функции, специфични за InfoPath. Функции се състои от следните три части:
-
Име Името на функцията обикновено предоставя предположения относно действието, което функцията ще извърши.
-
Върната стойност Резултатът от функцията.
-
Аргументи Стойности, използван от функцията за извършване на изчислението.
Функция може да изисква аргументи, за да върне стойност. Ако функцията изисква аргументи, трябва да разберете колко аргументи са необходими и типа на данните на всеки аргумент. Функцията няма да работи, Ако предоставите грешен брой или тип на задължителни аргументи.
Следващата илюстрация показва връзката между функции, изрази и формули.
Добавяне на контрола за изчислена стойност
Можете да използвате контрола за изчислена стойност за показване на текст само за четене, показва стойността на друга контрола във формуляра и да създадете формули, които се базират на XPath изрази. Например ако разработвате разходи за проследяване на шаблон за формуляр, можете да добавите контрола на изчислената стойност за показване на общата сума на разходите, които са били въведени.
Забележка: Контрола на изчислената стойност само показва данни и не се съхранява, така че трябва да използвате контрола на изчислената стойност само ако не искате да записвате неговата стойност или препратка към него в друга формула.
-
В шаблона за формуляр поставете курсора там, където искате да вмъкнете контролата.
-
В раздела Начало , в групата контроли щракнете върху контролата на изчислената стойност .
-
В диалоговия прозорец Вмъкване на изчислена стойност направете едно от следните неща:
-
За да въведете текст или израз на XPath директно в контролата на изчислената стойност, въведете в полето на XPath .
-
За да вмъкнете формула, щракнете върху Редактиране на формула и след това въведете желания от вас формулата в текстовото поле формула , като се използват следните, както е необходимо:
-
За да вмъкнете поле или група във формулата, щракнете върху Вмъкване на поле или група, щракнете върху полето или групата в диалоговия прозорец избор на поле или група и след това щракнете върху OK.
-
За да вмъкнете функция във формулата, щракнете върху Вмъкване на функция, изберете функцията в диалоговия прозорец Вмъкване на функция и след това щракнете върху OK.
Ако функцията изисква параметри, изберете функцията в диалоговия прозорец Вмъкване на функция , щракнете върху OKи след това в текста на формула , щракнете двукратно върху където е посочено и изберете желания от вас параметър, преди да щракнете върху OK.
-
За да вмъкнете стойност или математически оператор във формулата, въведете стойността или символа за математическата операция в полето формула .
Математически оператори включват добави (+), изваждане (-), умножение (*) и деление (/).
Математически формули обикновено зависят от цели или десетични стойности като аргументи. За да избегнете празни стойности във вашата формула, в раздела файл щракнете върху Опции за формуляр и след това изберете Разширени и се уверете, счита празните стойности като нула е избрано.
-
-
Добавяне на формула в контрола
Докато можете да използвате контрола на изчислената стойност за показване на резултатите от формула, която не са ограничени до използване на контрола за изчислена стойност. Можете също да използвате формула, за да зададете стойността по подразбиране на други контроли, например текстови полета. Има два начина, които можете да зададете стойността по подразбиране на контрола. Вие може или да използва статично по подразбиране стойност, като просто въведете желаната стойност в полето " стойност " на диалоговия прозорец поле или свойствата на групата , или можете да използвате формула за задаване на стойността по подразбиране на поле въз основа на други стойности във формуляра. Направете следното, за да зададете стойността по подразбиране на поле въз основа на формула:
-
Изберете контролата, която искате да добавите формула към, под Инструменти за контрола, в раздела " свойства ", в групата свойства щракнете върху Стойност по подразбиране.
-
Щракнете върху Вмъкване на формула, до полето за стойност .
-
Въведете желаната формула в полето формула текст, като се използват следните, както е необходимо:
-
За да вмъкнете поле или група във формулата, щракнете върху Вмъкване на поле или група, щракнете върху полето или групата в диалоговия прозорец избор на поле или група и след това щракнете върху OK.
-
За да вмъкнете функция във формулата, щракнете върху Вмъкване на функция, изберете функцията в диалоговия прозорец Вмъкване на функция и след това щракнете върху OK.
Ако функцията изисква параметри, изберете функцията в диалоговия прозорец Вмъкване на функция , щракнете върху OKи след това в текста на формула , щракнете двукратно върху където е посочено и изберете желания от вас параметър, преди да щракнете върху OK.
-
За да вмъкнете стойност или математически оператор във формулата, въведете стойността или символа за математическата операция в полето Формула.
Математически оператори включват добави (+), изваждане (-), умножение (*) и деление (/).
Съвет: Математически формули обикновено зависят от цели или десетични стойности като аргументи. За да избегнете празни стойности във вашата формула, в раздела файл щракнете върху Опции за формулярии след това изберете Разширени. Уверете се, че счита празните стойности като нула .
-
-
За да редактирате формулата като XPath формула, отметнете квадратчето Редактиране на XPath (разширени) , което ще промени формулата на XPath израз версия на формулата.
-
За да проверите формулата за правилен синтаксис, щракнете върху бутона Проверка на формула . Ако вашата формула съдържа грешки:
Щракнете върху Покажи по-подробно в диалоговия прозорец Microsoft InfoPath , за да видите грешките във формулата. Ето някои предложения за отстраняване на тези грешки:
-
Ако използвате функция във вашата формула, проверете дали използвате правилните аргументи за функцията. Някои функции изискват полета или групи, докато други изискват указани стойности като аргументи.
-
Ако е необходимо, изтрийте и въведете повторно формулата, за да сте сигурни, че е правилно въведена.
-
Щракнете върху OK.
-
Ако искате да актуализирате стойността по подразбиране на полето, когато стойностите, че тя се основава на промяна, поставете отметка в квадратчето обновяване стойността, когато формулата се преизчислява . Ако направите това, след което щракнете върху OKи под Инструменти за контрола, в раздела " свойства ", в групата свойства щракнете върху Свойства на контрола. Щракнете върху раздела Показване и след това изберете само за четене, отметнете квадратчето.
Използване на формула в правило
Е възможно, когато задавате условия правилата за проверка, форматиранеили действие , да използвате формула, за да управлявате условието. Можете да направите това, като изберете Използвайте формула от третия падащ списък в диалоговия прозорец условие при присвояване на правило към контрола или шаблона за формуляр.
Функции за дата и час
addDays
Добавя дни към дата или дата и час.
Синтаксис
addDays (дата, дни)
Аргумент |
Описание |
date |
Брой на дните в Вторият аргумент се добавя към днешна дата в този аргумент. Този аргумент може да бъде дата (дата) или дата и час (dateTime) тип данни. |
дни |
Брой на дните, които искате да добавите към днешна дата в първия аргумент. Този параметър трябва да бъде тип цяло число (integer) данни. Ако използвате отрицателно число в този аргумент, върнатата стойност е по-ранна дата. |
Пример
Искате поле във вашия шаблон на формуляр да съдържа 60 дни след днешната дата. Вашият шаблон на формуляр съдържа поле, наречено fldToday, с текущата дата като стойността по подразбиране. За да изчислите новата дата с помощта на тази функция, използвайте следната формула в полето нова дата:
addDays (fldToday, 60)
addSeconds
Добавя секунди към час или дата и час.
Синтаксис
addSeconds (време, секунди)
Аргумент |
Описание |
time |
Стойност на дата и час или една стойност, тоест или препратка към друго поле в шаблона за формуляр или в резултат на функция за дата или час, например now() или today(). Броят на секундите във втория аргумент се добавя към времето в този аргумент. Този аргумент може да бъде дата (дата) или дата и час (dateTime) тип данни. Ако е данни от тип час след това време данни ще бъде върнат тип. Ако това е тип дата данни, ще бъде върнат тип данни за дата и час. |
секунди |
Броят на секундите, които искате да добавите към стойност за дата и час или време стойност в първия аргумент. В този параметър трябва да е цяло число (integer) тип данни. Ако използвате отрицателно число в този аргумент, върнатата стойност е по-ранна дата и час или по-ранен час. |
Пример
Вашият шаблон на формуляр съдържа поле, наречено fldCurrentTime, което се използва стойността по подразбиране на текущия час и второто поле, която използва addSeconds функция във формула за показване на времето 120 секунди от текущия час. За да изчислите нова стойност за час с помощта на тази функция, въведете следната формула във второто поле:
addSeconds (fldCurrentTime, 120)
Сега
Връща текущите системни дата и час.
Ако искате просто връща текущата дата, използвайте функцията today.
Синтаксис
Now()
Тази функция не използва аргументи.
Пример
Дата и час на създаване на формуляр, който се базира на вашия шаблон на формуляр, използвайте следната формула в поле:
Now()
днес
Връща текущата системна дата. За SharePoint списък с полета за дата използвайте функцията now().
Ако искате на дата и час върнати, използвайте функцията now.
Синтаксис
Today()
Тази функция не използва аргументи.
Пример
Датата на създаване на формуляр, който се базира на вашия шаблон на формуляр, използвайте следната формула в поле:
Today()
Функции за полета
count
Преброява броя на екземпляри на поле или група.
Синтаксис
count(field)
Аргумент |
Описание |
поле |
Името на повтарящо се поле или повтаряща се група, за да преброите във формуляра. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва доставчиците да докладвате за своите продукти и склада. Шаблонът за формуляр съдържа повтаряща се група, наречена grpProduct за продукти, които са предоставени от доставчика. Всяка група съдържа информация за продукта и нейното ниво на наличностите. Когато доставчик добавя продукт във формуляр, който се базира на този шаблон на формуляр, InfoPath създава нов екземпляр на повтаряща се група.
Вашият шаблон на формуляр има поле в източника на данни, съдържаща броя на продукти, които са предоставени от доставчика. За да автоматично пресмятане на броя на продукти, представени от доставчик, който е броят на екземпляри на повтаряща се група grpProduct, използвайте следната формула в полето Брой продукти поле:
count(grpProduct)
Последната
Връща Последната поява на повтарящо се поле или група.
Забележка: Ако проектирате шаблон на формуляр, съвместим с браузър, тази функция не се показва в списъка с функции в диалоговия прозорец Вмъкване на функция.
Синтаксис
field_name[Last()]
Въпреки че функцията няма никакви задължителни параметри, можете да я използвате като предикат за указано име на поле.
Пример
Проектирате шаблон на формуляр, доставчици, които ще попълват да съобщите наличности им продукт. Шаблон за формуляр има връзка с данни към уеб услуга, която има метод, който проверява дали информацията за продукта за всички продукти от доставчик са завършени. Методът се нуждае от последния продукт в списъка с продукти, която е представено от доставчика.
Информацията за продукта се съхранява в различни полета на повтаряща се група, която се нарича grpProduct. Когато доставчик добавя продукт към формуляра, InfoPath добавя нова повтаряща се група, наречена grpProduct. Ако доставчикът на отчети в няколко продукта, източника на данни на формуляра ще съдържа множество екземпляри на grpProduct повтаряща се група.
За да гарантирате, че подадете правилната информация към уеб услуга, можете да добавите поле, което ще съдържа информация за последния продукт в групата на продукти от доставчика. За да конфигурирате това поле за автоматично извличане на последния продукт, използвайте следната формула стойност по подразбиране за последното поле на продукта:
grpProduct[last()]
local-name
Връща локалното име на поле или група.
Забележки:
-
Ако аргументът е повтарящо се поле или повтаряща се група, функцията връща стойността на първия повтарящо се поле или повтаряща се група.
-
Когато потребителят попълва формуляр за уеб браузър, формула, която използва тази функция изпраща данни на формуляр на сървъра, за да получите върнатата стойност за тази функция.
Синтаксис
Local-Name(field)
Аргумент |
Описание |
поле |
Името на полето, чиито местно име атрибут, който искате да се върнете. |
Пример
Проектирате шаблон на формуляр, който се използва за заявления за разрешителни. Шаблон за формуляр има връзка с данни към метод в уеб услуга. Този метод изисква стойността на атрибута местно име на полето за номер на лиценза на изпълнителя. Името на полето за номер на лиценз е fldLicenseNumber.
Имате поле, което ще съдържа стойността на атрибута местно име. За да извлече автоматично стойността на атрибута местно име на полето за номер на лиценз, използвайте следната формула стойност по подразбиране за полето, което ще съдържа стойността на атрибута местно име:
Local-Name(fldLicenseNumber)
name
Връща името и пространство от имена префикс на поле или група.
Забележки:
-
Ако аргументът е повтарящо се поле или повтаряща се група, функцията връща името и префикса на първия повтарящо се поле или повтаряща се група във формуляра.
-
Когато потребителят попълва формуляр, базиран на шаблон на формуляр, разрешен за браузър, формула, която използва тази функция изпраща данни на формуляр на сървъра, за да получите върнатата стойност за тази функция.
Синтаксис
name(field)
Аргумент |
Описание |
поле |
Името на полето, чиито префикс на пространство на имената и името, който искате да се върнете. |
Пример
Проектирате шаблон на формуляр, който се използва за заявления за разрешителни. Шаблон за формуляр има връзка с данни към метод в уеб услуга. Този метод изисква атрибутът име на полето за номер на доставчика лиценз. Името на полето за номер на лиценз е fldLicenseNumber.
Имате поле, което ще съдържа стойността на атрибута име. За да извлече автоматично стойността на атрибута име, използвайте следната формула стойност по подразбиране за полето:
name(fldLicenseNumber)
namespace-uri
Връща пълното пространството на имената на поле или група.
Забележки:
-
Ако аргументът е набор от полета или групи, функцията връща пространство на имената на първото поле или група във формуляра.
-
Когато потребителят попълва формуляр за уеб браузър, формула, която използва тази функция изпраща данни на формуляр на сървъра, за да получите върнатата стойност за тази функция.
Синтаксис
namespace-URI(field)
Аргумент |
Описание |
поле |
Името на полето, чиито пространство на имената URI които искате да извлечете. |
Пример
Проектирате шаблон на формуляр, който се използва за заявления за разрешителни. Шаблон за формуляр подава данни към уеб услуга. Обработката на данните от формуляр, базиран на вашия шаблон на формуляр, уеб услугата изисква пространство на имената URI от конкретен елемент поле в източника на данни. Поле във вашия шаблон на формуляр, който съдържа пространство на имената URI данни е с име fldComplete.
Имате поле, което ще съдържа пространство на имената URI на полето елемент. За да извлече автоматично пространство на имената URI, използвайте следната формула стойност по подразбиране за полето, което ще съдържа пространство на имената URI:
namespace-URI(fldComplete)
position
Връща индекса (или позицията) на поле или група спрямо другите полета или групи в същата родителска група.
Забележка: Тази функция не е налична в уеб браузъра шаблони за формуляри.
Синтаксис
position()
Пример
Проектирате шаблон на формуляр, доставчици, които ще попълват да съобщите наличности им продукт. Информацията за продукта се съхранява в полета в повтаряща се група. Повтаряща се група е обвързана с повтаряща се таблица, която позволява на доставчика, за да добавите нови или промяна на съществуващи информация за продукта.
В първата колона на повтаряща се таблица който искате да покажете номера на реда в текстово поле. За да показва номера на реда автоматично, когато доставчикът добави нов продукт към повтаряща се таблица, използвайте следната формула стойност по подразбиране за текстовото поле:
position()
Математически функции
Формули, които съдържат математически функции обикновено изискват аргументи, които са цели числа или десетични стойности. За да се гарантира, че аргументи са цяло число или десетични стойности вместо стойности null, щракнете върху файл > Опции за формуляри > Разширении се уверете, че е поставена отметка в квадратчето счита празните стойности като нула .
AVG
Изчислява средната стойност на числови стойности в поле, което е в повтаряща се група.
Забележка: Повтарящо се поле трябва да бъде тип числови данни и да бъдат включени в група.
Синтаксис
AVG(field)
Аргумент |
Описание |
поле |
Имената на повтарящо се поле в групата, за която искате да изчислите средната стойност. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва доставчиците да докладвате за своите продукти и наличности. Шаблонът за формуляр съдържа повтарящо се поле с име fldPrice, който е в повтаряща се група, която съдържа данни за всеки продукт, който се продава от доставчика. Групата е обвързана с контрола на повтаряща се таблица.
Имате поле в шаблона за формуляр, който ще съдържа средната цена на всички продукти, които са продадени от този доставчик. За да изчислите средната цена, използвайте следната формула в полето за средната цена:
AVG(fldPrice)
булев
Връща true, ако дадено поле или група съществува. В противен случай връща false.
Това ще върне true, дори ако контрола, която е свързана с полето е изтрито, но все още съществува поле.
Синтаксис
boolean(field)
Аргумент |
Описание |
поле |
Повтарящо се поле или повтаряща се група, за да се провери чрез тази функция. |
Пример
Проектирате шаблон на формуляр, доставчици ще използвате, за да отчетете наличности им продукт. Информацията за продукта се съхранява в различни полета в повтаряща се група, която се нарича grpProduct. Всяка повтаряща се група съдържа полетата, които имат информация за всеки продукт. Ако доставчикът предоставя информация около седем продукти, формуляра ще съдържа седем повтарящи се групи.
Повтаряща се група е обвързана с контрола на повтаряща се таблица, който позволява на доставчика, за да добавите нови или промяна на съществуващи информация за продукта. Доставчикът може да добавяте или изтривате редове от повтаряща се таблица.
Искате да се покаже диалогов прозорец, ако потребителят премахва всички редове в повтаряща се таблица. Добавяне на поле в източника на данни, която съдържа думата "true", ако контрола за повтаряща се таблица има поне един ред и думата "false", ако повтаряща се таблица не е всички редове.
Можете да конфигурирате правило в контрола на повтаряща се таблица, за да покаже диалогов прозорец, ако стойността в полето е невярно. За автоматично определи дали повтаряща се таблица съдържа поне един ред, използвайте следната формула стойност по подразбиране за полето съдържа думата "true" или "false":
boolean(grpProduct)
Горна граница
Закръглява число до най-близкото цяло число.
Синтаксис
CEILING(number)
Аргумент |
Описание |
число |
Името на полето, което има числова стойност. |
Пример
Проектирате шаблон на формуляр за отчет на разходите за вашата фирма. Разходи се подават към уеб услуга, която има параметър, който приема само цели числа. Разходите сума, която е изпратена този параметър трябва да се закръглява до по-висока стойност на цяло число. Сума на разходите се съхранява в поле, което се нарича fldExpenseAmount и целочислена стойност се съхранява в друго поле. За да изчислите по-висока стойност на цяло число, използвайте следната формула стойност по подразбиране за други поле:
CEILING(fldExpenseAmount)
Ако потребителят създава формуляр, базиран на вашия шаблон на формуляр и 145.87 се въвежда в полето fldExpenseAmount, стойността в полето, съдържащо формулата ще бъде 146.
eval
Връща стойностите на поле или група. Вторият аргумент определя израза, за да изчислите за поле или група. Обикновено функцията eval е вложено в функция, която се основава на поле или група, например sum или средна
Синтаксис
eval (поле, израз)
Аргумент |
Описание |
поле |
Името на полето или групата, чиито стойности се оценява от израза във втория аргумент. |
израз |
Израз, който ще се приложи към първия аргумент. Изразът може да бъде или XPath функция или израз, който е заграден в двойни кавички (""). |
Пример
Проектирате шаблон на формуляр за отчет на разходите за вашата фирма. Шаблонът за формуляр съдържа поле, наречено fldTotal, която съдържа сума на разходите. Полето "fldTotal" е част от повтаряща се група, наречена grpExpenses. Друго поле е обвързана с текстово поле, което съдържа сумата от всички разходи. За да покажете сумата на всички разходи, като потребителят въвежда разходи сумата, използвайте следната формула в полето "Общо разходи":
eval(grpExpenses,SUM(fldTotal))
false
Връща false.
Синтаксис
FALSE()
Тази функция не използва аргументи.
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва от изпълнители да приложите за строителни разрешения. Шаблон за формуляр има два раздела: един раздел за информация за контакт и друг раздел за информация, свързана с building позволяват. Когато попълват този формуляр, предприемачите ще трябва да напълно попълнете контакта секция "информация", преди те да могат да попълват building позволяват секция.
За да постигнете това, можете да създадете правило за задаване на стойността на булеви поле на false, ако едно от полетата в секцията информация за контакт е празно. Булева стойност поле може да има или булеви стойност true или булеви стойност false. Можете също да конфигурирате условното форматиране на секцията контрола, съдържаща building позволяват информация, ако стойността на булеви полето е false.
За да скриете секция контрола, която съдържа полетата за building позволяват информация, конфигурирате правило за изпълнение на тази функция в полето булеви, ако едно от полетата в секцията информация за връзка са празни.
Floor
Закръглява число надолу до най-близкото цяло число.
Синтаксис
Floor(number)
Аргумент |
Описание |
число |
Името на полето, което има числова стойност. |
Пример
Проектирате шаблон на формуляр за отчет на разходите за вашата фирма. Разходи се подават към уеб услуга, която използва параметър, който приема само цели числа. Разходите сума, която е изпратена този параметър трябва да се закръглява до по-ниска стойност на цяло число. Сума на разходите се съхранява в поле, което се нарича fldExpenseAmount и целочислена стойност се съхранява в друго поле. За да изчислите по-ниска стойност на цяло число, използвайте следната формула стойност по подразбиране за други поле:
Floor(fldExpenseAmount)
Max
Връща най-голямото число в поле или група.
Синтаксис
Max(field)
Аргумент |
Описание |
поле |
Повтарящо се поле в група или поле в повтаряща се група, за която искате да намерите най-високата стойност. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва доставчиците да съобщите наличности им продукт. Шаблонът за формуляр съдържа повтаряща се група, която включва няколко полета, които съдържат данни за продукти, доставчици. Поле с име fldPrice в повтаряща се група съдържа цената на продукт.
Друго поле в източника на данни на шаблона за формуляр ще съдържа най-високата цена на всички продукти, продадени от този доставчик. За да върнете най-високата цена, използвайте следната формула в полето за най-висока цена:
Max(fldPrice)
min
Връща най-малкото число в поле или група.
Синтаксис
min(field)
Аргумент |
Описание |
поле |
Повтарящо се поле в група или поле в повтаряща се група, за която искате да намерите най-високата стойност. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва доставчиците да съобщите наличности им продукт. Шаблонът за формуляр съдържа повтаряща се група, която включва няколко полета, които съдържат данни за продукти, доставчици. Поле с име fldPrice в повтаряща се група съдържа цената на продукт.
Друго поле в източника на данни на шаблона за формуляр ще съдържа най-ниската цена на всички продукти, продадени от този доставчик. За да върнете най-ниската цена, използвайте следната формула в полето за най-ниска цена:
min(fldPrice)
не
Връща true, ако булева стойност е неистина или null. Връща false, ако булева стойност е true или не е null.
Синтаксис
Not(boolean_value)
Аргумент |
Описание |
boolean_value |
Поле с тип булеви данни. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва от изпълнители да приложите за строителни разрешения. Шаблон за формуляр има един раздел за информация за контакт и друг раздел за информация, свързана с building разрешение. Когато попълват този формуляр, предприемачите ще трябва да напълно попълнете контакта секция "информация", преди те да могат да попълват building позволяват секция.
За да постигнете това, можете да създадете правило, което задава стойността на булеви поле на false, ако едно от полетата в секцията информация за връзка е оставен празен. Булева стойност поле може да има булева стойност true или false булева стойност. След това използвате същата формула, за да скриете раздела контрола, която съдържа building позволяват информация, ако стойността на булеви поле е невярно. За да зададете това правило, можете да използвате следната формула да зададете полето Булева false:
Not(TRUE())
число
Преобразува стойност в число.
Функцията връща NaN, ако стойността в аргумента не може да бъде преобразувана в число.
Синтаксис
Number(Value)
ArgumentDescription
valueThe поле със стойности, за да конвертирате в число.
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва от изпълнители да приложите за строителни разрешения. Шаблонът за формуляр съдържа раздел, където изпълнителят да въведете своя служебен адрес. За да проверите дали изпълнителят навлиза валиден адрес, можете да използвате връзка към данни към уеб услуга, която да проверите адреса. Ако адресът е проверен, изпълнителят да подадете формуляра към база данни на SQL. SQL база данни използва текстово поле за номера на адреса и името на улицата. Уеб услугата изисква номера на адреса да бъде тип числови данни и името на улицата да бъде текстов тип данни.
За да подаване на данни към уеб услуга и SQL база данни, адреса трябва да бъдат записани като две различни типове данни:
-
За да изпратите адреса на уеб услуга, номера на адреса трябва да е тип числови данни и името на улицата трябва да бъде текстов тип данни.
-
За да изпратите адреса към SQL база данни, номера на адреса и името на улицата трябва да бъде текстов тип данни.
Можете също да поискате изпълнителят да въведете адреса си само веднъж. За да преобразувате адреса към правилните данни от тип и сте сигурни, че изпълнителят се въвежда адреса си само веднъж, шаблона за формуляр съдържа поле с име fldAddressNumber за въвеждане на номера на адреса и друго поле за въвеждане на името на улицата. И двете полета са конфигурирани като текст типове данни.
За да изпратите номера на адреса на уеб услуга, трябва да конвертирате данните в полето "fldAddressNumber" (записани като текстов тип данни) към тип на числови данни. Стойността на номера на адреса, конвертирани в типа на числови данни се съхранява в друго поле, който е конфигуриран да съхранявате цифровите типове данни.
За да конвертирате номера на адреса от текстов тип данни тип числови данни, използвайте следната формула стойност по подразбиране за полето за fldAddressNumber:
Number(fldAddressNumber)
NZ
Връща поле или група с всички празни полета са заместени с нула (0).
Синтаксис
NZ(field)
Аргумент |
Описание |
поле |
Полето, което искате да проверите за стойност. |
Пример
Проектирате шаблон на формуляр, доставчици, които ще попълват да съобщите наличности им продукт. Доставчикът представя своите продукти наличности към уеб услуга чрез формуляр, базиран на вашия шаблон на формуляр. Метод на уеб услугата изисква всички елементи, които съдържат числови данни числова стойност. Уеб услугата отхвърли формуляр, който съдържа празни числови елемент.
Вашият шаблон на формуляр съдържа поле, наречено fldAvailability, която съдържа число, съответстващо на възможността на доставчика да предоставят този продукт. Доставчикът да въведете число в това поле. За да се уверите, че доставчикът да подават му форма въз основа на вашия шаблон на формуляр към уеб услуга, както и автоматично задаване на стойността на полето на нула, ако доставчикът не въведете число, използвайте следната формула стойност по подразбиране за това поле :
NZ(fldAvailability)
закръгляване
Закръглява число до най-близкото цяло число.
Ако не бъдат цели числа е точно по средата между две стойности на закръглено число, върнатата стойност е следващата най-голямата стойност на цяло число.
Синтаксис
Round(number)
Аргумент |
Описание |
число |
Полето, съдържащо номера, който ще бъдат закръглени с помощта на тази формула. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва доставчиците да съобщите наличности им продукт. Шаблонът за формуляр съдържа повтаряща се група, която включва няколко полета, която съдържа данни за продукти, доставчици. Едно от полетата, наречен fldPrice, в повтаряща се група съдържа цената на продукт.
Шаблон за формуляр има връзка към данни за подаване към уеб услуга. Метод на уеб услуга изисква всяка цена да се закръглява до целочислена стойност. За да изпратите стойността на подходящия метод на уеб услуга, можете да добавите повтарящо се поле в източника на данни. Това поле използва следната формула, за да закръглите цената в полето fldPrice да целочислена стойност:
Round(fldPrice)
сума
Връща сумата на всички полета в поле или група. Всяко поле първо се преобразува числова стойност.
Синтаксис
SUM(field)
Аргумент |
Описание |
поле |
Име на поле в повтаряща се група или повтарящо се поле в дадена група, чиито стойности ще бъдат добавени. За да добавите полета от две различни групи, използвайте оператора union (|), за да разделите аргументите. Например: sum (име на поле 1 | име на поле 2). |
Пример
Проектирате шаблон на формуляр за отчет на разходите. Шаблон за формуляр има група, която съдържа елементи на разходите. Размерът на всеки елемент се съхранява в поле, което се нарича fldExpenseAmount. Групата е обвързана с повтаряща се таблица, която показва всеки разходи елемент като ред. Шаблонът за формуляр съдържа контрола за текстово поле, което се показва и общите разходи. За да покажете всички разходи, контролата на текстовото поле съдържа следната формула:
SUM(fldExpenseAmount)
True
Връща истина.
Синтаксис
TRUE()
Тази функция не използва аргументи.
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва от изпълнители да приложите за строителни разрешения. Шаблон за формуляр съдържа един раздел за информация за контакт и друг раздел за информация, свързана с градивни разрешение. Когато попълват този формуляр, предприемачите ще трябва да напълно попълнете контакта секция "информация", преди те да могат да попълват building позволяват секция.
За да постигнете това, можете да създадете правило, което задава стойността на булеви поле на true, ако всички полета в раздела информация за връзка съдържа данни. Булева стойност поле може да има булева стойност true или false. Ако стойността на булеви полето е вярно, раздел контрола, която съдържа building позволяват информация се показва.
За да покажете секция контрола, която съдържа building позволяват информация, можете да конфигурирате правило за изпълнение на тази функция в полето булеви, ако всички полета в раздела информация за връзка съдържа данни.
Текстови функции
concat
Комбинира две или повече области на текстови низове в един текстов низ.
Синтаксис
изображение (текст1; текст2,...)
Аргумент |
Описание |
текст1 |
Поле, което съдържа текст, за да се обединят в един ред на текст с текст в argument2. |
текст2... |
Или или повече допълнителни полета, която съдържа текста, за да се комбинира с предишното поле. Отделни текстови полета със запетая. |
Пример
Проектирате шаблон на формуляр, който съдържа поле, наречено fldFirstName и поле с име fldLastName. Добавете следната формула към друг поле да съдържа текст, предизвиква "този формуляр е попълнена от < firstname >< фамилия >.":
изображение ("този формуляр е попълнена от", fldFirstName, "", fldLastName, ".")
Забележка: Всеки действителния текст, въведени като текстови аргумент, включително интервали или пунктуация, трябва да бъде вмъкната в кавички ("").
съдържа
Връща true, ако първото поле или текстов низ съдържа второто. В противен случай връща false.
Синтаксис
съдържа (в_текст, find_text)
Аргумент |
Описание |
в_текст |
Полето, което съдържа текста, за да се търси. |
намери_текст |
Полето, което съдържа текст или текст, заграден в двойни кавички ("") за да търсите в първия аргумент. |
Пример
Проектирате шаблон на формуляр с три текстови полета. Първият ще позволи на потребителя да въведете продължителни размер на текста в контролата за първия текст, наречена fldText. Вторият ще позволи на потребителя да въведете кратко сегмент на текст и се нарича fldFindText. Третата текстовото поле ще сравни второто текстово поле към първата и укажете дали стойността във второто поле се намира в първото поле и показва резултата. Стойност по подразбиране, той ще имат следната формула:
contains(fldText,fldFindText)
normalize-space
Премахва интервалите от текстов низ.
Забележка: Това ще премахне всички водещи, завършващи и повтаряне интервали от поле с текстов тип данни.
Синтаксис
normalize-Space(Text)
Аргумент |
Описание |
text |
Текстът, който съдържа водещите, завършващи или повтарящи се интервали, които искате да премахнете. Поставете текста в двойни кавички (""). |
Пример
Проектирате шаблон за формуляр, който съдържа поле, наречено fldText (което е обвързана с контрола текстово поле). За нормализиране на всеки текст, въведен в първото поле и да покажете какви стойността в първото поле без излишното празно място, Добавяне на второто поле със следната формула стойност по подразбиране:
normalize-Space(fldText)
starts-with
Връща true, ако първото поле или текстов низ започва с второто. В противен случай връща false.
Синтаксис
започва with(text, start_text)
Аргумент |
Описание |
text |
Името на полето, което съдържа текста, за да се търси. Отделен аргументи със запетая. |
start_text |
Текстът да се търси в началото на полето, зададено в първия аргумент. Този аргумент може да бъде поле или текст, който е заграден в двойни кавички (""). |
Пример
Проектирате шаблон на формуляр с три текстови полета. Първият ще позволи на потребителя да въведете продължителни размер на текста в контролата за първия текст, наречена fldText. Вторият ще позволи на потребителя да въведете кратко сегмент на текст и се нарича fldFindText. Третата текстовото поле ще сравни второто текстово поле към първата и укажете дали стойността в първото поле започва със стойността във второто поле и показва резултата. Стойност по подразбиране, той ще имат следната формула:
започва with(fldText, fldFindText)
низ
Преобразува стойност в текстов низ.
Синтаксис
String(Value)
Аргумент |
Описание |
value |
Поле, което съдържа стойност за конвертиране в текст. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва от изпълнители да приложите за строителни разрешения. Шаблонът за формуляр съдържа раздел, в който изпълнителят да въведете своя служебен адрес. За да проверите дали изпълнителят навлиза валиден адрес, шаблона за формуляр има връзка с данни към уеб услуга, която да проверите адреса. Ако адресът е проверен, изпълнителят да подадете формуляра към база данни на SQL. SQL база данни използва текстово поле за адрес на улица. Уеб услугата изисква номера на адреса да бъде тип числови данни и името на улицата да бъде текстов тип данни.
За да подаване на данни към уеб услуга и SQL база данни, адреса трябва да се съхраняват в два различни типове данни:
-
За да изпратите адреса на уеб услуга, номера на адреса трябва да бъде тип числови данни.
-
За да изпратите адреса към SQL база данни, номера на адреса и името на улицата трябва да бъде текстов тип данни.
Можете също да поискате изпълнителят да въведете адреса си само веднъж. За да конвертирате адреса към правилните данни от тип и сте сигурни, че изпълнителят се въвежда адреса си само веднъж, формулярът съдържа поле за въвеждане на номера на адреса, който се нарича fldAddressNumber и друго поле за въвеждане на името на улицата. FldAddressNumber поле е тип числови данни и полето Име на улицата е текстов тип данни.
За да представи пълен адрес (номера на адреса и името на улицата) към SQL база данни, трябва да комбинирате стойностите в fldAddressNumber и улица име на полето в една стойност, която е текстов тип данни. Трябва първо да преобразувате числови данни в областта на fldAddressNumber, която съхранява данните като тип числови данни, текстов тип данни. Добавяне на поле към източника на данни, която ще съдържа пълния адрес като текстов тип данни.
За да конвертирате текстови данни в полето fldAddressNumber текстов тип данни, така че да можете да използвате уеб услуга, можете да конфигурирате друго поле, което ще съдържа номера на адрес като текстов тип данни. За да конвертирате номера на адреса от тип числови данни текстов тип данни, използвайте следната формула стойност по подразбиране за това поле:
String(fldAddressNumber)
string-length
Връща броя знаци в даден текстов низ.
Синтаксис
String-length(Text)
Аргумент |
Описание |
text |
Полето, чиято стойност е текст, който искате да преброите. |
Пример
Проектирате шаблон на формуляр, който съдържа поле, наречено fldText, която е свързана с контрола текстово поле. Вашият шаблон на формуляр включва второто поле, което се използва за преброяване на броя на знаците, въведени в първата форма. За да направите това, второто поле съдържа следната формула стойност по подразбиране:
String-length(fldText)
substring
Връща в определена част от текстов низ. Вторият аргумент задава началната позиция и третият аргумент задава колко знака да включите.
Синтаксис
подниз (текст, start_position, char_count)
Аргумент |
Описание |
text |
Поле с данни от тип текст или текст, който е заграден в двойни кавички (""). Функция търсения този текст и връща всички знаци от позицията указана във втория аргумент нагоре до броя на знаците, зададени в третия аргумент или в края на текста, което се случи първо. |
start_position |
Началната позиция на текста, за да извлечете от първия аргумент. Този аргумент трябва да бъде цяло число или препратка към поле конфигурирани за съхраняване на данни от тип цяло число (integer). |
char_count |
Броя на знаците, които искате да извлечете, започвайки от началната позиция, зададен във втория аргумент. Този аргумент трябва да бъде цяло число или препратка към поле конфигурирани за съхраняване на данни от тип цяло число (integer). |
Пример
Проектирате шаблон на формуляр, който съдържа следните полета и контроли:
-
Поле с име fldText, която е обвързана с контрола текстово поле. Това поле съдържа текста, който търси във функцията.
-
Поле с име fldStartingPosition, която е обвързана с контрола текстово поле. Това поле е конфигурирана като цяло число тип данни. Това поле съдържа началната позиция за функция.
-
Поле с име fldNumberOfCharacters, която е обвързана с контрола текстово поле. Това поле е конфигурирана като цяло число тип данни. Полето съдържа броя на знаците, функцията връща.
-
Контрола за текстово поле, която показва резултатите от функцията. Контрола за текстово поле съдържа следната формула:
подниз (fldText, fldStartingPosition, fldNumberOfCharacters)
Когато потребителят въведе "този формуляр е създаден от InfoPath шаблон за формуляр." в първото текстово поле, последвано от 4 във втората и 16 в третото, след което четвъртата текстовото поле ще съдържа "s формуляр е '' Създаване".
substring-after
Връща текста на първия текстов низ, който следва първото появяване на втория текстов низ.
Синтаксис
подниз after(text, find_text)
Аргумент |
Описание |
text |
Поле с данни от тип текст или текст, който е заграден в двойни кавички (""). Функцията за търсене на текст в този аргумент и връща всички знаци, които следват текста във втория аргумент. |
намери_текст |
Текстът, за да търсите в текста на първия аргумент. Текста могат да са или стойността в полето с данни от тип текст или текст, който е заграден в двойни кавички (""). Функцията търси текста в първия аргумент за този текст и след това връща всички следващи знаци на текста в този аргумент. |
Пример
Проектирате шаблон на формуляр, който съдържа следните полета и контроли:
-
Поле с име fldText, която е обвързана с контрола текстово поле. Това поле съдържа текста, който търси във функцията.
-
Поле с име fldSubstringText, която е обвързана с контрола текстово поле. Това поле съдържа текста, който е вторият аргумент на функцията.
-
Контрола за текстово поле, която показва резултатите от функцията. Контрола за текстово поле съдържа следната формула:
подниз after(fldText, fldSubstringText)
Когато потребителят въведе "този формуляр е създаден от InfoPath шаблон за формуляр." в полето fldText и "InfoPath" във втория, после третия контрола текстово поле ще съдържа "шаблон за формуляр".
substring-before
Връща текста на първия текстов низ, който предшества първото появяване на втория текстов низ.
Синтаксис
подниз before(text, find_text)
Аргумент |
Описание |
text |
Поле с данни от тип текст или текст, който е заграден в двойни кавички (""). Функцията за търсене на текст в този аргумент и връща всички знаци преди текста във втория аргумент, find_text. |
намери_текст |
Стойност за търсене в текстов аргумент. Тази стойност могат да са или стойността в поле с данни от тип текст или текст, който е заграден в двойни кавички (""). Функцията търси текста в първия аргумент (текст) за този текст и след това връща всички знаци пред текста в този аргумент. |
Пример
Проектирате шаблон на формуляр със следните полета и контроли:
-
Поле с име fldText, която е обвързана с контрола текстово поле. Това поле съдържа текста, който търси във функцията.
-
Поле с име fldSubstringText, която е обвързана с контрола текстово поле. Това поле съдържа текста, който е вторият аргумент на функцията.
-
Ε контрола – текстово поле, която показва резултатите от функцията. Контрола за текстово поле съдържа следната формула:
подниз before(fldText, fldSubstringText)
Когато потребителят въведе "този формуляр е създаден от InfoPath шаблон за формуляр." в полето fldText и "създаде" във втория, после третия контрола текстово поле ще съдържа "този формуляр е".
translate
Връща първия текстов низ с всеки знак във втория текстов низ заменя със знака на съответната позиция в третия текстов низ.
Синтаксис
превод (текст, find_chars, replace_chars)
Аргумент |
Описание |
text |
Името на полето, което съдържа текста, чиито знаци ще бъдат заменени. Отделен аргументи със запетая. |
find_chars |
Знаци, или стойността на дадено поле с текстов тип данни, които ще бъдат заменени от знаците в третия аргумент. Отделен аргументи със запетая. |
replace_chars |
Знаци, или стойността на дадено поле с текстов тип данни, който ще замести всеки екземпляр на знак във втория аргумент. |
Пример
Проектирате шаблон на формуляр, чиито формуляри ще се използва от изпълнители да приложите за строителни разрешения. Шаблонът за формуляр съдържа раздел, в който изпълнителят да въведете своя служебен адрес. Секцията съдържа поле, наречено fldStreetAddress, която е обвързана с контрола на текстово поле, в който изпълнителят да въведете пълния си адрес.
За да проверите дали изпълнителят навлиза валиден адрес, имате връзка с данни към уеб услуга, която да проверите адреса. Уеб услугата изисква малки букви в адреса.
За да конвертирате всеки главни символ в улицата в малки букви, можете да добавите друго поле в източника на данни да съдържа пълния адрес, който се конвертира в малки букви. Стойността по подразбиране на това поле съдържа следната формула:
превод (fldStreetAddress, ABCDEFGHIJKLMNOPQRSTUVWXYZ, abcdefghijklmnopqrstuvwxyz)
Функции за URL адрес
SharePointListUrl
Връща адреса на библиотеката на SharePoint за списък или формуляра, където формулярът е хостван (само за InfoPath 2010).
Синтаксис
SharePointListUrl()
Тази функция не използва аргументи.
Пример
Създавате шаблон на формуляр за списък на SharePoint и искате да добавите връзка към местоположението, където се хоства в списъка, като например "http://sharepointserver/site/list/". За да направите това, Добавяне на контрола за хипервръзка и да го настроите да се Само за четенеи след това задайте стойността по подразбиране на полето, контролата е свързан към по следния начин:
SharePointListUrl()
Забележка: Ако шаблонът за формуляр се хоства на сървър на SharePoint, след което SharePointListUrl() функцията ще върне само "http://sharepointserver/site/list/".
SharePointServerRootUrl
Връща адреса на сървъра на SharePoint, където формулярът е хостван (само за InfoPath 2010).
Синтаксис
SharePointServerRootUrl()
Тази функция не използва аргументи.
Пример
Създавате шаблон на формуляр за списък на SharePoint и искате да добавите връзка към корена на сървъра на SharePoint, Списъкът се хоства, като например "http://sharepointserver/site/list/". За да направите това, Добавяне на контрола за хипервръзка и да го настроите да се Само за четенеи след това задайте стойността по подразбиране на полето, контролата е свързан към по следния начин:
SharePointServerRootUrl()
Забележка: Ако шаблонът за формуляр се хоства на сървър на SharePoint, след което SharePointListUrl() функцията ще върне само "http://sharepointserver/site/list/".
SharePointCollectionUrl
Връща адреса на колекцията от сайтове за SharePoint, където формулярът е хостван (само за InfoPath 2010).
Синтаксис
SharePointCollectionUrl()
Тази функция не използва аргументи.
Пример
Създавате шаблон на формуляр за списък на SharePoint и искате да добавите връзка към колекцията от сайтове на SharePoint server, където се хоства в списъка, като например "http://sharepointserver/sitecollection/". За да направите това, Добавяне на контрола за хипервръзка и да го настроите да се Само за четенеи след това задайте стойността по подразбиране на полето, контролата е свързан към по следния начин:
SharePointCollectionUrl()
Забележка: Ако шаблонът за формуляр се хоства на сървър на SharePoint, след което SharePointListUrl() функцията ще върне само "http://sharepointserver/sitecollection/".
SharePointSiteUrl
Връща адреса на сайта на SharePoint, където формуляра се хоства (само за InfoPath 2010).
Синтаксис
SharePointSiteUrl()
Тази функция не използва аргументи.
Пример
Създавате шаблон на формуляр за списък на SharePoint и искате да добавите връзка към сайта на SharePoint, където се хоства в списъка, като например "http://sharepointserver/site/". За да направите това, Добавяне на контрола за хипервръзка и да го настроите да се Само за четенеи след това задайте стойността по подразбиране на полето, контролата е свързан към по следния начин:
SharePointSiteUrl()
Забележка: Ако шаблонът за формуляр се хоства на сървър на SharePoint, след което SharePointListUrl() функцията ще върне само "http://sharepointserver/site/".
Функцията потребителско име
потребителско име
Връща потребителското име на човека, попълване на формуляр (Microsoft InfoPath 2007 или по-нова версия).
Забележка: Ако потребителят е попълване на формуляр в уеб браузър, потребителското име е извлечен от Microsoft Windows SharePoint Services 3.0 или по-късно.
Синтаксис
userName()
Тази функция не използва аргументи.
Пример
Проектирате шаблон на формуляр за отчет на разходите за вашата фирма. Вашата кредитна карта компания изпраща записи на вашите служители разходи по електронен път към база данни, която поддържа по вашата фирма. За да извлечете разходите записите за служител, базата данни се нуждае от потребителското име на служителя, който е попълване на формуляр, който се базира на вашия шаблон на формуляр.
Добавяне на поле към източника на данни на шаблона на формуляр за съхраняване на потребителското име на служителя. Можете също да създадете връзка към заявка за данни, която използва стойността на това поле в заявка за извличане на разходите.
За да гарантирате, че служителят попълване на отчет за разходите използва правилното потребителско име, обвържете полето контрола текстово поле. За да покажете потребителското име на потребителя, който създава формуляр, базиран на този шаблон за формуляр, използвайте следната формула стойност по подразбиране на поле, обвързана с контролата на текстовото поле:
userName()