問題タブ [business-objects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
crystal-reports - レコードの反復-CrystalReports2008
CR2008でレコードを反復処理する方法を知る必要があり、NULLでないレコードに到達したら、それを変数に記録します。
詳細セクションにドロップして抑制する「frmAccum」という式があります。これを使用して、処理された各レコードの情報を収集します。また、文字列変数「person_name」を「」に置くfrmResetという式があり、それをグループヘッダーにドロップして、グループ化後にリセットできます。
NOT NULLで空ではないperson_nameフィールドに遭遇した場合、レポートヘッダーで使用される変数に名前を保持する必要があります。
だからこのようなもの:
この組み合わせを機能させることができません。どんな助けでも大歓迎です。
c# - 使用するデータベースごとに 1 つのクラスを使用する必要がありますか?
まず、私が何をしているのかを説明させてください。異なるデータベースに分割された注文を受け取り、この非常に大きな注文を印刷する必要があります。注文から必要なのは、さまざまなデータベースからの約 100 列ほどです。私が行っていた方法は、結合を使用してクエリを実行し、すべての列の値を 1 つの大きな Order クラスの変数に割り当てることでした。これが面倒になり始めました。オーダーを構成する 100 人ほどのメンバーで構成される 1 つのクラスを使用する代わりに、私は疑問に思っています。使用するデータベースごとに 1 つのクラスだけを用意して、それで作業する必要がありますか?
これに追加させてください。基本的に、オブジェクトを元のデータベース テーブルまたは結果セットにマップする方がよいでしょうか。個々のテーブルではなく、オブジェクトが結果セットにマップされているためです。
database-design - エンティティ間の抽象化された参照
私の今後のプロジェクトでは、(私が呼んでいるもの)「抽象エンティティ参照」を含む設計を検討しています。これは、より一般的なデータ モデルの設計とは大きく異なりますが、必要な柔軟性を実現するために必要な場合があります。他のアーキテクトがこのようなシステムの経験を持っているかどうか、また注意点はどこにあるのか疑問に思っています。
このプロジェクトには、さまざまな人物によるさまざまなエンティティ (論理的にはビジネス オブジェクト、物理的にはデータベース行) へのアクセスを制御するという要件があります。たとえば、次のようなルールを作成したい場合があります。
- ユーザー Alice は Z 社のメンバーです
- ユーザー Bob は、ユーザー Charlie、Dave、および Eve を持つグループ Y のマネージャーです。
- ユーザー Frank は、[重要なビジネス オブジェクト] X のデータと、[重要なビジネス オブジェクト グループ] U の [重要なビジネス オブジェクト] のデータを入力できます。
- ユーザー George は T 社のメンバーではありませんが、T 社のレポートを表示できます。
さまざまなセキュリティ保護可能なオブジェクト、ロール、グループ、およびアクセス許可があり、システムでこれを処理する必要があるという考えです。理想的には、このシステムは、起動後に新しい状況に対応するためのコーディングをほとんど、またはまったく必要としません。それは非常に柔軟でなければなりません。
「従来の」データ設計では、次のようなエンティティ/テーブルがある場合があります。
- ユーザー
- 会社
- ユーザー/会社相互参照
- ユーザー・グループ
- ユーザー/ユーザーグループの相互参照
- CBO (「重要なビジネスオブジェクト」)
- ユーザー/CBO 相互参照
- CBOグループ
- ユーザー/CBOGroup 相互参照
- CBO/CBOGroup 相互参照
- レポートへのアクセス専用のユーザーと会社間の相互参照であるReportAccess
相互参照テーブルの数が多いことに注意してください。このシステムは非常に柔軟ではありません。新しいアクセス手段を追加したいときはいつでも、新しい相互参照テーブルを導入する必要があるからです。つまり、追加のコーディングを意味します。
提案されたシステムでは、すべての主要なエンティティ (ユーザー、会社、CBO) がエンティティと呼ばれる新しいテーブルの値を参照します。(コードでは、これらすべてのエンティティーを Entity スーパークラスのサブクラスにする可能性があります)。次に、エンティティの「サブクラス」でもある Entity * Group を参照する 2 つの追加テーブルがあります。* EntityRelation は、任意のタイプ (グループを含む) の 2 つのエンティティ間の関係です。これにはおそらく、関係を説明/修飾するためのある種の「関係タイプ」フィールドもあります。
このシステムは、少なくとも一見しただけでは、私たちの多くの要件を満たしているように見えます。今後、新しいエンティティを導入する可能性がありますが、これらのエンティティ間のグループ化と関係を処理するために追加のテーブルを作成する必要はありません。これは、Group と EntityRelation が既に処理できるためです。
しかし、これが実際にはうまく機能しないのではないかと心配しています。エンティティ間の関係は非常に複雑になり、人々 (ユーザーと開発者の両方) がそれらを理解するのが非常に難しくなる可能性があります。また、それらは非常に再帰的です。これにより、SQL に依存するレポート作成スタッフにとって事態はさらに困難になります。
似たようなシステムを経験した人はいますか?
c# - 1 回のデータベース呼び出しによるビジネス オブジェクト階層のロード
単一のデータベース呼び出しからビジネス オブジェクト階層 (親/子/孫) 構造を作成するためのベスト プラクティスを知りたいです。
頭のてっぺんからそれを達成するために、次のようないくつかの方法を考えることができます。
SQLステートメントのすべての関係を左結合し、ループとロジックを使用してビジネスオブジェクトを埋めます
また
複数の select ステートメントと 1 つの datareader を使用し、その NextResult() メソッドを使用して各結果セットを反復処理し、対応する BO を埋めます
これのベストプラクティスは何ですか
DAL に DAAB と c# を使用しています
ありがとう!
wpf - WPF でバインドされたコントロールの検証を強制する
いくつかのテキストボックスを含む WPF ダイアログがあります。テキストボックスはビジネス オブジェクトにバインドされ、WPF 検証ルールが添付されています。
問題は、ユーザーが実際にテキスト ボックスにデータを入力しなくても、[OK] ボタンをクリックしてダイアログを閉じることができることです。ユーザーがテキストボックスに情報を入力しようとさえしなかったため、検証ルールは起動しません。
検証チェックを強制して、一部の検証ルールが破られているかどうかを判断することは可能ですか?
ユーザーがダイアログを閉じようとしたときにそれを行うことができ、検証ルールが壊れている場合はそれを禁止します。
ありがとうございました。
business-objects - ビジネスオブジェクトフィールド構造のサブセットのベストプラクティス?
50個のフィールドを持つビジネスオブジェクトがあり、ドロップダウンリストやグリッドビューなどにビジネスオブジェクトの3つのフィールドのみを入力して、すばやく参照できるようにする必要がある場合。
完全に入力されたBOをロードしてから、プレゼンテーション層のいくつかの必須フィールドを取得するのがベストプラクティスですか?
そのサイズのBoのコレクションにデータを入力するのは非効率的ですが、他の唯一の方法は、特定のUIに必要なフィールドだけを部分的に入力したBOに返すことであるように思われます。これは、同様のUI要件が多数ある場合は管理が困難です。または、フィールドを含むMyBusinessObjectHeaderのようなベースクラスを作成してから、MyBusinessObjectにそれを継承させ、残りのフィールドを実装しますが、これによりUIが結びつきすぎるように見えます。
このタイプの状況のベストプラクティスは何ですか?
sas - 統計ベースのマーケティングキャンペーン測定ツール
現在、測定エンジンとしてSASを使用し、表示レイヤーとしてBusinessObjectsを使用しています。新しい、より高速で、より滑らかなソリューションの開発を目指しています。キャンペーン測定レポートシステムを開発または購入した人はいますか?このソリューションでは、電子メールの統計、Webの統計、顧客の活動、リフト、ROIなどのすべてを測定する必要があります。
わかりました。私は灘を調査して見つけています...私たちはインドのチームと協力していて、彼らはすべてを最初から書き直したいと思っています。
visual-studio-2008 - DataMember プロパティ [ObjectName] が DataSource で見つかりません
子オブジェクトの複合体であるビジネス オブジェクトがあります。
Visual Studio 2008 でデータバインディングを使用して、Windows フォームのコントロールにバインドしています。
しかし、フォームの InitializeComponent メソッドで上記のエラーが発生しています。
ジェネリック リスト ChildListObject を含む ParentObject というオブジェクトがあるとします。ParentObject には、それ自体が Child オブジェクトを持つ Child オブジェクトもあります。(つまり、ParentObject.ChildObject.ChildObject)
メインのバインディング ソースを設定します。
グリッドを追加し、バインディング ソースを設定します。
DataMember を次のように設定します。
これで、グリッドのデータソースが GridBindingSource に設定されました。
ParentObject および ParentObject.ChildObject のプロパティにバインドされている他のコントロールもあります。
孤立したプロジェクトでこれをテストしたところ、問題なく動作しましたが、実際のバグが何であるかを見つけるのに苦労していますか? 以前は機能していたコードが突然機能しなくなります。
私が得るエラーは次のとおりです(上記の例でオブジェクトの名前を使用した場合):
「DataMember プロパティの ChildObject が DataSource に見つかりません」
次の場合に失敗します。
奇妙なことに、 <System.Diagnostics.DebuggerStepThrough()> を削除してから、失敗したときに続行するだけで問題ありませんか??? しかし、実行時にはまだ失敗します。
誰かが私を正しい方向に向けることができるアイデアを持っていますか? 私がグーグルで見つけた最も近いものは、生成されたデザイナーコードの順序が混乱している可能性があるということです。機能していたコードが突然機能しなくなります。
この問題は行き来するようです。エラーが発生した後に続行すると、プログラムは問題なく続行されます。おそらくVSのバグです。しかし、実行時にエラーがまだ存在します。
この問題の原因は何ですか? 発生を止めるにはどうすればよいですか?
tsql - Business Objects Desktop Intelligence内のタイムスパンのフォーマット(BO Deski)
人間が読める形式(たとえば、1d 5h 2m 13s)で、指定された秒数(たとえば、16742秒)をフォーマットする方法を教えてもらえますか?
- BOフィールド式を使用する
か - T-SQL SELECTステートメント内から(秒単位の期間はSUM集計からのものです)?