MS InfoPath Вопрос - PullRequest
       33

MS InfoPath Вопрос

1 голос
/ 08 февраля 2011

Редактировать 4:

Я наконец смог решить свою проблему. Смотрите ответ галочкой ниже.

Редактировать 3: Я чувствую, что я действительно близок к решению этого, на моем пути остается только одно препятствие. Фильтры могут применяться только в списках, полях со списками или в раскрывающихся списках. Я могу отфильтровать свою информацию, но мне нужно получить максимальное значение для отфильтрованной информации, и я не знаю, как это сделать. Я попробовал функцию max, и все, что я получаю, это NaN.

См. снимок экрана .

Вы заметите, что мой "Текущий год #s +1" по умолчанию равен NaN. Но когда я выбираю число из выпадающего списка, это работает. Мне нужно иметь возможность установить максимальное число в моем списке по умолчанию. Смотрите еще один скриншот . Я не могу понять, как по умолчанию максимальный номер отчета. Есть предложения или идеи?

Редактировать 2: Вопрос до сих пор остается без ответа. Переместим самые последние правки в начало.

Редактировать 1: Кажется, что мы идем с подходом Ktharsis. Он предложил использовать фильтр за год до того, как мы получим МАКС (@ID) +1. Я пока не уверен, как это реализовать. Есть ли формула для фильтрации по году в Sharepoint до получения MAX (@ID) +1, чтобы наши последовательные идентификаторы сбрасывались для каждого года? Я опубликую другое обновление, как только на него ответят.

Я пытаюсь создать уникальный идентификатор счетчика номеров, который будет сбрасываться в новом году. У меня есть счетчик чисел, но я не знаю, как его сбросить, когда начинается новый год.

Пример: 2010-0057, 2010-0058, 2010-0059 ..... 2011-0001, 2011-0002 и т. Д.

Вместо этого он просто продолжает последовательность. Есть идеи, как это реализовать? Предпочтительный метод без использования программирования. С другой стороны, я интегрирую это с сайтом SharePoint и фактически получаю свой порядковый номер из поля ID SharePoint. Я использую формулу MAX (ID) для своей числовой последовательности.

** В первый раз, используя этот сайт, поэтому я извиняюсь, если этот вопрос не принадлежит здесь.

Ответы [ 3 ]

2 голосов
/ 08 февраля 2011

В InfoPath вы можете получить текущий год в формуле (программирование не требуется) следующим образом.

substring(today(), 1, 4)

Однако формат может отличаться, если настройки вашей системы не соответствуют американскому английскому (не очень хорошая идея, еслиу ваших пользователей разные настройки системы).

Чтобы получить правильные данные из SharePoint, вам необходимо отфильтровать свой список.В настоящее время вы запрашиваете все данные списка и получаете MAX (ID).Отфильтруйте этот список, чтобы получить только текущий год, а затем получите MAX (ID), и он даст вам правильный порядковый номер.

1 голос
/ 25 февраля 2011

Я наконец понял это!Хотя Ктарсис дал мне несколько советов, он не ответил на мой вопрос, где у меня действительно было что-то, что сработало.Поэтому (чтобы не быть уколом) я отвечаю на свой вопрос и показываю вам, ребята, что я сделал.

Как я сбрасываю автогенераторное число каждый новый год: Игнорируем все мои предыдущиередактирует об использовании фильтров Drop Box.Ничего из этого не работает.Это то, что вам нужно.В ваших правилах отправки добавьте правило для запроса данных из вашего местоположения sharepoint (не совсем уверен, нужен ли этот шаг, но это не повредит).Добавьте еще одно правило ниже для «Установить значение поля».Выберите «Поле счетчика чисел» под опцией «Поле».

В поле «Значение» введите следующее:

max (@Report_Number [@Year = substring-before (today (), "-")]) + 1

Это позволит получить максимальный номер отчета за текущий год и добавить к нему 1.Поэтому, если отчет № 20 является вашим самым большим номером отчета в вашей базе данных sharepoint, теперь он будет составлять этот отчет, когда вы отправляете номер 21. Он будет начинаться каждый год.

Для моей формы мое поле "Счетчик чисел"в основном кормит мое «Поле номера отчета» и добавляет нули при необходимости.Например, если я нахожусь в отчете № 2, он опубликует отчет № 0002.

Я не пытался увидеть, что произойдет, если на новый год не будет никаких отчетов.Но вы можете добавить правило прямо перед этим, чтобы найти максимальный номер отчета, и если он равен нулю, сделайте этот номер отчета 1.

Если у вас есть какие-либо вопросы по моему решению.Пожалуйста, дайте мне знать.Я потратил месяцы на эту проблему, прежде чем опубликовать вопрос.Спасибо всем, кто помог.

0 голосов
/ 12 февраля 2011

Может быть, я что-то здесь упускаю, но если вы получаете свой последовательный номер из sharepoint, не будет ли этот номер всегда увеличиваться, если вы не создадите новый список или библиотеку, из которой вы можете его извлечь?Если вы сделаете это, то число должно начинаться с 0.

...