バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > 管理機能 > CSVで配達希望時間を出力する方法

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sanada2017
投稿日時: 2017/5/16 19:49
対応状況: −−−
新米
登録日: 2017/5/16
居住地:
投稿: 3
CSVで配達希望時間を出力する方法
▼テンプレート
[EC-CUBE]2.13.5 新規インストール
[OS]Win7
[PHP]PHP 5.3.3
[データベース]PostgreSQL 8.4.20
[ブラウザ]Google Chrome

[現象]
出荷用の受注データを抽出するために、WEBを参考に「コンテンツ管理>CSV出力設定>高度な設定」に下記のSQLを作成いたしましたが、配達希望日を追加することができておりません。
(データの出力はエラー無くできております)

近いスレッドも参考にいたしましたが、知識が無く理解が追いつかず
質問を投稿させていただきました。

下記のSQLに追加する形でも、新たにSQLを作成する形でも問題ございませんので、配達希望時間を含むCSVデータを出力する方法をお教えいただけませんでしょうか。

簡単に可能なようでしたら、受注管理画面の「CSV出力項目設定」追加できますと、分かりやすいのかと思っております。

質問自体も初めてのため、もし失礼がありましたら申し訳ございません。また不足の情報等がございましたら、ご指摘いただけますと幸いです。

===========================================
dtb_order.order_id,
dtb_order.customer_id,
dtb_order.message,
dtb_order.order_name01,
dtb_order.order_name02,
dtb_order.order_kana01,
dtb_order.order_kana02,
dtb_order.order_email,
dtb_order.order_tel01,
dtb_order.order_tel02,
dtb_order.order_tel03,
dtb_order.order_fax01,
dtb_order.order_fax02,
dtb_order.order_fax03,
dtb_order.order_zip01,
dtb_order.order_zip02,
(SELECT mtb_pref.name FROM mtb_pref WHERE mtb_pref.id = dtb_order.order_pref),
dtb_order.order_addr01,
dtb_order.order_addr02,
dtb_order.order_sex,
dtb_order.order_birth,
dtb_order.order_job,
dtb_order_detail.product_name,
dtb_order_detail.product_code,
dtb_order_detail.classcategory_name1,
dtb_order_detail.classcategory_name2,
dtb_order_detail.price,
dtb_order_detail.quantity,
dtb_order.subtotal,
dtb_order.discount,
dtb_order.deliv_fee,
dtb_order.charge,
dtb_order.use_point,
dtb_order.add_point,
dtb_order.tax,
dtb_order.total,
dtb_order.payment_total,
dtb_order.deliv_id,
dtb_order.payment_method,
dtb_order.note,
dtb_order.status,
dtb_order.create_date,
dtb_order.update_date,
dtb_order.commit_date,
dtb_order.device_type_id,
(SELECT count(*) FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id),
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_id FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))
FROM
dtb_order
INNER JOIN
dtb_order_detail
ON
dtb_order.order_id = dtb_order_detail.order_id
WHERE
del_flg = 0
===========================================

何卒よろしくお願いいたします。
468
投稿日時: 2017/5/17 8:11
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 805
Re: CSVで配達希望時間を出力する方法
配達希望日と配達希望時間は
dtb_shipping.shipping_date
dtb_shipping.shipping_time
かと思います。

提示いただいたSQLを見ていると、複数配送先が登録されている場合でも
あくまで受注をメインに表示している(配送先件数と配送先IDをカンマ区切りで表示)
ように見受けられますが、
行に分ける必要はないという事でしょうか?
あと、注文者と配送先が異なる場合、配送先の住所等が出力されないと思いますが、それも問題無いのでしょうか?

(SELECT array_to_string(array(SELECT dtb_shipping.shipping_date FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))

(SELECT array_to_string(array(SELECT dtb_shipping.shipping_time FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))

カンマ区切りで表示という事であれば、SELECT句に上記記述を追加すれば良いのではないかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

sanada2017
投稿日時: 2017/5/17 10:20
対応状況: −−−
新米
登録日: 2017/5/16
居住地:
投稿: 3
Re: CSVで配達希望時間を出力する方法
468様
ご返信くださいまして誠にありがとうございます。

お教えいただきました2行を追加いたしましたところ
下記のエラーが発生いたしました。

初歩的な質問で申し訳ございませんが、差込み位置等に
誤りがございますでしょうか。

=============================
dtb_order.order_id,
dtb_order.customer_id,
dtb_order.message,
dtb_order.order_name01,
dtb_order.order_name02,
dtb_order.order_kana01,
dtb_order.order_kana02,
dtb_order.order_email,
dtb_order.order_tel01,
dtb_order.order_tel02,
dtb_order.order_tel03,
dtb_order.order_fax01,
dtb_order.order_fax02,
dtb_order.order_fax03,
dtb_order.order_zip01,
dtb_order.order_zip02,
(SELECT mtb_pref.name FROM mtb_pref WHERE mtb_pref.id = dtb_order.order_pref),
dtb_order.order_addr01,
dtb_order.order_addr02,
dtb_order.order_sex,
dtb_order.order_birth,
dtb_order.order_job,
dtb_order_detail.product_name,
dtb_order_detail.product_code,
dtb_order_detail.classcategory_name1,
dtb_order_detail.classcategory_name2,
dtb_order_detail.price,
dtb_order_detail.quantity,
dtb_order.subtotal,
dtb_order.discount,
dtb_order.deliv_fee,
dtb_order.charge,
dtb_order.use_point,
dtb_order.add_point,
dtb_order.tax,
dtb_order.total,
dtb_order.payment_total,
dtb_order.deliv_id,
dtb_order.payment_method,
dtb_order.note,
dtb_order.status,
dtb_order.create_date,
dtb_order.update_date,
dtb_order.commit_date,
dtb_order.device_type_id,
(SELECT count(*) FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id),
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_date FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_time FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_id FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))

dtb_order
INNER JOIN
dtb_order_detail
ON
dtb_order.order_id = dtb_order_detail.order_id
WHERE
del_flg = 0
=============================
■エラー内容
MDB2 Error: syntax error
prepare: [Error message: Unable to create prepared statement handle]
[Last executed query: DEALLOCATE PREPARE mdb2_statement_pgsql_353c1fd7623bcaf96fd6c052881bcb663425e8db1]
[Native message: ERROR: syntax error at or near "("
行 48: (SELECT array_to_string(array(SELECT dtb_shipping.shippi...
^]
=============================

また、ご確認いただきました件につきましても
有難うございます。

1)複数配送先につきまして
こちらはショップ自体が対応しておりませんので、取り急ぎは行分けの必要はございません。
(念のためとして、今回そちらにも対応した状態にできるのでしたら、有難く存じますが、必須の状況ではございません)

2)配送先住所につきまして
こちらは出力されていると思い込んでおりました。
追加で恐れ入りますが、配送先につきましても、
出力されるようにする方法をお教えいただけますと非常に有難いです。

以上です。

何卒宜しくお願い申し上げます。
yuh
投稿日時: 2017/5/17 12:16
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1433
Re: CSVで配達希望時間を出力する方法
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_date FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ',')) (SELECT array_to_string(array(SELECT dtb_shipping.shipping_time FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ',')) (SELECT array_to_string(array(SELECT dtb_shipping.shipping_id FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))


SQLの部分でそれぞれ
','))の後に,が抜けてます。

(SELECT array_to_string(array(SELECT dtb_shipping.shipping_date FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ',')), (SELECT array_to_string(array(SELECT dtb_shipping.shipping_time FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ',')), (SELECT array_to_string(array(SELECT dtb_shipping.shipping_id FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))


----------------
ec-cube2系の速度UPしてみました。(商品数:100万件)
http://speedtest2.ec-lab.net/products/list.php?category_id=15
ec-cube2系最速!(自称)

sanada2017
投稿日時: 2017/5/17 13:15
対応状況: −−−
新米
登録日: 2017/5/16
居住地:
投稿: 3
Re: CSVで配達希望時間を出力する方法
yuh様
ご返信ありがとうございます。

カンマを追加いたしましたところエラーは無くなりました。
誠にありがとうございます。

ただ、実際にCSV出力いたしましたところ、該当する項目が含まれておりませんでした。
(データが空白ではなく、項目の列自体が出力されていないようです。エクセルで開いた際に、device_type_idまでで列が終わっています)
原因がお分かりになりましたら、お教えいただけますでしょうか。

配送時間は、「基本情報管理>配送方法設定>配送方法登録」にて
お届け時間1 午前希望
お届け時間2 12-14時希望
お届け時間3 14-16時希望
お届け時間4 16-18時希望
お届け時間5 18以降希望
という形で設定しております。

=============================
dtb_order.order_id,
dtb_order.customer_id,
dtb_order.message,
dtb_order.order_name01,
dtb_order.order_name02,
dtb_order.order_kana01,
dtb_order.order_kana02,
dtb_order.order_email,
dtb_order.order_tel01,
dtb_order.order_tel02,
dtb_order.order_tel03,
dtb_order.order_fax01,
dtb_order.order_fax02,
dtb_order.order_fax03,
dtb_order.order_zip01,
dtb_order.order_zip02,
(SELECT mtb_pref.name FROM mtb_pref WHERE mtb_pref.id = dtb_order.order_pref),
dtb_order.order_addr01,
dtb_order.order_addr02,
dtb_order.order_sex,
dtb_order.order_birth,
dtb_order.order_job,
dtb_order_detail.product_name,
dtb_order_detail.product_code,
dtb_order_detail.classcategory_name1,
dtb_order_detail.classcategory_name2,
dtb_order_detail.price,
dtb_order_detail.quantity,
dtb_order.subtotal,
dtb_order.discount,
dtb_order.deliv_fee,
dtb_order.charge,
dtb_order.use_point,
dtb_order.add_point,
dtb_order.tax,
dtb_order.total,
dtb_order.payment_total,
dtb_order.deliv_id,
dtb_order.payment_method,
dtb_order.note,
dtb_order.status,
dtb_order.create_date,
dtb_order.update_date,
dtb_order.commit_date,
dtb_order.device_type_id,
(SELECT count(*) FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id),
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_date FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ',')),
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_time FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ',')),
(SELECT array_to_string(array(SELECT dtb_shipping.shipping_id FROM dtb_shipping WHERE dtb_shipping.order_id = dtb_order.order_id), ','))
FROM
dtb_order
INNER JOIN
dtb_order_detail
ON
dtb_order.order_id = dtb_order_detail.order_id
WHERE
del_flg = 0
=============================

また、もし可能でしたら配送先情報(住所・電話番号)の出力につきまして、ご教示いただけますと大変有難く存じます。

何卒宜しくお願い申し上げます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は20,616名です
総投稿数は83,613件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1663
4
yuh
1433
5
red
1077
6
fukap
907
7
shutta
827
8
468
805
9 ramrun 789
10
tsuji
784
11
umebius
726
12
tao_s
651
13 karin 641
14 sumida 638
15
homan
633
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.