2

Adempiereはデータベースを持っているものを使用していますOracle

Stock Codeというテーブルから呼び出されたウィンドウがありますM_StockCode

フィールドはCodeDescriptionです。

現在、Codeデータ型はNumberおよびDescriptionですVarchar2

、 、 で入力Sparepartしたい。Code 01Body RepairCode 02

Adempiereにデータを入力して保存すると、表示されるのはSparepartCode 1先行ゼロなし)

関数を入れてみましLPADたが、まだ失敗しています。

Adempiere インターフェイスとデータベースの両方に 01 を配置するにはどうすればよいですか?

どんな提案でも大歓迎です:)

4

2 に答える 2

3

NUMBERは先行ゼロを持つことができませんが、STRING可能です。

  1. 先頭にゼロを付けてコードをデータベース表に格納する場合は、 NUMBER ではなく VARCHAR2 を使用する必要あります

  2. 先頭にゼロを付けて数値を表示するだけの場合は、 TO_CHARを使用して数値を文字列に変換します。

例えば、

SQL> SELECT TO_CHAR(1, '00') FROM DUAL;

TO_
---
 01

LPADを使用することもできますが、結果のデータ型は数値ではなく文字列になることに注意してください。

例えば、

SQL> SELECT LPAD(1, 2, '0') FROM DUAL;

LP
--
01
于 2015-10-10T07:27:28.197 に答える
0

Adempiere では、アプリケーション ディクショナリを介してモデルを管理します。これは、リレーショナル データベースで使用されるデータ ディクショナリに相当します。

  1. システム管理者として Adempiere にログインします。
  2. メニュー オプションを選択しますApplication Dictionary->Table & Column
  3. M_StockCodeテーブルを選択し、そのウィンドウから []タブをクリックします。
  4. ここでコード列を選択し、必要に応じてフォームビューに切り替えます。
  5. ここで、ドロップダウンから文字列の参照値を選択し、長さを 2に設定します。
  6. 最後に、Synchronize ColumnAdmepiere にデータベースを変更させるボタンを押します。

このコードがある種の分類である場合、アプリケーション ディクショナリに新しい参照型を作成すると便利な場合があり、それを列に指定できます。これにより、一貫性が確保され、値を入力するのではなく、選択できる選択肢がユーザーに提供されます。参照は、短いリストに便利なリスト型、または分類がより不安定でユーザーが維持する必要がある場合に役立つテーブル駆動型にすることができます。

于 2015-10-13T09:44:12.567 に答える