質問 > フロント機能 > 【2.11.1】受注管理で受注商品の削除ができない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
FOX |
投稿日時: 2011/5/6 17:38
対応状況: −−−
|
半人前 登録日: 2009/6/2 居住地: 投稿: 16 |
【2.11.1】受注管理で受注商品の削除ができない 受注管理で受注商品の削除をしたいのですが、
受注商品の削除ボタンを押すと「最終保持ポイントがマイナス表示にならないように調整して下さい。」と 使用ポイントの部分に赤字で表示されてしまい、削除を完了できません。 使用ポイントは0に設定していますが、それでも赤字の表示が出てしまいます。 ご参考になるかは分かりませんが、色々と検証してみた結果、削除できた状況を下記に記載します。 (1)非会員の方の受注商品削除 (2)会員の所持ポイントが、削除したい受注商品で加算されるポイントよりも多く所持している状態での受注商品削除 (3)新規受注入力時の商品削除 どなたかご教授いただけませんでしょうか、宜しくお願いいたします。 ■環境(ホスティング:さくらインターネットスタンダード) EC-CUBEバージョン:2.11.1 サーバOS:FreeBSD ***.sakura.ne.jp 7.1-RELEASE-p16 FreeBSD 7.1-RELEASE-p16 #0: Wed Feb 16 08:10:36 JST 2011 root@***.sakura.ne.jp:/usr/obj/usr/src/sys/SAKURA11S i386 DBサーバ:MySQL 5.1.51-log WEBサーバ:Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e PHP:5.2.17 (date, libxml, openssl, pcre, zlib, ctype, curl, dom, hash, filter, gd, gettext, gmp, session, iconv, json, mbstring, mysql, SimpleXML, SPL, PDO, pdo_mysql, pdo_sqlite, posix, Reflection, standard, mysqli, soap, SQLite, exif, tokenizer, xml, xmlreader, xmlwriter, xsl, zip, cgi) GD:有効 (GD Version => bundled (2.0.34 compatible), FreeType Support => 1, FreeType Linkage => with freetype, T1Lib Support => , GIF Read Support => 1, GIF Create Support => 1, JPG Support => 1, PNG Support => 1, WBMP Support => 1, XPM Support => , XBM Support => 1, JIS-mapped Japanese Font Support => ) HTTPユーザーエージェント:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; YTB730; GTB6.6; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C) |
seasoft |
投稿日時: 2011/5/6 21:15
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 【2.11.1】受注管理で受注商品の削除ができない 斜め読みでレス書いています。外していたらゴメンなさい。
> 使用ポイントは0に設定していますが、それでも赤字の表示が出てしまいます。 使用ポイントではなく、加算の方の問題では? 加算 (+) を削除するということは、マイナスが発生しますので。
|
fukap |
投稿日時: 2011/5/7 10:50
対応状況: −−−
|
仙人 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 【2.11.1】受注管理で受注商品の削除ができない 私のテスト環境でも確かにその現象が確認できたので、
バグかなと調べてみましたら、以下のようなスレがありました。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7810&forum=8&post_id=37885#forumpost37885 対応状況を「発送済み」に変更してから、数量の変更を行うと、エラーが出なくなりましたが、 いかがでしょうか? |
FOX |
投稿日時: 2011/5/9 10:17
対応状況: −−−
|
半人前 登録日: 2009/6/2 居住地: 投稿: 16 |
Re: 【2.11.1】受注管理で受注商品の削除ができない seasoft様
御返答ありがとうございます。 せっかくアドバイスを頂いたのですが、もう少し詳しく教えて頂けると助かります。 管理画面では使用ポイントしか入力できないかと思いますが、加算の方の調整をすることもできるのでしょうか。 fukap様 御返答ありがとうございます。 アドバイス頂きました通り、発送済みに変更した後に削除することができました。 しかし、二つ気になる点があります。 1.一度発送済みにしてしまうと発送日が設定されてしまうみたいですが、発送日の編集ができないので、管理で間違いが起きてしまう気がします。 2.発送済みにした時点で、決済モジュールによってはクレジットカード決済が確定になってしまうということはないでしょうか。 以上の2点が気になりましたので、可能でしたら発送済みに変更することなく注文商品を削除したいのですが、変更は難しいのでしょうか。 ご教授頂けると助かります。 よろしくお願いします。 |
fukap |
投稿日時: 2011/5/9 13:24
対応状況: −−−
|
仙人 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 【2.11.1】受注管理で受注商品の削除ができない 下記リンク先の最後の方に、「新規注文時にポイントを計上する」カスタマイズが紹介されています。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7810&forum=8&post_id=37885#forumpost37885 とりあえずそれで「発送済み」にしなくても削除できると思います。 |
FOX |
投稿日時: 2011/5/9 17:46
対応状況: −−−
|
半人前 登録日: 2009/6/2 居住地: 投稿: 16 |
Re: 【2.11.1】受注管理で受注商品の削除ができない fukap様
ご提示頂いたリンク先のページのカスタマイズを施したら、削除することができました! 教えて頂き助かりました。 ありがとうございました。 |
wawawani |
投稿日時: 2011/5/16 21:11
対応状況: 解決済
|
新米 登録日: 2011/5/16 居住地: OSAKA 投稿: 3 |
Re: 【2.11.1】受注管理で受注商品の削除ができない 商品削除の処理の中で、ロールバックするポイントを計算しているsfGetRollbackPointを呼び出しているが、sfGetRollbackPoint内では注文ステータスを考慮していない。
sfGetRollbackPoint内で注文ステータスが発注済以外の場合0とするメソッドsfGetRollbackPointを下記SC_Helper_DB_Exに作成すると、どの様なステータスでも適切なポイントを計算して「受注管理で受注商品の削除ができない」問題を解決できると思います。 //ステータスが発送済みでない場合(ポイント加算していない場合)加算ポイントは0とする SC_Helper_DB_Ex /** * 受注番号、最終ポイント、加算ポイント、利用ポイントから「オーダー前ポイント」を取得する * * @param integer $order_id 受注番号 * @param integer $use_point 利用ポイント * @param integer $add_point 加算ポイント * @return array オーダー前ポイントの配列 */ function sfGetRollbackPoint($order_id, $use_point, $add_point) { $objQuery = new SC_Query_Ex(); $arrRet = $objQuery->select("customer_id, status", "dtb_order", "order_id = ?", array($order_id)); $customer_id = $arrRet[0]['customer_id']; //ステータスが発送済みでない場合(ポイント加算していない場合)加算ポイントは0 $status = $arrRet[0]['status']; if (ORDER_DELIV != $status) $add_point = 0; if($customer_id != "" && $customer_id >= 1) { $arrRet = $objQuery->select('point', "dtb_customer", "customer_id = ?", array($customer_id)); $point = $arrRet[0]['point']; $rollback_point = $arrRet[0]['point'] + $use_point - $add_point; } else { $rollback_point = ""; $point = ""; } return array($point, $rollback_point); } |
FOX |
投稿日時: 2011/5/18 10:54
対応状況: 解決済
|
半人前 登録日: 2009/6/2 居住地: 投稿: 16 |
Re: 【2.11.1】受注管理で受注商品の削除ができない wawawani様
ご返信が遅くなってしまい、申し訳ありません。 カスタマイズ方法を教えて頂き、ありがとうございます。 教えて頂いたカスタマイズを施してみましたら、 発送済みにステータスを変更したタイミングで、ポイントが加算される状態でも、削除することができました! 無事に解決でき、助かりました。 色々な対応策やアドバイスを下さいまして、皆様ありがとうございました。 |
wawawani |
投稿日時: 2011/5/19 22:27
対応状況: −−−
|
新米 登録日: 2011/5/16 居住地: OSAKA 投稿: 3 |
Re: 【2.11.1】受注管理で受注商品の削除ができない FOX様
不具合のご報告有難う御座いました。私も不具合が有りこちらを拝見させていただき、色々参考にさせて頂きました。 今回の不具合は、ポイント加算するタイミングを考慮せず、すべてのステータスで加算されている前提で実装されておりました。 またデフォルトで、発送済みにステータスを変更したタイミングで、ポイントが加算されるのは仕様バグに近い実装と感じています。 「完了」のようなステータスを作成しそのタイミングでポイント加算するべきです。例えば代引きの場合、入金前に「発送済み」に変更すると思いますし、そのタイミングでポイント加算されては困ると思います。(発送済みに設定した場合は、発送日付を記録するだけで十分) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |