バージョン選択

フォーラム

メニュー

オンライン状況

54 人のユーザが現在オンラインです。 (45 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 54
もっと...

サイト内検索

プラグイン > バグ報告・利用に関する質問 > 商品CSV登録で同じ名前の規格が増える

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nakamori
投稿日時: 2024/3/15 0:25
対応状況: −−−
常連
登録日: 2018/4/25
居住地:
投稿: 33
商品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
居住地:
投稿: 210
Re: 商品CSV登録で同じ名前の規格が増える
>例えば商品ID10の商品にサイズS、M、Lと3種類の規格サイズがあった場合に、サイズSの在庫を増やそうと更新をかけると、商品ID10にサイズSのデータが2つできてしまいます。
>また、元のサイズSと増えたサイズSに在庫数の異なるデータが入ってしまい、どちらも注文できてしまいます。

CSV登録前から、同じ規格に対してvisible=1とvisible=0で2つのレコードが登録されてしまっているのでは、と思いました。

そうだとしても、原因はデバッグしてみないと分からないですが・・。

次のような理由で同様の現象が発生していた例をみたことはあります。

・バージョンアップでデータ移行した時にデータが間違って登録されている
・プラグインやカスタマイズの不具合


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

nakamori
投稿日時: 2024/3/15 14:45
対応状況: −−−
常連
登録日: 2018/4/25
居住地:
投稿: 33
Re: 商品CSV登録で同じ名前の規格が増える
ありがとうございます。

引用:

CSV登録前から、同じ規格に対してvisible=1とvisible=0で2つのレコードが登録されてしまっているのでは、と思いました。


そういうデータは確かに存在し、バージョンアップ前は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
居住地:
投稿: 210
Re: 商品CSV登録で同じ名前の規格が増える
3系ではdel_flg=1だとsoft_deleteフィルタによってそもそもデータの取得がされなかったのですが、4系ではこの辺りの仕様が変更されております。

visibleが0か1かには関係なく同一商品・同一規格の複数レコードがdtb_product_classに存在すれば、CSV登録はうまくいかず、ご記載いただいたような現象が起きる可能性があると思います。

そのため移行したデータでは重複しているようなので現象に不思議はないですが、新規データでも発生すると言うことですね...。


商品CSV登録の項目を追加・変更するようなプラグイン・カスタマイズは行ってないとのことですが、ProductClassを追加するようなカスタマイズやプラグイン導入は行われていないでしょうか?


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

nakamori
投稿日時: 2024/3/15 16:06
対応状況: −−−
常連
登録日: 2018/4/25
居住地:
投稿: 33
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
居住地:
投稿: 210
Re: 商品CSV登録で同じ名前の規格が増える
カスタマイズすればできると思いますが、結構ややこしいカスタマイズなのと、このデータ形式ですと他の機能でも不具合がでるかもしれません。

そのため、4系の仕様に合わせて重複しないようにされるほうが良いかと思います。


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

nakamori
投稿日時: 2024/3/18 12:59
対応状況: −−−
常連
登録日: 2018/4/25
居住地:
投稿: 33
Re: 商品CSV登録で同じ名前の規格が増える
ありがとうございます。

ProductClassを追加するようなカスタマイズやプラグイン導入も行っておりませんが、
過去(EC-CUBE3)には一度削除した(delf_lagを立てた)商品を同じ商品ID、規格IDで再登録を行っていた商品が多数存在し、
またEC-CUBE4のアップデート以降も、同商品ID・規格IDをダブらせて登録してしまった商品があるようです。

以降の運用に際して、重複データを登録しない旨周知いたしますが、既に重複してしまった商品に対しては、管理画面から削除を行おうとしても「関連するデータがあるため削除できません」と言われてうまく行きません。

対処療法となってしまうのですが、更新をかけたくない重複レコードに対して、
class_category_id1をNULLに、visibleを0に変更したところ、意図したCSV登録ができるようでした。

class_category_id1がNULLのデータは、新規商品登録時に必ず生成されるデータのようですが、本対処を行った場合に、他に影響が出ないものか気になっております。

またほかに良い方法などあればご教授いただけると幸いです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,866名です
総投稿数は109,999件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.