Quantcast
Channel: www.compiere-distribution-lab.net Blog Feed
Viewing all 1084 articles
Browse latest View live

【iDempiere PJ Reports】iDempiere 更新情報(2019年3月)

$
0
0

IDEMPIERE-3924:Implement EventHandler for pre/after/post processes(機能改善:Release-6.2)

プロセスの前後でイベントが発生して、処理を追加できるようになっている様子。

IDEMPIERE-3849:RUN_MonitoredSyncDB.sh(機能改善:Release-6.2)

関連するコンテンツ


【JPIERE-0437】使用しないアイコンの処理の制御

$
0
0

 ウィンドウの添付ファイルとポストイット、チャットアイコンについては、選択しているレコードに結びつくそれぞれのアイコンのデータがあると、アイコンが押された状態で表示されます。

 その処理は、アイコンが表示されていない場合でも行われていますので、アイコンが表示されていない場合は、その処理を行わない事で、パフォーマンスを向上させます。

カスタマイズ情報

クラス

  • org.adempiere.webui.adwindow.AbstractADWindowContent

【iDempiere PJ Reports】iDempiere Wiki更新情報(2019年4月)

$
0
0

Plugin: TMS(新規)

関連するコンテンツ

【iDempiere PJ Reports】iDempiere 更新情報(2019年4月)

$
0
0

関連するコンテンツ

【JPIERE-0438】テーブルとカラムインポート

$
0
0

テーブルとカラムのインポートプロセスです。

テーブルとカラムインポートテーブル

- テーブル

テーブルのフィールドグループでは、テーブルの設定がまとめられています。

テーブルのフィールドグループ
テーブルのフィールドグループ

◆DBテーブル名称(TableName)

この値から、テーブル(AD_Table_ID)を逆引きします。逆引きできない場合は、テーブルを新規作成します。

◆テーブル(AD_Table_ID)

DBテーブル名称(TableName)から逆引きされます。

◆テーブル(UU)(AD_Table_UU)

テーブルのUUIDを設定する事ができます。これはテーブルとカラムをインポートした後でも、2Packを使用する事ができるようにするためです。このフィールドがブランクであれば、UUIDは自動採番されます。このフィールドに値が入力されている場合は、UUIDはその値になります。

◆テーブル(名称)(JP_Table_Name)

AD_TableテーブルのNameカラムに代入される値を設定します。

◆テーブルの説明(JP_Table_Description)

AD_TableテーブルのDescriptionカラムに代入される値を設定します。

◆テーブルのコメント(JP_Table_Help)

AD_TableテーブルのHelpカラムに代入される値を設定します。

◆データアクセスレベル(AccessLevel)

AD_TableテーブルのAccessLevelカラムに代入される値を設定します。リストの検索キーの値を設定して下さい。

◆ビュー(IsView)

AD_TableテーブルのIsViewカラムに代入される値を設定します。"Y"か"N"、もしくは空欄のいずれかの値を設定します。

◆削除可能(IsDeleteable)

AD_TableテーブルのIsDeleteableカラムに代入される値を設定します。"Y"か"N"、もしくは空欄のいずれかの値を設定します。

◆大量データ(IsHighVolume)

AD_TableテーブルのIsHighVolumeカラムに代入される値を設定します。"Y"か"N"、もしくは空欄のいずれかの値を設定します。

- エレメント

エレメントのフィールドグループではエレメントの設定がまとめられています。

エレメントの名称等を更新する場合は、空欄にしておくか変更前の値と同じ値を入れておくと更新処理の対象外となります。

エレメント翻訳のフィールドグループに値を入力しておくと、選択した言語のエレメントの翻訳も更新する事ができます。

エレメントフィールドグループ
エレメントフィールドグループ

◆DBカラム名称(ColumnName)

この値から、エレメント(AD_Element_ID)を逆引きします。逆引きできない場合は、エレメントを新規作成します。

◆エレメント(AD_Element_ID)

DBカラム名称(ColumnName)から逆引きされます。

◆エレメント(UU)(AD_Element_UU)

AD_Element_UUの値を変更する事ができます。これは2Pack対応のためです。

- エレメントの翻訳

 

エレメント翻訳のフィールドグループに値を入力しておくと、選択した言語のエレメントの翻訳も更新する事ができます。

エレメントの翻訳フィールドグループ
エレメントの翻訳フィールドグループ

◆言語(AD_Language)

翻訳データの言語を設定します。言語設定がされていない場合は、翻訳データはインポートされません。

◆エレメント翻訳(UU)(AD_Element_Trl_UU)

AD_Element_Trl_UUの値を変更する事ができます。これは2Pack対応のためです。

- カラム

カラムのフィールドグループではカラムの設定がまとめられています。

カラムの設定を変更する場合は、空欄にしておくか変更前の値と同じ値を入れておくと更新処理の対象外となります。

カラムのフィールドグループ
カラムのフィールドグループ

◆カラム(AD_Column_ID)

DBカラム名称(ColumnName)から逆引きされます。

◆カラム(UU)(AD_Column_UU)

AD_Column_UUの値を変更する事ができます。これは2Pack対応のためです。

カラム同期

次の条件に合致する時には、カラム同期プロセスが実行されます。

  • 新規に登録したカラム
  • 長さ(FieldLength)カラムが更新された時
  • 必須(IsMandotory)カラムが更新された時
  • 外部参照キー制約タイプ(FKConstraintType)カラムが更新された時

カスタマイズ情報

テーブル

◆I_TableColumnJP

クラス

◆jpiere.base.plugin.org.adempiere.process.JPiereImportTableAndColumn

【JPIERE-0439】テーブルとカラム一覧レポート

$
0
0

テーブルとカラムの一連レポートです。

テーブルとカラムの設定のドキュメント代わりに使用する事と、この一覧レポートからデータをダウンロードして【JPIERE-0438】テーブルとカラムのインポートプロセスを使用して別環境にテーブルとカラムのデータをインポートする事を意図しているレポートです。

カスタマイズ情報

追加ビュー

  • JP_RV_TableColumn

関連するコンテンツ

【JPIERE-0440】プライスリストから品目原価更新

$
0
0

【JPIERE-0441】期末在庫評価 - 売価還元法

$
0
0

期末在庫評価方法に売価還元法を追加しました。

在庫評価プロファイルの設定

売価還元法の場合は、在庫評価プロファイルにプライスリストの設定は必須になります。

在庫評価計算

 在庫評価プロファイルに設定してあるプライスリストの品目価格をもとに在庫評価を行う方法です。

 iDempiereのプライスリストはプライスリストスキーマをもとに自動で作成する事ができます。プライスリストスキーマに原価率を設定しておけば、売価をもつプライスリストをもとに原価のプライスリストを簡単に作成する事ができます。そのプライスリストを使用して、在庫評価を行う方法です。

 売価還元法で在庫を評価する際には、評価日付と同じ日付のプライスリストのバージョンが存在する必要があります。そのプライスリストのバージョンに品目価格が存在しなかった場合は、品目原価の現在の原価で在庫評価されます。

カスタマイズ情報

更新クラス

  • jpiere.base.plugin.org.adempiere.model.MInvValProfile
  • jpiere.base.plugin.org.adempiere.process.DefaultInventoryValuationCalculate
  • jpiere.base.plugin.util.JPiereInvValUtil

追加リファレンス

  • JPiere Costing Method

追加メッセージ

  • JP_DateValue_PriceListVersion
  • JP_RetailInventoryMethod_PriceList
  • JP_Diff_Currency_PriceList-AcctSchema

【iDempiere Lab】iDempiere推奨ブラウザ

$
0
0

 ときどき、「iDempiereの推奨ブラウザは何ですか?」という趣旨の質問を受けます。

この質問への回答として私は「主要ブラウザなら大丈夫ですよ。」というような回答をしていますが、iDempiereでは、非推奨のブラウザを使用すると、ログイン画面に警告的にメッセージが表示されるようになっていますので、そのメッセージが表示されていなければ、推奨ブラウザという認識で良いかなと思います。

 試しに、IE11の開発者ツールで、IE6になりすまして、iDempiereのログイン画面にアクセスしてみます。

そうすると、画面右上に下記のメッセージが表示されています。

You might experience slow performance and user interface anomalies using your current browser to access the application. We recommend the use of Firefox, Google Chrome or Apple Safari."; 

 このメッセージは多言語化されていないので英文ですが、内容的には、使用しているブラウザでは、パフォーマンス的に悪くなる可能性と表示が意図した通りにならない可能性がある事と、推奨ブラウザが"Chrome"、"FireFox"、"Safari"である事の記載がされています。

 このメッセージを読むとiDempiereの推奨ブラウザが"Chrome"、"FireFox"、"Safari"だけかと思われていましますが、これはこのメッセージの内容が少し古くなってしまっているからで、基本的には、このメッセージが表示されなければ、そのブラウザは利用して大丈夫だと思って良いと思います。

 

 ブラウザの判定の処理は、WLoginクラスで行われています。

WLoginクラスのdoCreatePart()メソッドで、ログイン画面を作成する時にアクセスしているブラウザを確認して、推奨ブラウザでなければ上記メッセージを表示しています。

 

実際に判定処理しているAEnv#isBrowserSupported()クラスでは次のように実装されています。

ざっと読むとIEはバージョンが8以上が推奨ブラウザである事がわかります。

そして、Edgeが見当たらない事にも気が付くかもしれません。

2019年4月28日現在、Edgeはこの判定上"chrome"として判定されています。

これはバグ(不具合)というわけではなく、Edgeの内部でChromeが使用されているからだと思います。

実際、iDempiereのWeb-UIの開発フレームワークである、ZKのServletクラスでは、ブラウザ情報として次のように認識している事がわかります。

Edgeでアクセスした時のブラウザ情報
Edgeでアクセスした時のブラウザ情報

Edgeはchromeと同じという事で、推奨ブラウザと考えて良いのではないかと思います。

 

ちなみに、Operaもchromeと見なされていました。

オペラでアクセスした時にブラウザ情報
オペラでアクセスした時にブラウザ情報

 このようにアクセスに使用するブラウザよりも、ブラウザの中身の所で判定しているようですので、ログイン画面にメッセージが表示されていなければ、推奨ブラウザであるという認識で良いのではないかと思います。

 

 あとはiDempiereのWeb-UIの開発フレームワークであるZKのサポートブラウザを確認するのも良いかと思います。ZKがサポートしていれば、基本的にはiDempiereもそのブラウザをサポートしていると考えて差し支えないかなと思います。

上記リンク先の下部に、ZKがサポートしているブラウザが表示されています。

【JPIERE-0442】契約書で見積伝票をコピーして作成

$
0
0

契約書ウィンドウの契約書タブから、見積伝票をコピーして作成するプロセスです。

契約更新などの際に、見積を再度作成するという事はよくある事だと思います。

そのような場合に、契約書ウィンドウで、既に作成している見積伝票をコピーして新しい見積伝票を簡単に作成する事を目的としたプロセスです。

 

契約書で見積伝票をコピーして作成プロセス

契約書ウィンドウの契約書タブ
契約書ウィンドウの契約書タブ

◆コピー元見積伝票(必須)

コピー元となる見積伝票を選択します。

◆上書きする取引先

コピー元となる見積伝票が、作成したい見積伝票と異なる取引先の場合、作成したい見積伝票に入力する取引先を選択します。何も入力しないと、コピー元となる見積伝票と同じ取引先で、新しい見積伝票が作成されます。

契約書で見積伝票をコピーして作成プロセスの処理

組織

新しく作成する見積書の組織は、契約書の組織と同じ組織に作成されます。

組織倉庫

新しく作成する見積伝票の組織は、契約書の組織と同じ組織に作成されますので、倉庫は、その組織に所属する倉庫になります。

  • コピー元見積伝票と契約書が同じ組織の場合は、コピー元見積伝票の組織倉庫が、新規作成する見積伝票に設定されます。
  • コピー元見積伝票と契約書が異なる組織の場合で、その組織の組織情報に組織情報が設定されている場合は、その組織倉庫が新規作成する見積伝票に設定されます。
  • 上記のいずれにも該当しない場合は、新規作成する見積伝票の組織に所属する組織倉庫が、ランダムに1つ割り当てられます。
  • 上記のいずれにも該当しない場合はエラーになります。

新規作成する見積伝票の日付

新しく作成する見積伝票の日付が、作成する日付が代入されます。

伝票番号

新しく作成する見積伝票の伝票番号が自動採番でない場合は、作成した日時が伝票番号に代入されます。

伝票ステータス

伝票ステータスは草案で作成されます。

カスタマイズ情報

作成クラス

  • jpiere.base.plugin.org.adempiere.process.CreateEstimationByCopyAtContract

【JPIERE-0443】見積と契約テンプレートから契約内容作成

$
0
0

見積伝票と契約テンプレートから、契約内容を作成するプロセスです。【JPIERE-0433】見積と契約テンプレートから契約書を作成プロセスが、新規に契約書を作成するのに対して、このプロセスは、既存の契約書に新規に契約内容を作成します。

 

見積と契約テンプレートから契約内容を作成プロセス

見積伝票/手書伝票の伝票ステータスが"完成"もしくは"クローズ"の際に、実行する事ができます。

◆作成先契約書(必須)

契約内容を作成する契約書を選択します。

初期値として、見積伝票の契約書フィールドの値が自動設定されます。

◆契約内容テンプレート(必須)

契約内容を作成するために使用する契約内容テンプレートを選択します。

選択できる契約内容テンプレートは、作成先契約書で使用されている契約テンプレートに所属する契約内容テンプレートか、契約書テンプレートに属さない契約内容テンプレートです。

◆契約内容明細作成方針(必須)

契約内容明細を作成する際に、コピー元の情報を見積伝票の明細にするか契約内容明細テンプレートにするか選択する事ができます。

◆取引先(必須)

見積伝票は取引先マスタの入力は任意ですが、契約書を作成する際には必須となりますので、このフィールドで選択入力する事ができます。

◆取引先住所(必須)

見積伝票は取引先住所のマスタ入力は任意ですが、契約書を作成する際には必須となりますので、このフィールドで選択入力する事ができます。

【補足説明】

見積と契約テンプレートから契約内容を作成プロセスは、見積伝票から完全な契約内容を作成する事は意図していません。あくまでも契約内容の作成補助機能ですので、プロセスの実行後は契約内容を確認して適切に修正して下さい。

見積と契約テンプレートから契約内容を作成する処理の概要説明

見積と契約テンプレートから契約内容を作成プロセスは、【JPIERE-0433】見積と契約テンプレートから契約書を作成プロセスと同じクラスで処理しています。そのため、処理は【JPIERE-0433】見積と契約テンプレートから契約書を作成プロセスを参照して下さい。

技術情報

クラス

  • CreateContractfromEstimationAndTemplate

【JPIERE-0444】見積と既存契約書から契約内容を作成

$
0
0

見積伝票と既存の契約内容から新規の契約内容を作成するプロセスです。【JPIERE-0434】見積と既存契約書から新規契約書を作成プロセスが、新規に契約書を作成するのに対して、このプロセスは、既存の契約書に新規の契約内容と契約内容明細を作成します。

 

見積伝票と既存契約書から新規契約書を作成プロセス

見積伝票/手書伝票の伝票ステータスが"完成"もしくは"クローズ"の際に、実行する事ができます。

見積伝票ウィンドウ
見積伝票ウィンドウ

見積伝票の明細は、顧客に提示する用に自由に入力する事を意図しており、そのまま契約内容明細に使用する事はできないケースも多いと想定されるため、契約内容明細には引き継がれません。契約内容明細は、コピー元の契約書の情報をもとに作成します。

◆作成先契約書(必須)

契約内容を作成する契約書を設定します。

初期値として見積伝票の契約書フィールドに入力されている契約書が自動設定されます。

◆コピー元の契約書(必須)

契約内容と契約内容明細をコピーして作成するために、コピー元となる契約書を設定します。初期値として見積伝票の契約書フィールドに入力されている契約書が自動設定されます。

コピー元の契約書として選択できる契約書は、作成先契約書と同じ契約テンプレートをもつ契約書です。

◆コピー元の契約内容(必須)

コピー元の契約書で選択した、契約内容を1つ選択します。ここで選択した契約内容をコピーして、作成先契約書に新たな契約内容を登録します。

【補足説明】

見積と既存契約書から契約内容を作成プロセスは、見積伝票から完全な契約内容を作成する事は意図していません。あくまでも契約内容の作成補助機能ですので、プロセスの実行後は契約内容を確認して適切に修正して下さい。

見積と既存契約書から新規契約書を作成プロセスの処理概要

見積と既存契約書から契約内容を作成プロセスは、【JPIERE-0434】見積と既存契約書から新規契約書を作成と同じクラスで処理しています。そのため、処理は【JPIERE-0434】見積と既存契約書から新規契約書を作成を参照して下さい。

技術情報

クラス

  • CreateContractfromEstimationAndContract

【iDempiere PJ Reports】New release of SmartPOS 5.1

【iDempiere標準業務機能】会計カレンダー

$
0
0

会計カレンダーをオープン/クローズする事で、伝票の登録を制御する事ができます。

例えば、20XX年4月の会計カレンダーをクローズにすると、20XX年4月の伝票は完成にする事ができません。

会計期間がクローズされていた場合のエラー表示
会計期間がクローズされていた場合のエラー表示

会計カレンダーウィンドウ

カレンダータブ

必ず1つはベースとなるカレンダーが必要です。ベースとなるカレンダーはクライアントウィンドウのクライアント情報タブに、ベースカレンダーとして設定します。

カレンダーのオープン/クローズは、ベースカレンダーに対して行います。

カレンダータブ
カレンダータブ

カレンダーはいくつでも登録する事はできます。ベースカレンダーが、オープン/クローズで伝票の登録を制御するのに対して、それ以外のカレンダーは会計レポートで、レポート表示に使う事ができます。

 

年タブ

年タブではカレンダーの年度を作成します。

期間作成ボタンを押すと、期間タブのデータを一括で作成する事ができます。

◆開始日付

会計年度の開始日付を入力します。

◆日付書式

作成する期間の名称の書式をyyyMMdd形式で指定する事ができます。

期間タブ

期間タブでは、1会計期間の開始日付から終了日付を指定します。

期間タブの子タブに期間管理タブがあり、ベース伝票タイプ毎にオープンクローズを制御する事ができます。

期間タブの全部オープン/クローズボタンを押すと、期間管理のベース伝票タイプ毎のオープン/クローズ処理を一括して行う事ができます。

◆期間アクション

  • オープン期間…会計期間をオープンにします。
  • クローズ期間…会計期間をクローズにします。
  • 期間永久クローズ…期間永久クローズ処理すると、その会計期間は再度オープンにする事はできません。

期間管理タブ

期間管理タブでは、ベース伝票タイプ毎にオープン/クローズを制御する事ができます。

【JPIERE-0445】契約内容から伝票作成(スポット契約)

$
0
0

契約管理において契約内容から伝票を作成する機能は、これまでは期間契約のみでしたが、スポット契約でも出来るようにしました。

契約内容タブ
契約内容タブ

◆伝票ステータス更新

伝票を作成した後で、ここで指定した伝票ステータス更新処理を実行します。

空欄の場合は、草案で伝票を作成します。

カスタマイズ情報

追加クラス

  • jpiere.base.plugin.org.adempiere.process.CreateDocFromSpotContractContent

追加カラム

  • JP_ContractContentテーブルにJP_Processing4カラムを追加

【iDempiere PJ Reports】iDempiere Wiki更新情報(2019年5月)

$
0
0

関連するコンテンツ

【iDempiere PJ Reports】iDempiere 更新情報(2019年5月)

$
0
0

IDEMPIERE-3967:SysConfig without cache(機能改善:Release-6.2)

システムコンフィグ設定で、定数となる文字列の最後に"_NOCACHE"とするとキャッシュ対象外になる様子…。

IDEMPIERE-3946:Upgrade to Tycho 1.4.0

関連するコンテンツ

JPiere6.2-2019年5月版インストールパッケージ公開

$
0
0

オープンソースのERP iDempiereのバージョン6.2(2019年5月18日までのiDempiere6.2の最終コミットを含む)に対応したJPiere6.2のインストールパッケージを公開しました。

JPiere6.2のインストールパッケージ

JPiere6.2のインストールパッケージとソースコードはOSDNで公開しています。

JPiere6.2バージョンの追加機能

JPiere6.2のインストールは、基本的にiDempiereのインストールと同じです。ここでは、主にJPiere6.1とJPiere6.2のインストールから実際に使用するまでの注意事項を掲載しています。

関連するコンテンツ

【なんでも研究日誌】SAML関連情報リンク集

$
0
0

iDempiere/JPiereでSAMLを使ったシングルサインオン(SSO)を実現するための関連情報リンク集。

SAML仕様

SAML実装の参考

techinfoofmicrosofttech.osscons.jp(マイクロソフト系技術情報Wiki)

OpenSAML3

OpenSAML 3

OpenSAML3公式サイト

Keycloak

Keycloak 日本語ドキュメント

OpenStandiaが提供しているKeycloakの日本語ドキュメント

その他

OneLogin SAML Developers Tool

OneLogin社が提供してくれているSAMLの開発者用のサービス。

【iDempiere Lab】DocActionボタンのラベル変更

$
0
0

DocActionというカラムは、iDempiereにとっては特別なカラムです。

伝票のステータスを更新するプロセスを実行し、ワークフローとも関係します。

DocActionのカラムは、JPiereでは"伝票ステータス更新"という翻訳をしています。

DocAction(伝票ステータス更新)ボタン
DocAction(伝票ステータス更新)ボタン

 

このDocActionボタンのラベルを変更したい場合は、DocActionエレメントの名称を変更すれば簡単に変更できますが、あるウィンドウだけラベルを変更したい場合は、どうすれば良いのでしょうか?

普通のフィールドであれば、そのフィールドの名称や翻訳を変更すれば、あるウィンドウだけラベルを変更する事は簡単にできますが、DocActionカラムに結びつくボタン場合は、フィールドの翻訳を変更しても、エレメントの翻訳が適用され、ウィンドウ毎にラベルを変更する事ができません。

 そこで、DocActionカラムに結びつくボタンのラベルをウィンドウ毎に変更する方法について調査及び研究し、その成果をまとめてみます。

ソースコード

DocActionのボタンのラベルは、WButtonEditorのsetValue()メソッドで設定されています。

WButtonEditor#setValue
WButtonEditor#setValue

DocActionボタンのラベルは、エレメントから名称を取得している事がわかります。

そのため、他のフィールドでは簡単に行えるウィンドウ毎のラベル変更が、DocActionだけはできません。

 しかしながら、ソースコードをよく読むと、システムコンフィグ設定のDOCACTIONBUTTON_SHOWACTIONNAMEの値をtrueにすると、違う処理になる事がわかります。

システムコンフィグ設定

システムコンフィグ設定でDOCACTIONBUTTON_SHOWACTIONNAMEの値を"Y"に設定してみます。

システムコンフィグ設定
システムコンフィグ設定

そうすると、エレメントの代わりに、DocActionに設定されているリストの中から、選択されている値のボタンのラベルに表示されるようになりました。

リストの選択値の翻訳が表示されているDocActionボタン
リストの選択値の翻訳が表示されているDocActionボタン

ウィンドウ設定

DocActionのボタンにリストの選択値を表示させる事ができるのが、ここまでの調査でわかりました。リストであれば、テーブル毎やウィンドウ毎に変更する事ができるので、ウィンドウ毎にDocActionのボタンのラベルを変更する事もできそうです。そこで、試しにやってみたいと思います。

リストバリデーションのリファレンス
リストバリデーションのリファレンス

DocActionカラムやフィールドに、作成したDocAction-JPiereというリストバリデーションのリファレンスを割り当てみます。"完成にしてね!!"とボタンに表示されれば成功です。

受注伝票のDocActionボタン
受注伝票のDocActionボタン

しかしなぜか表示されたのは、"完成にする"という名称です!!

この理由は、WButtonEditor#init()メソッドにありました。

DocActionボタンは割り当てられるリファレンスが固定で設定されています。REFERENCE_DOCUMENTACTIONの定数には135という"_Document Action"のリファレンスのIDが設定されています。

固定で割り当てられていますので、いくらカラムやフィールドで設定しても、無駄でした…。(T_T)

【結論】

2019年5月23日現在の結論として、DocActionボタンに表示する名称は、エレメントの名称か、_Document Actionのリストバリデーションの選択値かを選ぶ事はできるが、ウィンドウ毎には変更する事ができない。

Viewing all 1084 articles
Browse latest View live