階層エージェントを使用する前のアプリケーション。 1sエントリの「階層内」の演算子はリスト内の階層内に記述されます。

ゴロヴナ / ザク教徒

私たちはあなたとすべてについて話し合いたいと思っています ムービー1の機能、 同様に ムービークエリの構造。 デザインの機能は何ですか? この機能はアームとその可能なパラメータによってアクティブ化され、設計はアームなしで記述されます。 クレイジー mov 1c クエリのすべての設計と機能柔軟性と機能が豊富なデータを取得するプロセスが遅くなります。 これらの機能とデザインは完全にパワーアップされており、機能も完全にパワーアップされています。

動画1sの機能

賢明な説明の断片 1c動画機能これについてはかなり前に説明しましたが、設計の説明の下で、機能自体について検討し始めることにしました。 次に、その意味、構文、アプリケーションなどを説明しながら詳しく見てみましょう。

1. 関数 日付時間- この関数は、「日付」タイプの定数フィールドを作成します。

構文: 日付時間(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

ヴィコリスタンのお尻:

2. 多彩な機能- 2 つの日付の差を 1 次元 (日、月、日、年、年、秒) で回転します。 値はパラメータに転送されます。

構文: REALIZEDDAT(<Дата1>, <Дата2>, <Тип>)

ヴィコリスタンのお尻:

Request.Text = "VIBRATI | REZNESTDAT(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | YAK コルヴォドニフ";

3. VALUE関数- データベースから事前に値が設定されたレコードを含む定数フィールドを指定します。また、任意のタイプの空のメッセージを削除することもできます。

構文: VALUE(<Имя>)

ヴィコリスタンのお尻:

Request.Text = "VIBRATI //ズーム要素 | VALUE(Dovidnik.Currency.Dolar) YAK ドル, //空のメッセージ | Physiova) YAK PhysOblicya, / / ズーム ラフノク |

4. VIBIR機能- 1C クエリで修正されるのと同じように、コード内で修正される設計の類似物が私たちの前にあります。

構文: ビビル・コリ<Выражение>トーディ<Выражение>さもないと<Выражение>キネッツ

ヴィコリスタンのお尻:

Request.Text = //金額が 7500 ルーブルを超える場合、300 ルーブルが減額される可能性があります。 //そのため、この関数が使用されます。 //金額を - 300 に変換します。 //単純に回転するのと同じ方法です。金額 "VIBRATI | VIBIR | WHEN PM Nadhodzhennya .Suma > 7500 | TODI TCHNadhodzhennya.Suma - 300 | Inakshe TCHNadhodzhennya.Suma |

5. 機能ビラシティ- 定数フィールドを曲のタイプで表現できます。

構文: VIRAZITY(フィールド名 YA タイプ名)

ヴィコリスタンのお尻:

Query.Text = "VIBRATI RIZNI | Sales.Registrar.Number, | VIBIR | WHEN Sales.Registrar POSILANNYA Document.Vidatkova | 実装 | TODI VIRAZITI (Sales.Registrar YAK Document.Implementation) | KINETS | ... | K ІNETS YAK 番号| Z | RegisterAccumulation.Purchases YAKPurchased";

もう 1 つのオプションは、混合タイプのフィールドで VARIATE 関数を使用することです。どこでそれらを近づけることができるでしょうか? 最も単純な例は、あらゆるレジスターの「レジストラー」です。 次に、レジストラにタイプを確認する必要があるでしょうか? 状況を見てみましょう。レジストラから「番号」フィールドを選択した場合、どのテーブルから番号が入力されるでしょうか。 正解は皆さんからです! したがって、この手順を実行するには、VIRASITI の追加関数の型を明示的に指定する必要があります。

ヴィコリスタンのお尻:

Req.Text = "VIBRATI | VIRASITI(Nomenclature.Commentary YAK Row(300)) YAK Commentary, | VIRASITI(Nomenclature.Sum YAK Number(15,2)) YAK Sum |Z | Dovidnik.Nomenclature YAK

6. ISNULL関数(または NULL と綴られます) - フィールドのタイプが NULL の場合、別の関数パラメーターに置き換えられます。

構文: Є NULL (<Поле>, <ПодставляемоеЗначение>)

ヴィコリスタンのお尻:

NULL 型を値として最初に置き換える必要があることも重要です。 NULL を NULL と同一視するため、型 NULL を同一視することは常にナンセンスになります。 ほとんどの場合、NULL 値が結合テーブルに追加されます (内部タイプを除くすべてのタイプが結合されます)。

Query.Text = //命名法全体とそれに従って余剰を選択します //いずれかの命名法に余剰がある場合、フィールドは存在せず、フィールドは //NULL は値 0 に置き換えられます "SELECT | Text Nom.Posylannya, | Zalishok |Z |Dovdnik.Nomenclature YAK Nom |Live Z'ednannya RegisterAccumulation.GoodsInWarehouses.Suspended YAK GoodsInWarehousesZalishki |PZ (ProductsInWarehousesZalishki.Nomenclature = Nom.Posilannya)";

7. REPRESENTATION関数- リクエスト内の特定のフィールドを入力できます。

構文: 代表(<НаименованиеПоля>)

ヴィコリスタンのお尻:

Query.Text = "VIBRATI | REPRESENTATION(Viln_ZalishkiZalishki.Nomenclature) YAK 命名法、 | REPRESENTATION(Viln_ZalishkiZalishki.Warehouse) YAK 倉庫、 |

mov zapitiv 1s のデザイン

何よりも私たちはあなたを見ました ムービー1の機能、今が見るべき時が来ました mov zapitiv 1s のデザイン、悪臭は根と同じくらい重要です、始めましょう。

1. デザインポシランヤ- は、メッセージの種類をチェックするための論理演算子です。 ほとんどの場合、これは、折り畳まれた型のフィールドで特定の型をチェックするときに発生します。 構文: ポシランヤ<Имя таблицы>

ヴィコリスタンのお尻:

Query.Text = //レジストラの値のタイプは Pributkov のドキュメントであるため、 //その後、順番に「商品の信頼性」、それ以外の場合は「商品の販売」と書かれます。 "VIBRATI | VIBIR | WHEN Zalishki.Registrar POSILANNYA Document . "" Vitrata "" | KINETS YAK Vidi ruhu | Z | レジスターの蓄積。

2. デザインМІж- このオペレータは、範囲表示の値を確認して入力します。

構文: ミズ<Выражение>І<Выражение>

ヴィコリスタンのお尻:

Request.Text = //コードが 1 ~ 100 の範囲にあるすべての命名規則を削除します。 "VIBRATI | Nomenclature. Posilannya | Z | Dovidnik. Nomenclature YAK Nomenclature | DE | Nomenclature.

3. デザインBとB ІЄARCHY- 転送されるリストに値が含まれているかどうかを確認します (配列、値のテーブルなどをリストに転送できるため)。 オペレーター B ІЄARCHY を使用すると、階層を表示できます (Vikoristan Plan Rakhunkiv の例)。

構文: で(<СписокЗначений>)、ІЄARCHІЇ(<СписокЗначений>)

ヴィコリスタンのお尻:

Request.Text = // すべての subrahunki rakhunkovy を選択 "VIBRATI | Gosprozrakhunkovy. Posilannya YAK Rakhunko | Z | Plan Rakhunko. Gosprozrakhunkovy YAK Khozrozrakhunkovy | DE | Gosprozrakhunkovy.

4. 特に建設- この関数を使用すると、行テンプレートから行を回転できます。

構文: 素晴らしい」<ТекстШаблона>"

行パターンのオプション:

% - できるだけ多くのシンボルを収容できるシーケンス。

シンボルは 1 つで十分です。

[...] - 単一のシンボルであっても、中央にある四角い腕からの一連のシンボルであっても。 再配置は、範囲 (たとえば、a ~ z) に設定できます。これは、範囲の末尾を含む、範囲の前にある最後の文字を意味します。

[^...] - 四角形の腕の中央にあるリストの単一のシンボル、または一連のシンボル、および十字記号の後ろにリストされているシンボルのいずれか。

ヴィコリスタンのお尻:

Request.Text = //ルート TABUR の配置方法の完全な命名法がわかっており、 //小さな文字または大きな文字「VIBRATI | 命名法。Posilannya | Z | 命名法 YAK 命名法 | DE | 製品。命名法も同様です」 "" [Tt ]abur%""";

5. 建設許可- この演算子を使用すると、読み取り権限のあるデータベースからレコードを選択できます。 これらの権利は、レコード レベル (RLS) では調整できません。

構文: キーワード VIBRATE の後に記述できます

ヴィコリスタンのお尻:

Request.Text = "VIBRATI PERMISSION | Counterparty.Posilannya |Z | Dovidnik.Counterparty YAK Counterparty";

6. サイズの構造- 毎日繰り返されるエントリを含むエントリを選択できます。

構文: ІЗНІはキーワードVIBRATEの後に記述されます

ヴィコリスタンのお尻:

Request.Text = // リーダーが権利を持つレコードを選択します "VIBRATIYIZNI | 取引相手. 名前 | Z | 顧問. 取引相手 YAK 取引相手";

また、RIZNI の構築は、ALLOWED 演算子や他の演算子と組み合わせて使用​​できます。

ヴィコリスタンのお尻:

Request.Text = // リーダーが権限を持つさまざまなレコードを選択します "SELECT PERMISSIONS | Counterparties. Name | Z | Advocate. Counterparties YAK Counterparties";

7. デザインパーシ- パラメータで指定された数のレコードをクエリ結果から選択します。

構文: パーシ<число>

ヴィコリスタンのお尻:

リクエスト Text = // ドキュメント「VIBRATE THE FIRST 4 | Numbers of the VMD.Posilannya | Z | The document」から VMD の最初の 4 つの番号を選択します。

8. 変化に対応したデザイン- テーブルをブロックできます。これはトランザクションでも機能します (特に自動ブロック)。

構文: 心のために<НаименованиеТаблицы>

ヴィコリスタンのお尻:

Cap.Text = "リバー |

9. 建設 ORDER BY- 歌唱分野に応じてデータを並べます。 フィールドはメッセージであるため、エンサインをインストールするときに オートアレンジバスエンサインが入力されると、メッセージはメモリ内のメールアドレスの年功順に並べ替えられます。

構文: 順番に<НаименованиеПоля>オートアレンジバス

ヴィコリスタンのお尻:

Request.Text = "VIBRATI | Vilni Zalishki Zalishki. 命名法 YAK 命名法、 | Vilni Zalishki Zalishki. CHIVANNYA";

10. デザイン GROUP BY- 歌唱フィールドの後ろの列をグループ化するために使用されます。 数値フィールドは、集計関数によって違反される可能性があります。

構文: グループ化<НаименованиеПоля1>, .... , <НаименованиеПоляN>

ヴィコリスタンのお尻:

Request.Text = "VIBRATI | GoodsInWarehouses.Nomenclature YAK Nomenclature, | GoodsInWarehouses.Warehouse, |warehouses.Warehouse";

11. デザインまゆち- DDE 設計と同様に、データ収集ブレインの集約関数を設定できます。

構文: まゆち<агрегатная функция с условием>

ヴィコリスタンのお尻:

Query.Text = // フィールドからグループ化されたレコードを選択します 3 "VIBRATI | 倉庫内の商品。命名法 YAK 命名法、 | 倉庫内の商品。倉庫、 | SUM (倉庫内の商品。 | 倉庫内の商品。命名法、 | 倉庫内の商品。倉庫 | |MIYUCHI|SUMA(ItemsInWarehouses.InAvailability) > 3" ;

12. デザイン INDEXUVATI BY- 検索フィールドはインデックス作成に使用されます。 インデックス付きフィールドの検索は、インデックスを作成する前に完了します。 仮想テーブルを活性化することもできます。

構文: インデックスバティ BY<Поле1, ... , ПолеN>

ヴィコリスタンのお尻:

Request.Text = "VIBRATI | Tz. OS 名、 | Tz. フォルダー番号、 | Tz. CodeOS、 | Tz. 用語、 | Tz. 種類 | ENTER データ Tz | .KodOS";

13. デザイン DE- 選択した分野であっても、心に影響を与えることができます。 結果として、心を満足させるだけの記録は無駄になってしまう。

構文: DE<Условие1 ОператорЛогСоединения УсловиеN>

ヴィコリスタンのお尻:

Request.Text = //任意の CompensationExcess からすべてのエントリを選択します<>0 і //AmountForRozchCompRemaining > 100 "VIBRATI | CompensationRRemains.Counterparty、 | CompensationRRemains.Ditina、 | CompensationRResults.CompensationRemaining、 | CompensationRpostach。Statti YAK CompensationRPostacs |DE |Compensation atsionRPOremains.CompensationSurplus<>0 | І CompensationRPORmains.AmountForRozchCompRemaining > 100" ;

14. バッグのデザイン... BEHIND THE COVER- 設計では、ポーチが影響を受けるフィールドと、ポーチ フィールドに設定される集計関数を指定します。 パウチの設計後、皮膚フィールドにパウチが存在しない場合には、データのグループ化が行われます。 カバーの目立たない構造とその構造により、さらにグループ化することもできます。 結果のお尻は洗い流されて下げられます。

構文: バッグ<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>PZ<ОБЩИЕ> <Поле1, ... , ПолеN>

ヴィコリスタンのお尻:

Request.Text = "VIBRATI | Rozrahunki.Agreement to Counterparty.Contract Type of Contract YAK TypeDogovir, | Rozrahunki.Agreement to Counterparty YAK Treaty, | Rozrahunki.Counterparty, | Rozrahunki.Agreement to Counterparty YAK Treaty, | Rozrahunki.Counterparty, |

小さな円は、最終検索中に作成されたグループを囲みます。最も顕著なのは「BACK」セクションに移動し、もう 1 つは「Contract to Counterparty to Contract」フィールドに移動します。

Dovdnik 1s とは何ですか?なぜ必要ですか? つまり、アドバイザーは精神的かつ永続的な情報を保存します。 情報は当面は変更されない可能性があります。 たとえば、「Nomenklatura」エージェントは、販売または生産される商品のオーバーフローを担当します。 同様に、証人は顔の見えない当局に復讐することができ、それが証人の要素を表します。

人間になることを目的とする場合、ここには変化と変化のリストがないため、この目的にはオーバーフローの方が適しています。

新しいドキュメントを作成したら、必ず写真を開始します。

あなたのブックマークをすべて見てみましょう。

主要

ここでは、名前 (データベース内の識別子) と同義語 (アカウントプロバイダーの名前) を指定します。 発言者の役割や特徴を説明するようなコメントをする必要はありません。

階層

このタブでは、追加要素の挿入の深さを調整できます。 追加の目的のために、特定の基準に基づいて設定を手動で分離し、調整することができます。 たとえば、「Shafi」製品は 1 つのグループに属し、「Stoli」製品は別のグループに属します。 やがて弁護士が代理人を務めることになる 要素のリスト。 第 2 Archarchical Advocate の旗を置くと、スキン要素を別の要素 (グループ) に従属させることができます。 以下は、このブックマークを調整し、ユーザー モードで表示を変更するためのオプションです。

階層のタイプ:

要素のグループの階層

このオプションを使用すると、ネストされた要素はグループ (フォルダー) にのみ含めることができます。

ここでは、ご覧のとおり、そのグループのすべての要素に新しいアイコンがあり、どの要素にも貢献することができます。

獣のグループを配置する

この比率が確立されている場合、グループは常に順序どおりになります。そうでない場合は、次のように並べ替え順に並べ替えられます。

複数の同等の階層の交換

ここには旗がないため、寄付金は交換されません。

旗が設置されると、ランクの数が以下に表示されます。

ヴラスニキ

在庫あり ヴラスニキ 特定の目的に応じて、他の代理人が完全に任命される場合もあります。 ライトアドバイザーのポストのスキームは、階層アドバイザーのポストのスキームに似ていますが、ここでは父親として、別のアドバイザーが現れ、リーダーと呼ばれます。 一般的な構成では、「Agreement」エージェントを「Counterparty」エージェントに従属させることをお勧めします。 相手方を拘束しない契約を結ぶことはできません。

「アドバイザーの権限リスト」フィールドは、このアドバイザーの要素を含むアドバイザーのリストを示す。

その下の「順序」フィールドには、このガイドの要素がどのように順序付けされるかが示されています。

階層型エージェントであるかどうかを認識する方法

なぜメタデータにアクセスする必要があるのですか?

CeІєерхічныйАвідній\u003d Metadata.Авідні.СãСãСãСãСãСãСІєrarchіchny;

引き続きフォローさせていただきました…

Dovdniki 1C は、Dovdnik の性質の静的情報を保存するために機能する特殊なメタデータ ツリー オブジェクトです。 たとえば、一般的な構成では、次のタイプが表示されます: 、命名法、機器、主な機能など。 アドバイザーから提供される情報は変更されません。 調査員は、地域の断面図と証拠情報として、地域のほぼすべての物体を調査し始めました。

以下では、付録「命名法」の適用に関するコンフィギュレータからの付録の調整と設計を見ていきます。

「基本」タブ

「基本」タブには、オブジェクトの名前、同義語、表現、および目的の説明が表示されます。

タブ「医師の階層」

ここでアドバイザーの階層的性質が確立されます。

1C 8.3 には 2 種類の階層があります - 要素のグループ「た」 要素」。 最初のタイプにはフォルダー (フォルダー) があり、もう一方のタイプには要素があることがわかります。

「獣のためにグループを整理する」 - 旗はリスト形式でグループを表示することを示しています。

また、設定では、リーダーの階層内の複数のグループを個別の設定に分割できます。

「ヴラスニキ」タブ

アドバイザーは別のアドバイザーに従属する場合があります。 1C 8.3 の構成を見ると、「Vlasnik」プロップは単純な要素になります。 標準構成「命名法 - 変動単位」、「取引先 - 取引先の契約」におけるプロバイダーの接続の例。

ドキュメントの作成者は、次のメタデータ オブジェクトである可能性があります: 、 。

「トリビュート」タブ

1C の 267 ビデオ レッスンを無料で視聴できます。

プログラマの観点から見て最も重要なタブ。 エージェントの詳細が含まれます。

アドバイザには、1C 8.2 プログラムによって編集されない一連の標準詳細が含まれています。これらのリストは、「標準詳細」ボタンをクリックすると取得できます。

スキンの詳細を詳しく見ていきます。

  • ツェグループ— グループと要素を示すブール型の小道具。 階層アドバイザーのみが利用できます。 敬意を取り戻す 1C: Entrepreneurship モードでは重要な詳細を変更することはできません.
  • コード- 小道具、行のタイプ (行の呼び出し)。 番号はシステムによって自動的に割り当てられます。 保険は原則として(フロントコード+1)となります。 数値の並べ替えは必要ほど簡単ではないため、行タイプ自体を使用することをお勧めします。 リストと入力フィールドで文書を提出する方法を確認できます。 原則として、導入時間以下の要素を連続して検索する必要があります。 「コード」フィールドを選択する必要がある場合は、行の一番下に「0」を入力します。
  • 名前●支柱、充填義務、通常タイプ。 行の最大長は 150 文字です。 リストと入力フィールドで文書を提出する方法を確認できます。 原則として、導入時間以下の要素を連続して検索する必要があります。 「名前」フィールドを選択する必要がある場合は、行の一番下に「0」を入力します。
  • 父親- ドヴドニク・ポシランニャのような小道具。<ИмяТекущегоСправочника>。 階層アドバイザーのみが利用できます。 階層における偉大な父親を指します。 アドバイザのルートで要素またはグループが見つかった場合は、値アドバイザが示されます。<ИмяТекущегоСправочника>。 空のポシランニャ。
  • ヴラスニク- dovdnikの流れ要素(グループ)の要素vlasnikに関するPosilannya。 利用可能 下位の 1C プロバイダーのみ.
  • ヴィダレンニャバッジ- ブール型の小道具。 リモートアイコンがシステムに表示されていることを示します。 削除された要素の指定は vikoristannya にとって不適切であると考えられ、新しい要素のプロテアは古い文書では失われる可能性があります。
  • ポシランニャ- 行タイプのフィールド。 その詳細については、一意のオブジェクト識別子 GUID が保存されます。 システム内で「メッセージ」という名前で視覚的に表現されるものは、オブジェクトの単なる表現にすぎません。 変えられない。
  • ズーミング— 理解しやすく、そして何よりも要素を表すブール型。 変えられない。

「データ」タブには、システム内のアドバイザーのデータも表示されます。バージョン 8.2.16 より前では、データにはコードや名前がありませんでした。 プラットフォームの新しいバージョン (8.3 以降) では、「送信処理の処理」セクションを使用して、送信をマネージャー モジュールで独立して記述することができます。

「ナンバリング」タブ

ここでは、番号付けのためのエージェントの調整が示されています。 自動番号付け自体を使用することをお勧めします。 一意性制御は、一意のコードを作成する必要がある場合に役立つルールです。 固有でないコードを持つ識別子要素を記録しようとすると、1C で「識別子コードが非固有になりました」という通知が表示されます。

一連のコードはアドバイザーに番号を付ける方法を示しており、リーダーのコンテキストでアドバイザーの番号を入力できます。 たとえば、取引相手「Rogi i Kopita」には、「1、2、3」などの独自の契約番号が付けられています。

「フォーム」タブ

証人の形式についてはここで説明します。 構成が基本モードと強化モードの両方で起動される場合、基本プログラムと強化プログラム用の「メイン」と「追加」という 2 つのタブが表示され、その後ろにフォームが表示されます。

この面では、証人の権威が重要です - 「」。 これは 1C 8 の非常に手動的な機能で、入力フィールドにデータを入力するときに、エディターに移動するのではなく、名前やコードなどを入力することができます。 をクリックし、リストから必要な項目を選択します。 次のようになります。

タブ「もっと見る」

このタブでは、ブラウザのメイン モジュール (オブジェクト モジュールとマネージャー モジュール) に簡単にアクセスできます。

このページには、ブラウザの重要な要素のリストもあります。 起業家精神体制から取り除くことのできない要素。 コンフィギュレーターから必要なすべての要素に、名前 (例: Authorities.Nomenclature.Service) で直接アクセスできます。

このタブには、ブロック モード (自動またはブロック) も示されます。 全文検索の検索とアドバイザーに関する追加情報は、1C: Enterprises モードで利用できます。

1C:Enterprise 8.x クエリの「IN HIERARCHY」設計では、指定された選択に従って階層構成オブジェクトの順序付けられた要素を選択できます。 今日の記事では、他の DBMS プラットフォームと生産性への影響だけでなく、生産性への影響についても見ていきます。

ヴィコリスタンニャ

ヴィコリスタンデザイン「IN ІЄARCHІЇ」のシンプルなお尻を見てみましょう。 現在のキャンペーンが終了する前に、階層指標「Goods」の順序付けされた要素が、変更「Posylannya」の転送値に対して削除されます。

テキスト Zapitu = "VIBRATI | 製品 。 ポシランニャ、| 製品 。 ベンダーコード |Z| ドヴィドニク 。 製品情報 ヤク|DE | 製品 。 ポシランニャ IN ІЄARCHІЇ(& ポシランニャ)"

テスト データベースには次のテスト データが含まれています。

もちろん、証人の記録のすべてが画像に表示されているわけではありません。 スクリーンショットは、階層アドバイザーのデータ ストレージの構造を示しています。 ガイド テーブルには上位レベルの 10 グループが保存され、各グループにはそれぞれ 200 要素を持つ 5 つのネストされたグループが含まれます。

テスト問題に移りましょう。 パラメータ「&Posilannya」はグループ「Group - 1」に転送されます(上の優れたスクリーンショット)。 すると、検索結果は次のようになります。

その結果、メッセージを最上位グループ自体 (パラメーターとして渡される) に変換し、その要素を含むグループ エントリを入力します。 したがって、「階層内」の勝利的構造により、階層的に順序付けされたデータを手動で削除できます。

mov クエリの構文 1C:Enterprises および 古典的なSQL特定の瞬間では非常に似ています。 ただし、式「B ІЄARARCHY」には、SQL クエリ言語に類似したものはありません。たとえば、プラットフォーム言語「B」の式には、同様の SQL 演算子「IN」があります。 このため、プラットフォームはこの演算子を選択して DBMS から動作します。

ラシュトゥンキの後ろ

さあ、見てみましょう。 vikorystvatimemo のお尻については、書く前に作者の「商品」の前に書かれます。 これらのプラットフォームを次の 2 つの状況について分析します。

  1. パラメータとして「&Posylannya」が上位グループ「Group 1」に渡されます(すでに行ったように)。
  2. パラメータは、上位グループ「グループ 1」に配置されるグループ「グループ 1 - 1」に送信されます。

さて、順番に。 最初のケースでは、プラットフォームには SQL サーバー上で次のアクションが含まれています。

1. SQL ステートメントは、パラメーターとして渡されたエージェント グループとそのすべての下位グループからメッセージを抽出することによって完成します。 結果は時間別テーブル「#tt1」にあります。

2. 会話の別の段階で、新しい質問が完成します。

スクリーンショットには、SQL クエリのテキストに関する詳細なコメントが含まれています。 つまり、このコマンドを使用すると、タイム テーブルに表示されるグループの順序付けされた要素を選択できます。 食料も奪われている:「娘たちは結婚式を終えるつもりなのか?」 ここでの答えは簡単です。最初のステップは、既にタイム テーブル (セクション 1) に配置されている、第 1 レベルのグループのサブ要素を削除することです。 次に、別のクエリが、別のレベルの下位グループの下位要素を選択します。 階層の 3 番目のレベルにはまだリーダーのグループが 1 つありますが、これはもう解決されません。

私たちの場合、もう一方のリクエストはおそらく空の結果であり、階層の 3 番目のレベルにあるレコードのフラグメントには従属要素がありません (同じグループはありません)。

3. クエリの最終結果を抽出するために、プラットフォームは次の SQL クエリを作成します。

クエリの結果自体は、インストールされているプラ​​ットフォームのアルゴリズムによってさらに処理できます。 したがって、クロック テーブル "#tt1" のレコードは、インジケータ テーブル "_Reference41" からの選択をインストールする目的で選択されます。

4. 最後に、1C:Enterprise 8.x プラットフォームはタイム テーブル「#tt1」を削除し、その結果、勝利はなくなりました。

この時点で、オペレーター「IN ІЄARCHІЇ」の訪問プロセスが完了します。プラットフォーム側のメッセージを最上位グループ「グループ - 1」に送信したときの、Vikonana の SQL サーバー上の一連のアクションを確認したことを思い出してください。 パラメータ「&Posylannya」が別のレベルのグループ「Group - 1 - 1」に転送された場合、プラットフォームはどのように動作しますか? 現時点を除いて、すべてが同様の順序になります。とりわけ、プラットフォームによる SQL クエリ変換の別の段階で、次の 2 つの従属要素を削除するために使用されることが書かれていました。グループ「Group - 1 - 1」に対する従属要素の抽出はそうではありません。 聞かれるのは1回だけです。

右側は、マイナー要素のコンテンツに対する多数のリクエストが階層の多数のグループに存在することを示しています。 言い換えれば、あるグループが要素の同等の階層に位置したい場合、そのグループは敗北します。 ポイント2から質問する.

生産性の向上

シーケンス内で演算子を誤って使用すると、システムのパフォーマンスが最適化されない可能性があります。 オペレーター「IN ІЄARCHY」には責任がないようです。 ただし、SQL クエリをデータベースに接続するアルゴリズムが複雑になり、DBMS サーバーへの影響が増大するため注意が必要です。

これらの疑わしい継承の最も一般的な名前につながる可能性のある最適ではない質問の例を示します。

ヴィブラティ製品。 ポシランニャ・Z・ドヴィドニク。 Tovari YAK Tovari DE (製品。Posilannya V ІЄARARCHІЇ (& Posilannya) ABO Tovari。Posilannya V ІЄARARCHІЇ (& Posilannya1) ABO Tovari。Posilannya V ІЄARARCHІЇ (& Posilannya2) )

ご想像のとおり、これは非個人的な SQL クエリの形成につながり、情報システムの生産性の低下を引き起こします。

始めましょう!

ヴィスノフキ・ロビティ君。 また、「U GROUP」、「U GROUP WITH LIST」などの選択肢があることを念頭に置いた場合、演算子「IN ІЄARARCHІЇ」はデータ構成システムのプラットフォームと見なされます。 開発者が誤った操作を行うと、非常に複雑な選択をインストールし、検索を 1C サーバーと DBMS に何度もプッシュできることを説明するのは簡単ではないと思います。 経験豊富なトレーダーのみ設定を変更しましょう。

そう、動力機構を書くときは演算子「IN ІЄARCHІЇ」に注目してください。 一方では非常に強いが、他方では不注意です。

このセクションでは、階層エージェントを使用する場合の最も一般的なタスクを適用しました。

階層アドバイザーの要素を下位の特定のグループから分離する

クエリから階層アドバイザの軽い要素を削除するために、設計は階層アドバイザに移行されました。 vikoristannya U ІЄARCHІЇのお尻:


振動する
命名法。
命名法.購入価格
Z

この場合、&Group グループ内にある命名規則のすべてのレコード (それ自体、サブグループ、サブグループに属する要素を含む) が削除されます。

グループのタスクに直接関係する要素やグループが奪われている場合は、バトコの分野に心を置くことで、そのような要素を取り除くことができます。 お尻:


振動する
命名法。
命名法 名前 YAK 名、
命名法.購入価格
Z
Dovidnik の命名法 YAK の命名法

DE
命名法.Batko = グループ

これにより、下位グループにあるグループと要素を「&Group」から選択するよう求められます。

インジケーター要素内の従属要素の存在を確認する

証拠要素の下位エントリの信頼性を検証するには、次のようなクエリを使用できます。

子要素の存在を確認する必要がある要素が送信されるアプリケーションでは、「Father」パラメータがフィールドに記録されます。 この質問の後は、結果を完全に確認する必要があります。 結果が空でない場合、レコードは順序付けされます。 それ以外の場合は、いいえ。 お尻:


ヤクチョ Refill.Viconati().Empty()Todi
Report("エントリがありません");
さもないと
Show("レコードє");
キネツヤクチョ;

すべての要素を削除する

当社の製品には、すべてのバッテリー要素を取り外すための特別な方法はありません。 viconics の場合、階層的な結果を迅速に生成できますが、階層的な結果の削除は多数のレコードから結果を生成するように最適化されており、単一要素のバッチを削除する場合にはあまり効果的ではありません。 要素のすべてのバッチ レコードをより効率的に削除するには、バッチを少しずつ並べ替えることをお勧めします。 お尻:


ExactElementNomenclature = ElementNomenclature;

Zapit = 新しい Zapit("VIBRATI
| Nomenklatura.Batko、
| 命名法.Batko.Batko、
| 命名法.バトコ.バトコ。
| 命名法。 父親。 父親。 父親。 父親、
| 名称.バトキ.バトキ.バトキ.バトキ.バトキ。

| Dovidnik の命名法 YAK の命名法
|DE
| Nomenclature.Posylannya = &CurrentElementNomenclature";

真実のサイクルまで
Request.InstallParameter("フロー要素の名称", フロー要素の名称);
結果 = Query.Viconati();
ヤクシュト Result.Empty() トーディ
割り込み;
キネツヤクチョ;
選択 = 結果。Select();
Vibirka.Offensive();
ColumnNumber = 0 の場合 Result.Columns.Quality() の場合 - 1 サイクル
ExactNomenclatureElement = Vibe[列番号];
割り込み;
さもないと
Povidomity(CurrentItemNomenclature);
キネツヤクチョ;
KіnetsCycle;

ヤクシュト ExactElementNomenclature = Dovidniki.Nomenclature.EmptyPosylannya() Todi
割り込み;
キネツヤクチョ;
KіnetsCycle;

どのアプリケーションでは、変更された要素の命名規則に記録されたメッセージのすべての情報がサービス通知ウィンドウに表示されます。 各サイクルには送信メッセージの 5 つのバッチがあります。

アドバイザ内のソースの数は限られており、少ないため、サイクルなしで 1 つのクエリですべてのソースを削除できます。

世界の階層顧問の出現

階層の節約から階層アドバイザを特定するには、現在のものと同様の式を使用する必要があります。


振動する
命名法。
命名法 名前 YAK 名、
命名法.購入価格
Z
Dovidnik の命名法 YAK の命名法
順番に
名前: 階層

このクエリはディレクトリからすべてのレコードを選択し、順序階層を作成します。 結果は、階層名の後ろにある順序になります。

話者のグループを要素だけでなく配置するには、この文でステップ上の命題 ORDER BY を置き換える必要があります。


順番に
Nomenclature.CeGroup ІЄARCHYYA、
名前

結果は、以前と同様に、階層の背後で順序付けされ、グループはより多くの要素に分割されます。

命題 ORDER BY を命題の自動順序に置き換えることも可能です。 そして、ここでは、順序付けの結果がインタープリタの調整と一致することになります。 文書に、罪を犯したグループに要素に対してより多くの報酬が支払われると記載されている場合、彼らにはより多くの報酬が支払われます。

バッグを使用してアドバイザーの階層構造を作成することもできます。


振動する
命名法。
命名法 名前 YAK 名、
命名法.購入価格

Z Dovidnik. 命名法 YAK の命名法

DE
(Nomenclature.TseGroup = FALSE)

名前で注文

階層からポーチを削除する

階層からポーチを削除するには、ポーチが割り当てられるフィールドを入力した後、PAD BAGS 提案にキーワード HIERARCHY を入力する必要があります。 階層からのバッグの内容を含む「命名規則の売上高」の例:


振動する

Z

命名法 ІЄARCHY

このリクエストを受けて、スキンカテゴリーだけでなく、同カテゴリーの対象となるグループ向けのバッグもリリースされることになりました。

要素ごとにポーチが必要なく、グループでのみポーチが必要な場合は、ポーチに TILKA HIARCHY のデザインを使用する必要があります。 お尻:


振動する
名称の外観Turnover.名称YAKの名称、
ターンオーバーの命名法の登場。 命名法。
LookNomenclatureTurnover.QualityTurnover YAKKilkistityTurnover
Z
蓄積をレジスターします。 命名規則の外観。
バッグバッグ(キルキストオービッグ)
命名法 TILKI ІIRARCHY

このクエリの結果として、命名法グループのないサブレコードが存在します。

© 2024 androidas.ru - Android のすべて