私はOdoo 8で12時間形式の特定の日時フィールドを表示し、選択可能にしたいと思っています。設定>翻訳>言語>編集>時間フォーマットですが、フォームビューのdatetimeフィールド。Odoo 8で特定の日時フィールドをフォーマットする方法は?
ご協力いただければ幸いです。
私はOdoo 8で12時間形式の特定の日時フィールドを表示し、選択可能にしたいと思っています。設定>翻訳>言語>編集>時間フォーマットですが、フォームビューのdatetimeフィールド。Odoo 8で特定の日時フィールドをフォーマットする方法は?
ご協力いただければ幸いです。
私はあなたには、いくつかのオプションがあり数える:
ソリューション0、簡単に。 write
またはcreate
ormメソッドのdatetimeフィールドを変換します。たとえば、25/11/2017 16:41:51
がフィールドに挿入されている場合は、25/11/2017 4:41:51
に変換する必要があります。これはOdooがデフォルトで12時間形式で行うものです。
解決策1、簡単。
<field name="date" widget="date"/>
そして、あなたは時間を設定するために、別のフィールドを作成することができます:このような日付のみを選択するようにフィールドを変更し time = fields.Float(
string='Time'
)
フォームで時刻の形式を表示するfloat_time
ウィジェットを使用することができます:あなたがしたい場合
<field name="time" widget="float_time" />
またwrite
またはcreate
方法で検証や変換を行うことができます。
解決策2、難しい。あなたは、新しいウィジェットを作成することができたり、DateTimePickerののスライダーを変更することができ、JavaScript関数あなたはまた、検証をオーバーライドする必要があり/addons_path/web/static/lib/jquery.ui.timepicker/js/jquery-ui-timepicker-addon.js
$.extend(Timepicker.prototype, {
// [...]
_injectTimePicker: function() {
// [...]
this.hour_slider = $tp.find('#ui_tpicker_hour_'+ dp_id).slider({
orientation: "horizontal",
value: this.hour,
min: o.hourMin,
max: hourMax, // this is the value to change
step: o.stepHour,
slide: function(event, ui) {
tp_inst.hour_slider.slider("option", "value", ui.value);
tp_inst._onTimeChange();
}
});
ファイルであり、私はそれを見つけるための簡単な方法がないと思います。この確認はwrite
とcreate
のmehtodでも簡単に行うことができます。
QWebビューまたはXMLビューですか? –
xmlビューです。私はqwebビューでそれを行う方法を知っています。 –
回避策を使用するには、時間を特定の形式で計算する依存フィールドを作成し、ビューでそのフィールドを使用できます。 これを行うと、レコードの作成と更新中に発生する値に注意する必要があります。 –