1

編集4:

私はついに自分の問題を解決することができました。以下のチェックマークの回答を参照してください。

編集 3: 私はこれを解決するのに本当に近づいているように感じます.1 つのハードルが残っています. フィルターは、リスト ボックス、コンボ ボックス、またはドロップダウン リスト ボックスにのみ適用できます。情報をフィルタリングすることはできますが、フィルタリングした情報の MAX 値を取得する必要があり、その方法がわかりません。max 関数を試してみましたが、得られるのは NaN だけです。

スクリーンショットを参照してください。

私の「今年の #s +1 のデフォルトは NaN です。しかし、フィルター処理されたドロップダウンから数値を選択すると、機能します。リストの最大数をデフォルトに設定できるようにする必要があります。別のスクリーンショットを参照してください。レポートの最大数をデフォルトにする方法がわかりません.何か提案やアイデアはありますか?

編集 2: 質問はまだ未回答のままです。最新の編集を一番上に移動します。

編集 1: Ktharsis アプローチを使用しているようです。彼は、MAX(@ID) +1 を取得する前に、年にフィルターを使用することを提案しました。これを実装する方法はまだわかりません。MAX(@ID) +1 を取得する前に Sharepoint でその年をフィルター処理して、年ごとに連続した ID がリセットされるようにする数式はありますか? これが回答されたら、別の更新を投稿します。

新年にリセットされる一意の番号カウンター ID を作成しようとしています。ナンバーカウンターの部分が下がっているのですが、新年が始まったときにリセットする方法がわかりません。

例: 2010-0057、2010-0058、2010-0059..... 2011-0001、2011-0002 など

代わりに、シーケンスを続行するだけです。これを実装する方法についてのアイデアはありますか? 推奨される方法は、プログラミングを使用しない方法です。ちなみに、私はこれを SharePoint サイトと統合しており、実際には SharePoint の ID フィールドから連番を取得しています。数列に MAX(ID) 式を使用しています。

** このサイトを初めて使用するため、この質問がここに属していない場合は申し訳ありません。

4

3 に答える 3

2

InfoPath では、この方法で現在の年を数式で取得できます (プログラミングは不要です)。

substring(today(), 1, 4)

ただし、システム設定が米国英語でない場合は、形式が異なる場合があります (ユーザーのシステム設定が異なる場合はお勧めできません)。

SharePoint から正しいデータを取得するには、リストをフィルター処理する必要があります。現在、すべてのリスト データを要求し、MAX(ID) を取得しています。このリストをフィルタリングして現在の年のみを取得し、次に MAX(ID) を取得すると、正しいシーケンス番号が得られます。

于 2011-02-08T13:27:23.273 に答える
1

私はついにそれを理解しました!Ktharsis は私にいくつかのヒントを与えてくれましたが、彼は、私が実際に機能するものがどこにあるのかという私の質問には答えませんでした。したがって、(刺すようなものではありません)、私は自分の質問に答えて、私が何をしたかを皆さんに示しています。

新しい年ごとに自動生成番号をリセットする方法: ドロップ ボックス フィルターの使用に関する以前の編集はすべて無視します。どれもうまくいきません。これが必要です。送信ルールに、sharepoint の場所からデータを照会するルールを追加します (この手順が必要かどうかは完全にはわかりませんが、害はありません)。以下の別のルールを「フィールド値を設定する」に追加します。「フィールド」オプションで「数値カウンター フィールド」を選択します。

「値」オプションの下に、次のように入力します。

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

これにより、CURRENT 年の最大レポート数が取得され、それに 1 が追加されます。したがって、レポート番号 20 が SharePoint データベースで最も高いレポート番号である場合、このレポートを提出する番号は 21 になります。これは毎年開始されます。

私のフォームでは、「Number Counter Field」は基本的に「Report Number Field」にフィードし、必要に応じてゼロを追加します。たとえば、レポート番号 2 を使用している場合、レポート番号 0002 が投稿されます。

新年の報告がないとどうなるかは試していません。ただし、この直前にルールを追加して最大レポート番号を見つけ、それがゼロの場合はこのレポート番号を 1 にすることができます。

私の解決策について質問がある場合。私にお知らせください。質問を投稿する前に、この問題に何ヶ月も費やしました。助けてくれたみんなに感謝します。

于 2011-02-25T18:47:20.643 に答える
0

ここで何かが足りないのかもしれませんが、共有ポイントから連続番号を取得している場合、新しいリストまたはライブラリを作成して取得しない限り、その番号は常に増加しませんか? これを行うと、数値は 0 からやり直す必要があります。

于 2011-02-11T22:27:16.683 に答える