コンピューター ウィンドウズ インターネット

1cのプログラムモジュールの構造はで構成されています。 共通モジュール。 プロジェクトデータは、いくつかの方法でシステムに入力できます

すべてのプログラムはで構成されています プログラムコードつまり、実際には、実行する必要のある任意の言語で記述された一連のアクションからです。

ただし、このプログラムはどこか、つまりどこかに作成する必要があります。 ほとんどの場合、プログラムコードは通常のテキストファイルで記述されます。 唯一の違いは、それらの拡張子が.txtではなく、.cppまたは.phpであるということです。

1Cプログラムはどこに書かれていますか?

1Cモジュールとは何ですか?

もちろん、1Cコードをテキストファイルに書き込むこともできます。 ただし、1C構成の概念があります。これには、設定のリスト、フォームテンプレートなどだけでなく、1Cプログラムコードも含まれます。 したがって、1Cコードは構成に保存されます。

前のレッスンですでに説明したように、構成は1Cオブジェクトで構成されます。 各1Cオブジェクトにはネストされたオブジェクトが含まれます。たとえば、ディレクトリにはいくつかの形式があります。

いくつかのネストされたオブジェクトを含む各1Cオブジェクトには、独自のモジュールがあります-特定の テキストファイルプログラムコードが含まれています。

オブジェクトに依存しないプログラムコードを記述できるオブジェクトに依存しないモジュールもあります。

したがって、1Cには「単一の」プログラムはありません。 各1C構成オブジェクトのプログラムコードを記述するためのモジュールのセットがあります。

1Cモジュールはどのように使用されますか?

プログラム全体は大きく2つのタイプに分けることができます。

  • オブジェクトメソッド
  • イベントへの反応。

メソッド..。 前に述べたように、1Cオブジェクトは、データとそれを処理する方法の両方を含む統合構造です。 これらのメソッドは、データを処理するために呼び出すことができる一連のアクション(メソッド)です。 このようなアクションの例DirectoryObject.Write()-辞書アイテムをデータベースに書き込みます。

多くの1Cオブジェクトのメソッドは、標準(つまり、1Cプラットフォームでプログラム)であり、プログラマーが1C言語で記述できます。 2番目の助けを借りて、1Cオブジェクトの機能を自由に拡張できます。

開発..。 イベントは他の多くの開発ツールにあります。 プログラムの目的は、起動時に何かを計算するだけでなく、ユーザーの作業を維持することでもあります。

カスタムイベント-ユーザーがボタンを押しました。 それに応じて、コードの一部が実行され、ユーザーのアクションに反応します。

システムイベント-1Cオブジェクトをデータベースに書き込みました。 システムイベント「オブジェクト記録」が発生しました。 ユーザー(ボタンを押した、または何か他のことをした)ではなく、システム自体によって引き起こされたイベントに対して発生する反応を構成することができます。 このようなイベントの顕著な例は、プログラムの開始時です。

1Cモジュールの実行順序

多くの言語では、「エントリポイント」などがあります。 これは、プログラムの起動時に実行される最初の行または関数です。

1Cには、クライアントのタイプごとに、そのようなエントリポイントがいくつかあります。 つまり、シッククライアントを起動すると、エントリポイントは1つになり、シンクライアントを起動すると、エントリポイントは異なります。 これにより、クライアントのタイプごとに異なる機能をプログラムできます。

対応するモジュールのエントリポイントは、それぞれシステムイベントBeforeSystemWorkingStart()およびAtSystemWhenStarting()のハンドラーです(つまり、順番に)。 これらの関数は最初に実行され、自動的に何かを開始できます。

何も自動的に開始されなかった場合、1Cインターフェースがユーザーの前で開き、すべてがそれに依存します。 彼はボタンをクリックします-このボタンを押すためのハンドラーが実行されます(これにより、何かを自動的に開始することもできます)。

1Cモジュールの操作

configuratorで生成されます。 モジュールは、構成ウィンドウを使用して開くことができます。

今日は、一般的なモジュールとは何か、それらが何であるか、それらが必要な理由、およびそれらの使用方法を理解します。 共通モジュールでは、複数のドキュメントで使用されている関数を取り出すことができます。 たとえば、ドキュメントの表形式のセクションで金額を計算します。

以前の記事で使用した古い構成を例として取り上げましょう。 倉庫への商品の到着と倉庫への商品のリリースの2つのドキュメントがあります。 どちらのドキュメントにも、表形式のセクションの行の金額を計算する手順があります。

各ドキュメントには、金額を計算するための同じコードが含まれています。

プロシージャMaterialsPriceOnChange(アイテム)
TabularSectionRow = Items.Materials.CurrentData;
TabularSectionRow.Sum = TabularSectionRow.Quantity * TabularSectionRow.Price;
手順の終了

今日はそれを一般モジュールに転送し、ドキュメントからそれを呼び出します。

金額を計算するための一般的なモジュールを作成します

それでは、始めましょう。まず、共通のモジュールを作成する必要があります。 これを行うには、コンフィギュレーターに移動し、「一般モジュール」項目を探して、「 右クリック新しいものを追加し、WorkSDokumentamiという名前を書きます。 次のコードを入力します。

また、プロパティウィンドウで[クライアント(管理対象アプリケーション)]と[サーバー]の反対側のチェックボックスを必ずオンにしてください。

次に、ドキュメントフォームモジュールのコードを少し変更する必要があります。 構成の左側で、商品の到着のドキュメントを探しています。ウィンドウを[フォーム]ウィンドウに展開し、[ドキュメントフォーム]をダブルクリックして、開いたフォームウィンドウで、下の[モジュール]タブに移動します。 このようなコードがあります

この手順は、伝票入庫の表形式セクションで数量を変更して金額を計算するときに機能します。

&OnClient



手順の終了

そして、この手順は、文書「商品の到着」の表形式のセクションで価格が変更され、金額が計算されると機能し始めます。

&OnClient

TabularSectionRow = Items.Materials.CurrentData;
TabularSectionRow.Sum = TabularSectionRow.Quantity * TabularSectionRow.Price;
手順の終了

これに置き換えます

&OnClient
手順材料変更時の数量(品目)
TabularSectionRow = Items.Materials.CurrentData;

手順の終了
&OnClient
プロシージャMaterialsPriceOnChange(アイテム)
TabularSectionRow = Items.Materials.CurrentData;
WorkWithDocuments.CalculateSum(TabularSectionRow);
手順の終了

お気づきのように、一見したところ1行しか変更されていないため、1行が別の行に置き換えられているように見える場合があります。 ただし、これは一例であることを忘れないでください。 実際、たとえば、複雑な数式を使用して計算を実行した場合、コードの量ははるかに多くなる可能性があります。この場合、コードは大幅に削減されます。

倉庫からの商品のリリースのドキュメントについても同じことを行い、コードの機能を実行してチェックします。 ここに私たちはあなたと一緒にいて、最初の共通モジュールを作りました、私は私の記事が誰かに役立つことを願っています。

印刷(Ctrl + P)

一般モジュール構成ツリーブランチにあるオブジェクトは、他の構成モジュールから呼び出すことができる関数とプロシージャのテキストを含むことを目的としています。
注意! 共通モジュールには、プロシージャと関数の定義のみを含めることができます.
見出しが示す一般的なモジュールの手順と機能 キーワード輸出は、グローバルコンテキストの構成要素の1つです。 組み込み言語のヘルプの「プログラムモジュールのソースコードのフォーマット」および「演算子」のセクションで、共通モジュールでのプロシージャの記述について詳しく学ぶことができます。
共通モジュールを編集するには、[構成]ウィンドウの[共通モジュール]タイプのオブジェクトのプロパティパレットで、[モジュール]プロパティの[開く]リンクをクリックします。 一般モジュールのテキストは、プログラムモジュールのテキストを編集するモードで1C:Enterpriseシステムのテキストエディタで編集するために発行されます。
構成の一部である共通モジュールは、構成の一部としてのみ保存されます。
Globalプロパティは、共有モジュールのエクスポートされたメソッドがグローバルコンテキストの一部であるかどうかを決定します。
GlobalプロパティがTrueに設定されている場合、共通モジュールのエクスポートされたメソッドは、グローバルコンテキストのメソッドとして使用できます。
GlobalプロパティがFalseに設定されている場合、プロパティは、メタデータ内の共通モジュールの名前と一致する名前でグローバルコンテキストに作成されます。 このプロパティは読み取り専用です。 このプロパティの値はCommonModuleオブジェクトです。 この共通モジュールのエクスポートされたメソッドは、このオブジェクトを介して利用できます。 したがって、非グローバル共通モジュールのメソッドの呼び出しは、XXXXX.YYYYYのようになります。ここで、XXXXXは共通モジュールのコンテキストに対応するプロパティの名前であり、YYYYYは共通モジュールのエクスポートされたメソッドの名前です。
例:

トレーディング機器を使用します。ConnectBarcodeスキャナー();

さまざまなコンテキストと共通モジュール

共通モジュールとプリプロセッサ命令のプロパティを使用して、必要なコンテキストで共通モジュールのさまざまなメソッドの実行を整理できます。
共通モジュールの各プロパティは、特定のコンテキストで共通モジュールをコンパイル(および実行)する役割を果たします。
共通モジュールのメソッドが使用可能なコンテキストを担当する次のプロパティを使用できます。
クライアント(通常のアプリケーション)-共通モジュールのメソッドは、通常のアプリケーションモードでファットクライアントで使用できます。
●-共通モジュールのメソッドは、シンクライアント、Webクライアント、およびのシッククライアントで使用できます。
マネージドアプリケーションモード。
●サーバー-共通モジュールのメソッドがサーバーで使用可能になります。
外部接続-共通モジュールのメソッドは、外部結合で使用できます。
複数のプロパティが同時に設定されている場合、これは、共通モジュールのメソッドが複数のコンテキストで使用できることを意味します。
共通モジュールにServerプロパティとその他のプロパティが設定されている場合、これは、共通モジュールがサーバーと選択したクライアントで同時に使用できることを意味します。 実際には、コンパイルされたコードのいくつかのバージョンになることを理解する必要があります(選択されたクライアントの数とサーバー自体に応じて)。
この場合、そのような共通モジュールにあるメソッドがクライアント側から呼び出されると、共通モジュールのクライアントコピーが使用され、サーバーから呼び出される場合はサーバーコピーが使用されます。 この場合、プリプロセッサディレクティブ(詳細はこちら)を使用して、サーバーで実行できないコードからサーバーを「保護」できます。
例を見てみましょう。 共通モジュール(シンクライアントとサーバーで実行できます)には、シンクライアント側とサーバー側で動作がわずかに異なるメソッドがあります。 これを行う方法を見てみましょう:



#シンクライアントの場合
//警告を表示します
ユーザーアラートを表示(「クライアント上」);
#EndIf
手順の終了
次に、サーバー側では、コードは次のようになります。
手順 CommonModule()メソッド書き出す
//さまざまな重要なコードがここにあります
手順の終了
シンクライアント側では、コードは次のようになります。
ProcedureCommonModuleMethod()エクスポート
//さまざまな重要なコードがここにあります
//警告を表示します
ShowUserNotification(「クライアント上」);
手順の終了

クライアントからサーバーに制御を移すには、いくつかの方法があります。
●サーバー共通モジュールのメソッドを呼び出します。
●フォームまたはコマンドモジュールで、コンパイルディレクティブが前にあるメソッドを呼び出します &AtServer、&AtServerWithout Context

同時に、クライアント共通モジュール(Serverプロパティが設定されていない)のメソッドと、フォームモジュールまたはコマンドモジュールのクライアントメソッドをサーバープロシージャから呼び出すことはできません。 サーバーメソッドへの最も外側の呼び出しが完了した後、制御はクライアントに戻ります。
例外は、フォームモジュールとコマンドモジュールのメソッドで、その前にコンパイルディレクティブがあります。 &OnClientOnServer, &OnClientOnServerWithout Context
また言及する価値があります 以下の点:
●共通モジュールが複数のクライアントで使用できる場合は、プログラムコードを作成するときに、クライアントが課すことができる最大の制限を考慮するか、プリプロセッサ命令を使用して特定のクライアントに固有のコードを「分離」します。
●プリプロセッサ命令は、1つの共通モジュールに複数の実行コンテキストがある場合にも意味があります。たとえば、外部接続とシンクライアント、または(はるかに一般的ですが)クライアントとサーバーです。 この場合、プリプロセッサ命令は、サーバーでは使用できないがクライアントでは使用できるインタラクティブコードをフレーム化します(上記の例を参照)。
プリプロセッサ命令とコンパイルディレクティブの詳細については、埋め込み言語ヘルプの「プロシージャと関数の実行」セクションを参照してください。
Call serverプロパティは、クライアントコードからサーバー共通モジュールのエクスポートされたメソッドを呼び出す機能を制御するために使用されます。
プロパティが設定されている場合、サーバー共通モジュールのエクスポートされたメソッドをクライアントから呼び出すことができます。 プロパティが設定されていない場合、そのようなエクスポートされたメソッドは、サーバー側のメソッド(サーバー側の共通モジュールのメソッドと、フォームモジュールおよびコマンドモジュールのサーバー側のメソッドの両方)からのみ呼び出すことができます。
助言 。 サーバー共通モジュールにクライアントから呼び出したくないメソッドが含まれている場合(セキュリティ上の理由など)は、CallserverプロパティをFalseに設定することをお勧めします。
ノート..。 プロパティが同時に設定されている場合 クライアント(通常のアプリケーション), クライアント(管理対象アプリケーション), 外部接続の場合、サーバー呼び出しプロパティは自動的にクリアされます。 サーバーの呼び出しプロパティが設定されている場合、プロパティは自動的にリセットされます クライアント(通常のアプリケーション), クライアント(管理対象アプリケーション)外部接続これらのプロパティが同時に設定された場合。
財産 特権共通モジュールのメソッドを実行するときにアクセス制御を無効にすることを目的としています。
ノート。 プロパティの場合 特権が設定されると、サーバープロパティが自動的に共通モジュールに設定され、残りのプロパティがリセットされます( クライアント(通常のアプリケーション), クライアント(管理対象アプリケーション)とで 外部接続)。 特権共有モジュールはサーバー上でのみ実行できます。

戻り値の再利用

共有モジュールがグローバルでない場合、戻り値の再利用プロパティが使用可能になります。 このプロパティは、次の値を取ることができます。
●使用しない-戻り値の再利用は、この共通モジュールの機能には使用されません。
●コール時およびセッション時—データの再利用を決定する方法が共通モジュールに使用されます。 このメソッドの本質は、コードの実行中に、システムが関数の最初の呼び出し後にパラメーターと関数の結果を記憶することです。 同じパラメータで関数が再度呼び出されると、関数自体を実行せずに、保存された値が(最初の呼び出しから)返されます。 関数が実行中にパラメーターの値を変更した場合、関数の2回目の呼び出しはこれを行いません。
通話結果を保存する次の機能を区別できます。
●関数がサーバー上で実行され、サーバーコードから呼び出された場合、パラメーター値と呼び出し結果はサーバー側の現在のセッションに保存されます。
●関数がシッククライアントまたはシンクライアントで実行される場合、パラメーターの値と呼び出し結果はクライアント側に保存されます。
●関数がサーバー側で実行され、クライアントコードから呼び出された場合、呼び出しパラメーターの値は、クライアント側とサーバー側(現在のセッション)の両方で記憶されます。
保存された値は削除されます:
●プロパティがに設定されている場合呼び出し時に:
●サーバー側-サーバーから制御が返されるとき。
●クライアント側-埋め込み言語の手順または機能が終了したとき トップレベル(組み込み言語の別のプロシージャまたは関数からではなく、インターフェイスからシステムによって呼び出されます);
●共通モジュールのプロパティがに設定されている場合セッションの期間中:
●サーバー側-セッションの終了時。
●クライアント側-クライアントアプリケーションが閉じられたとき。
保存された値は削除されます:
●サーバー、ファットクライアント、外部接続、シンクライアント、およびWebクライアントで、通常の接続速度(保存された値が計算されてから20分後、または最後に使用してから6分後)。
●シンクライアントと接続速度の遅いWebクライアントの場合-保存された値を計算してから20分後。
●欠品の場合 ランダム・アクセス・メモリサーバーワークフロー内。
●ワークフローを再開するとき。
●クライアントが別のワークフローに切り替えたとき。
値を削除した後、エクスポートされた関数の呼び出しは、最初の呼び出しと同様に実行されます。
共通モジュールのこのプロパティは、プロシージャの実行には影響しません。プロシージャは常に実行されます。

共通モジュールが戻り値を再利用するように設定されている場合、エクスポートされた関数のパラメータータイプにいくつかの制限が課せられます。 パラメータタイプは次の場合のみです。
●プリミティブ型( 未定義、NULL、ブール値、数値、文字列、日付).
●データベースオブジェクトへの参照。
●上記のタイプのプロパティ値を持つ構造。 この場合、パラメータのIDは、構造の「コンテンツ」によって制御されます。
エクスポートされた関数がオブジェクトを返す場合、実際には、キャッシュに格納されているオブジェクトへの参照が返されます。 この参照を受け取った後、オブジェクトの状態に変化が生じた場合、同じ関数を後で呼び出すと、実際に関数を実行せずに、すでに変更されたオブジェクトへの参照が返されます。 この動作は、(何らかの理由で)保存された値が削除されるまで続きます。 言い換えれば、戻り値を再利用して共有モジュールからの関数呼び出しの結果としてオブジェクトの状態を変更することは、実際の関数呼び出しの理由ではありません。 返されたオブジェクトのキャッシュは、
戻り値を再利用した関数呼び出し時の特権モードの状態。 この機能により、次の動作が発生する可能性があります。
●戻り値を再利用した関数呼び出し(最初の呼び出し)の実際の実行は、特権モードを有効にして行われました。
●機能実行時に、特権モードを無効にすると受信できないオブジェクトを受信しました。
●後続の関数呼び出しは、特権モードを設定せずに行われました。
●ただし、返されたオブジェクトのキャッシュがクリアされるか、実際の呼び出しが繰り返されるまで、関数は正式にアクセスできないオブジェクトを返します。
●特権モードを設定せずに最初の呼び出しが行われ、特権モードでは特権モードで受信できた可能性のあるオブジェクトが返されない場合も、逆の動作が当てはまります。

共通モジュールにプロパティがある場合 戻り値の再利用セッションの期間中、次のタイプの値に設定されます TemporaryTable Manager.
再利用が設定された共通モジュールの関数が同じ共通モジュールから呼び出された場合(たとえば、CommonModuleという名前で)、次の特性に注意してください。関数がMyFunction()という名前で呼び出された場合、関数は、関数が呼び出されるたびに実行されます... 保存された値を使用するには、関数をフルネームで呼び出す必要があります。
CommonModule.MyFunction()。
グローバルコンテキストメソッドは、メソッドが呼び出される場所に関係なく、サーバー側とクライアント側の両方ですべての再利用可能な値を削除します。 メソッドを実行した後 RefreshReusedValues()関数の最初の呼び出しは完全に実行されます。

このモジュールは、構成「ERP EnterpriseManagement2」を含むソリューションと統合するように設計されています。 プロジェクト志向の企業や組織に欠かせない!

機能性システム:
  • プロジェクト管理
  • プロジェクトの内容とタイミングの計画
  • プロジェクトのボリュームと配信のスケジューリング
  • プロジェクトの下請けおよび材料費の計画
  • 人事およびプロジェクトの労働計画
  • プロジェクトによる作業負荷と時間の管理
  • 実際のデータとプロジェクトイベントのログ
  • プロジェクト財務管理
  • 設計作業の派遣
  • プロジェクトのバージョン管理
  • プロジェクトの計画-事実分析
  • プロジェクトコミュニケーション管理
  • 知財管理
  • プロジェクトの評価と契約価格の計算
  • プロジェクト契約管理
  • プロジェクトドキュメント管理
  • プロジェクトのリスク管理
  • ポートフォリオとプログラムの管理
  • プロジェクト組織のリソース管理

プロジェクトデータは、いくつかの方法でシステムに入力できます。

  1. プロジェクトコントロールパネルから手動で;
  2. MSProjectとの間でデータをロード/アンロードします。
  3. システムに保存されているテンプレートからデータをロードします。
  4. 組み合わせた方法で:一部は手作業で、一部はMSProjectから。

さまざまな方法で作業をスケジュールできます。

  • プロジェクトマネージャーがプロジェクト計画を管理し、機能マネージャーが作業の実行を管理するようにします。 実行される役割を考慮して、労働力が割り当てられます。
  • プロジェクトマネージャーは、プロジェクト計画と作業の実行を管理します。 労働力は役割に関係なく割り当てられます。

システムのビジュアルツールキットを使用すると、マネージャーは、表形式、データツリー、ガントチャート、プロジェクトマイルストーンのマップ、ネットワーク図など、さまざまなビューでプロジェクトに関する情報を取得できます。 このシステムでは、プロジェクトマネージャー全体とは異なり、マネージャーを特定のプロジェクトタスクに割り当て、そのサブタスクを自動的に割り当てることができます。

このソリューションは、商業用不動産の所有者、管理会社、建設および開発組織を対象としています。 この製品は、不動産オブジェクトの登録の維持、テナントとのリース契約および決済の管理、および不動産オブジェクトの運用のプロセスを自動化することにより、企業のビジネスの効率を高めることを可能にします。 このプログラムは、会計、管理、法務および管理会計の問題に対する解決策を提供します。

解決策の可能性:
  • 発行された請求書(計画債務)に基づくテナントとのアカウントの決済、オブジェクト、サービス、および期間の分析による請求書の支払いの制御。
  • 家賃の固定部分と変動部分の支払い条件の個別の割り当てと管理。
  • 実際の(行為による)債務と計画された(請求書による)債務の両方に基づいて、延滞に対する罰金を計算する可能性。
  • 可変部品サービスのコストを計算するための任意の式の使用(たとえば、さまざまなアルゴリズムに従ったテナントの取引高からの利息の発生)。
  • 1つの可変部品サービスに数メートルの消費量を使用する。
  • 可変部品サービスに個別の料金と均一な料金の両方を割り当てる可能性。
  • 不動産検査の管理;
  • 単一の構成内で、今後のソリューション「建設組織2.0のERP管理」および「モジュール1C:不動産業者。1Cの不動産販売管理:ERP」との共同使用の可能性。
ソリューション「モジュール1C:1Cの車両管理:ERP」の可能性:
  • 車両の注文の会計処理。
  • 運送状の発行と処理。
  • 標準および実際の燃料消費量の計算。 標準燃料消費量を計算するためのすべてのアルゴリズムは、2015年7月14日付けの運輸省の命令NNA-80-rに従って実装されています。 このソリューションにより、無制限の数の機器とトレーラーを備えた車両の燃料消費量を追跡できます。
  • 燃料および潤滑油の受領、消費および償却の会計処理。
  • ナンバープレートとバッテリーの登録;
  • 衛星監視システムとの統合。
  • さまざまなパラメータの運送状での生産の計算。 主なパラメータ(走行距離、貨物重量、貨物回転率、注文時間、アイドル時間など)はシステムで事前定義されています。 参考書を使用して、任意の生産パラメータをカスタマイズし、この情報をさらに分析することができます。

プラットフォームモジュール1C:Enterprise 8.3、8.2

共通モジュール

このようなモジュールで「エクスポート」フラグを使用して宣言された関数は、構成内のどこからでも呼び出すことができます。 呼び出しは、CommonModuleName.FunctionName()を介して行われます。

このようなモジュールには可変セクションはありません。

共通モジュールの実行は、それらのプロパティで設定されたパラメータによって異なります。

フラグ「グローバル」

このフラグが設定されている場合、そのようなモジュールのコンテキストはグローバルになります。 つまり、エクスポート機能にアクセスするときに、モジュール名を指定する必要はありません。 ただし、そのエクスポート関数の名前は、グローバル構成コンテキスト内で一意である必要があります。

サーバーフラグ

このようなモジュールの機能は、サーバー上で実行できます。

クライアント(通常のアプリケーション)フラグ

このようなモジュールの機能は、通常のアプリケーションモードでクライアント上で実行できます。

クライアント(管理対象アプリケーション)フラグ

このようなモジュールの機能は、マネージドアプリケーションモードのクライアントで実行できます。

サーバー呼び出しフラグ

このフラグは、「サーバー」フラグが設定されているモジュールで使用できます。 このモジュールのエクスポート機能へのクライアントでの呼び出しを許可します(サーバーで実行されます)。

外部結合フラグ

このようなモジュールのエクスポート機能は、外部ソースから接続されている場合に呼び出すことができます。

「特権」フラグ

このようなフラグが設定されたモジュールでは、権限チェックが無効になります。 生産性または管理アクションに適しています。

再利用オプション

このパラメーターを有効にすると、エクスポート関数の戻り値は最初の呼び出しの直後にキャッシュされます。 キャッシングは、呼び出しの期間(特定のプロシージャの実行時間)またはユーザーセッションの期間中可能です。

アプリケーションモジュール

アプリケーションの起動イベントとシャットダウンイベントを処理するように設計されています。 通常のアプリケーションと管理対象アプリケーションの2つのタイプがあります。

アプリケーションの起動時間に影響するため、過負荷にしないでください。

セッションモジュール

セッションパラメータを初期化するために使用される特別なモジュール。 異なるアプリケーションモジュールでコードを複製しないようにするために必要です。

モジュールは複数回実行される可能性があり、さらにベースを起動せずに実行される可能性があるため、注意して使用する必要があります。 アプリケーションモジュールの前に実行されます。

よろしくお願いします(教師と開発者)。