プラグイン > バグ報告・利用に関する質問 > 商品CSV登録で同じ名前の規格が増える |
バグ報告・利用に関する質問
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nakamori |
投稿日時: 2024/3/15 0:25
対応状況: −−−
|
常連 登録日: 2018/4/25 居住地: 投稿: 51 |
商品CSV登録で同じ名前の規格が増える [EC-CUBE] EC-CUBE4.2.2
[OS] AlmaLinux [PHP] PHP8.1 [データベース] MySQL 10.4.24-MariaDB [WEBサーバ] Apache/2.4 [ブラウザ] Chrome、FireFox最新版 [導入プラグインの有無] 有 [カスタマイズの有無] 有 [現象] 商品CSV登録で既存の商品を更新しようとすると、同名の規格が増えたり、在庫等のデータを更新できないという現象に悩まされています。 例えば商品ID10の商品にサイズS、M、Lと3種類の規格サイズがあった場合に、サイズSの在庫を増やそうと更新をかけると、商品ID10にサイズSのデータが2つできてしまいます。 また、元のサイズSと増えたサイズSに在庫数の異なるデータが入ってしまい、どちらも注文できてしまいます。 商品規格表示フラグを0にして更新をかけると、1つ非表示にはできたのですが、今度は在庫の変更が反映されません。 dtb_product_classを該当の商品IDで検索すると、visibleが0の在庫が更新されていることがわかりました。 お客さまも商品CSV登録による在庫付けに不安な日々を送られており、なんとか解決したいと思っています。 何か手立てはありますか。 |
tattsu |
投稿日時: 2024/3/15 8:11
対応状況: −−−
|
仙人 登録日: 2023/12/23 居住地: 投稿: 376 |
Re: 商品CSV登録で同じ名前の規格が増える >例えば商品ID10の商品にサイズS、M、Lと3種類の規格サイズがあった場合に、サイズSの在庫を増やそうと更新をかけると、商品ID10にサイズSのデータが2つできてしまいます。
>また、元のサイズSと増えたサイズSに在庫数の異なるデータが入ってしまい、どちらも注文できてしまいます。 CSV登録前から、同じ規格に対してvisible=1とvisible=0で2つのレコードが登録されてしまっているのでは、と思いました。 そうだとしても、原因はデバッグしてみないと分からないですが・・。 次のような理由で同様の現象が発生していた例をみたことはあります。 ・バージョンアップでデータ移行した時にデータが間違って登録されている ・プラグインやカスタマイズの不具合
|
nakamori |
投稿日時: 2024/3/15 14:45
対応状況: −−−
|
常連 登録日: 2018/4/25 居住地: 投稿: 51 |
Re: 商品CSV登録で同じ名前の規格が増える ありがとうございます。
引用:
そういうデータは確かに存在し、バージョンアップ前はdelf_lagを1にすることで 削除したいデータを非表示にすることができていました。 また、バージョン4へのデータ移行時に、visible=0を設定することで表からは見えませんでした。 visible=0のデータがずっと0のままなら良いのですが、CSV登録のタイミングでvisible=0から1に変わってしまうデータがあるようです 引用:
については、バージョンアップ後に新規で登録した商品(IDの新しい商品)に対しても同様の現象が報告されています。 新しい商品を登録した数日後に在庫変更のタイミングで同じ商品規格のデータが増えてしまうそうです。 (変更前の在庫と変更後の在庫のデータが両方とも見える形で公開されてしまいます) また、商品CSV登録の項目を追加・変更するようなプラグイン・カスタマイズは行ってなく、デフォルトのCSVフォーマットを使用しています。 色々条件を変えて(わざと重複しそうなCSVを作って)検証しているのですが、手元の開発環境では再現できなかったため、お客さまへのヒアリングを重ねている所です。 似たような事例や対処法をご存知でしたらご教授いただけると幸いです。 |
tattsu |
投稿日時: 2024/3/15 15:02
対応状況: −−−
|
仙人 登録日: 2023/12/23 居住地: 投稿: 376 |
Re: 商品CSV登録で同じ名前の規格が増える 3系ではdel_flg=1だとsoft_deleteフィルタによってそもそもデータの取得がされなかったのですが、4系ではこの辺りの仕様が変更されております。
visibleが0か1かには関係なく同一商品・同一規格の複数レコードがdtb_product_classに存在すれば、CSV登録はうまくいかず、ご記載いただいたような現象が起きる可能性があると思います。 そのため移行したデータでは重複しているようなので現象に不思議はないですが、新規データでも発生すると言うことですね...。 商品CSV登録の項目を追加・変更するようなプラグイン・カスタマイズは行ってないとのことですが、ProductClassを追加するようなカスタマイズやプラグイン導入は行われていないでしょうか?
|
nakamori |
投稿日時: 2024/3/15 16:06
対応状況: −−−
|
常連 登録日: 2018/4/25 居住地: 投稿: 51 |
Re: 商品CSV登録で同じ名前の規格が増える 下記方法で再現したのでご報告します。
【1】 dtb_product_classに下記のようなデータが存在している。 CSV登録でvisible=1の在庫データを10にしたい。 id product_id class_category_id1 stock visible 1 100 1 0 0 2 100 1 0 1 【2】 商品規格表示フラグを空欄にしたCSVで更新をかけると、 visible=0(idの若い)データの在庫が更新されてしまう。 表から見ると在庫が変わらないように見える。 id product_id class_category_id1 stock visible 1 100 1 10 0 2 100 1 0 1 【3】 商品規格表示フラグを1にしたCSVで更新をかけると、 visible=1のデータが増えて両方とも表に表示されてしまう。 id product_id class_category_id1 stock visible 1 100 1 10 1 2 100 1 0 1 product_idとclass_category_id1が同一のデータが存在した時、visible=1の方、またはidの大きい方のデータが更新されるようにならないでしょうか。 |
tattsu |
投稿日時: 2024/3/15 16:13
対応状況: −−−
|
仙人 登録日: 2023/12/23 居住地: 投稿: 376 |
Re: 商品CSV登録で同じ名前の規格が増える カスタマイズすればできると思いますが、結構ややこしいカスタマイズなのと、このデータ形式ですと他の機能でも不具合がでるかもしれません。
そのため、4系の仕様に合わせて重複しないようにされるほうが良いかと思います。
|
nakamori |
投稿日時: 2024/3/18 12:59
対応状況: −−−
|
常連 登録日: 2018/4/25 居住地: 投稿: 51 |
Re: 商品CSV登録で同じ名前の規格が増える ありがとうございます。
ProductClassを追加するようなカスタマイズやプラグイン導入も行っておりませんが、 過去(EC-CUBE3)には一度削除した(delf_lagを立てた)商品を同じ商品ID、規格IDで再登録を行っていた商品が多数存在し、 またEC-CUBE4のアップデート以降も、同商品ID・規格IDをダブらせて登録してしまった商品があるようです。 以降の運用に際して、重複データを登録しない旨周知いたしますが、既に重複してしまった商品に対しては、管理画面から削除を行おうとしても「関連するデータがあるため削除できません」と言われてうまく行きません。 対処療法となってしまうのですが、更新をかけたくない重複レコードに対して、 class_category_id1をNULLに、visibleを0に変更したところ、意図したCSV登録ができるようでした。 class_category_id1がNULLのデータは、新規商品登録時に必ず生成されるデータのようですが、本対処を行った場合に、他に影響が出ないものか気になっております。 またほかに良い方法などあればご教授いただけると幸いです。 |
nakamori |
投稿日時: 2024/12/5 10:57
対応状況: −−−
|
常連 登録日: 2018/4/25 居住地: 投稿: 51 |
Re: 商品CSV登録で同じ名前の規格が増える > そのため、4系の仕様に合わせて重複しないようにされるほうが良いかと思います。
お世話になります。重複規格が発生してしまう原因について、下記方法で再現することが分かったので報告します。 1)ある商品に、2つの規格が登録されています。 dtb_product_classには、以下のように登録されています。 product_id class_category_id1 visible 1 1 1 1 2 1 2)class_category_id1「2」の規格を非表示にします。 product_id class_category_id1 visible 1 1 1 1 2 0 3)一度非表示にしたclass_category_id1「2」の規格を商品登録画面から再登録すると、非表示のデータと表示データが作成されます。 ※CSVで規格の再登録を行った場合は非表示データが表示データで上書きされるので問題ありません。 product_id class_category_id1 visible 1 1 1 1 2 0 1 2 1 4)商品規格表示フラグを1にしたCSVをアップロードすると、2つともvisible「1」になってしまいます。 product_id class_category_id1 visible 1 1 1 1 2 1 1 2 1 非表示にした規格の再登録は日常的に起こり得る操作なので、お客さまから改善を求められています。 良い対処方法はないでしようか。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |