1Cからのメールによる通知

なんで?


かつてこの問題に関する情報を見つけられなかったため、この記事を書くことにしました。

私は自分で解決策を探さなければなりませんでした。 念のために、私はそれをHabréに公開します-突然誰かが役に立つでしょう。



私は大規模生産で1Cプログラマーとして働いています。 その特性により、雇用主は多くの場合、さまざまな調整システムを使用してビジネスプロセスを編成するタスクを設定します。

そして、しばしば、そのような参照条件の重要な要件の1つは、システムでのアクションの作成について、または単に何らかの解決が必要であることを人に通知する能力です。 そのようなケースは数多くあります:新しい注文の承認、新しい命名法、それが起こる、セキュリティサービスはシステムに追加されたユーザーと権限を知っているか、何らかのITILシステムが組織されているか、上司は新しいタスクについて従業員に通知したいです。 などなど。



ほとんどの場合、ボスに通知する必要があります。 しかし、彼らはしばしば1か所に座らず、常に1Cを開いたままにして、他の方法で通知することを強く望みません。



そして、このような問題に対する最も簡単な解決策の1つは、私が見るように、メール通知を作成することです。つまり、受信者のメールボックスに通知を送信します。新しい手紙。 さらに、メッセージをメールに送信することは、1Cにとって非常に簡単な作業です。



 =  ;  =  ; .SMTP = "dmz-server17"; //   SMTP .SMTP = 25; //    =  ();  .();  ("    ,    !", .); ; ; . = «»; ..(«»); ..(«»);//   .        . = «»; .();
      
      







このコードは、ドキュメントを記述する前と、ボタンの「ハンドラー」の両方に配置できます。



マネージドフォームとWebクライアント


これはすべてうまく機能しているようで、「幸福の手紙」は適切な人々に届きますが、1つの障害があります。 これが通知レターだけでなく、何らかの応答が暗示されている場合(または詳細を反映する必要がある場合)、ユーザーは1Cプログラムに進み、目的のタイプのドキュメントのリストを開いて必要なドキュメントを見つける必要があります。 もちろん、私たちは彼の仕事を容易にし、手紙では手紙の日付と番号を示すことができますが、それでもユーザーが1Cを起動することになり、これを回避しようとしています!



これは、1Cプラットフォーム8.2がマネージドフォームとWebクライアントで救いをもたらす場所です。 詳細を説明しなくても、プロセスの本質は次のとおりです。Webサーバーが上昇し、そこで構成が公開されます。そして、ほとんどすべてのブラウザーで1Cで作業できるようになりました。

そして、ドキュメントが「日付」と「番号」の2つのパラメーターによって識別される前に、いわゆる「ナビゲーションリンク」が利用可能になりました。 その魅力は、ユーザーがクリックすると、1Cが参照するドキュメントをすぐに開き、ユーザーを検索から解放することです。



確かに、ここに1つあります:ナビゲーションリンクは、管理されたフォームでのみ機能します。 はい、標準構成の主な機能(1Cのスペシャリストが行わなかった)を長い間管理フォームに書き直しましたが、何らかの「内部組織」調整および通知モジュールについて話している場合、これは難しくありません。



これから次の解決策があります。ユーザーがすぐにリンクをクリックして目的のドキュメント(Webクライアント)に移動し、必要なことを行えるように、通知リンクにこのリンクを含める必要があります。 これはほんの数行で解決されます。



 …  = "http://__/#"+ (.);  = (,"""","%22"); ..("<a href =" + """" +  + """" + ">  № "+(.) + "  " + (.) + "</a>" ,.HTML); …
      
      







コードでは、パラメータ「ソース」がプロシージャに渡されます。これは「オブジェクト」(リンク)であり、このオブジェクトがこのプロシージャを呼び出します。



ナビゲーションリンクを使用する場合、1つのニュアンスを考慮する必要があります。 このリンクは、データベースに書き込まれるときにのみ作成され、オブジェクトに割り当てられます。 つまり、それが新しいドキュメントである場合、記録する前にこのナビゲーションリンクはありません。 このニュアンスは常に覚えておく必要があり、この問題には2つの解決策があります。ドキュメントへのリンクを自分で設定するか、「サーバーでの記録後」ハンドラーでレターを送信します。



1C 8.3.2


最近、1Cはプラットフォームバージョン8.3.2のリリースを発表しました。「機能」の1つは、構成をアプリケーションに「コンパイル」して、AndroidおよびiOSシステムにインストールする機能です。 この機能は非常に興味深いように思えますが、まだ「生」です。 しかし、すべてがうまくいけば、近い将来、そのような通知をメールだけでなく、電話に直接上司に送信することが可能になります-そのため、重要な問題から気を散らすことなく、どこにいてもさまざまなプロセスを調整できます。



All Articles