バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 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
居住地:
投稿: 3217
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
居住地: 大阪
投稿: 1818
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), ','))


----------------


http://ec-lab.net/

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公式 Amazon Payプラグイン

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.