2015-01-15 12 views
3

Я пытаюсь рассчитать сроки, основанные на описании частоты в другом поле в моей форме. Поэтому у меня есть 3 поля, «Частота», которые содержат описание «Ежегодно», «Полу-ежегодно», «Квартальный».Как рассчитать первый день Due date на основе частоты в Microsoft Infopath Designer

Тогда у меня есть «Последняя дата», где есть дата, когда кто-то входит. а затем «Дата погашения». Я хотел бы, чтобы в первый день выбранного месяца была рассчитанная дата, указанная в этой области.

Я попытался использовать «Правила» и установить условие, когда «Частота» равна «Ежегодно», тогда я сделал значение поля установки, я выбрал «Дата погашения». Для формулы я написал addDays («Последняя дата», 365). Мне было интересно, есть ли способ выбрать его в первый день месяца?

Спасибо!

ответ

2

Конечно, использовать/функции подстроку Concat и отформатировать его как дата:

Concat (подстрока (addDays ("Последняя дата", 365), 1, 4), "-", подстрока (addDays («Последняя дата», 365), 6, 2), «-01»)

+0

Эта формула была бы размещена, когда я установил значение поля, и я правильно ввел формулу? – adit123

+0

Когда я попробовал формулу, она действительно работала, спасибо за это! Однако она возвращается в формате «2016-01-01». Как я могу измениться до 01/01/2016? Извините, я довольно новичок в инфопате. Кроме того, скажите, допустим ли я ошибку. и измените дату, когда поле не будет обновляться. я должен снова перейти в раскрывающийся список «Частота» и отложить его. даже после форматирования, я все еще возвращаю красную пунктирную линию вокруг коробки. – adit123

+0

mm/dd/yyyy формат: concat (подстрока (addDays («Последняя дата», 365), 6, 2), «/ 01 /», подстрока (addDays («Последняя дата», 365), 1, 4)) – user2051770

1

Я смог исправить ошибку, которую я получал после вычисления значения. В новом текстовом поле, которое я создал, я изменил контроль на дату. Затем в качестве значения по умолчанию я использовал эту формулу msxsl: format-date (Last Date, «MM/dd/yyy»). И функция использования календаря была там! Все работает сейчас! Спасибо @ user2051770 за руководство меня! Очень признателен!