質問 > 管理機能 > 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句に上記記述を追加すれば良いのではないかと思います。
|
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で配達希望時間を出力する方法
SQLの部分でそれぞれ ','))の後に,が抜けてます。
|
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 ============================= また、もし可能でしたら配送先情報(住所・電話番号)の出力につきまして、ご教示いただけますと大変有難く存じます。 何卒宜しくお願い申し上げます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |