首页 > 解决方案 > Prestashop - 从数据库中导出发票

问题描述

我需要帮助导出 2017 年所有已交付状态发票的 .csv。我的 PS 崩溃了,我的会计需要它。

我想导出 .csv,然后将其导入全新安装并导出 .pdf

标签: databasecsvpdfprestashopinvoice

解决方案


这是您可以在 phpMyAdmin 中使用并将结果导出为 CSV 的 SQL 查询:

-- Orders > filter by Status: 5, Date: 2017-01-01 - 2017-12-31
SELECT
    SQL_CALC_FOUND_ROWS         a.`id_order`,
    `reference`,
    `total_paid_tax_incl`,
    `payment`,
    a.`date_add` AS `date_add`    ,
    a.id_currency,
    a.id_order AS id_pdf,
    CONCAT(
LEFT(c.`firstname`,
1),
'. ',
c.`lastname`) AS `customer`,
osl.`name` AS `osname`,
os.`color`,
IF((SELECT
    so.id_order FROM
        `ps_orders` so 
    WHERE
        so.id_customer = a.id_customer 
        AND so.id_order < a.id_order LIMIT 1) > 0,
    0,
    1) as new,
    country_lang.name as cname,
    IF(a.valid,
    1,
    0) badge_success    
FROM
    `ps_orders` a            
LEFT JOIN
    `ps_customer` c 
        ON (
            c.`id_customer` = a.`id_customer`
        )   
LEFT JOIN
    `ps_address` address 
        ON address.id_address = a.id_address_delivery   
LEFT JOIN
    `ps_country` country 
        ON address.id_country = country.id_country   
LEFT JOIN
    `ps_country_lang` country_lang 
        ON (
            country.`id_country` = country_lang.`id_country` 
            AND country_lang.`id_lang` = 1
        )   
LEFT JOIN
    `ps_order_state` os 
        ON (
            os.`id_order_state` = a.`current_state`
        )   
LEFT JOIN
    `ps_order_state_lang` osl 
        ON (
            os.`id_order_state` = osl.`id_order_state` 
            AND osl.`id_lang` = 1
        )      
WHERE
    1   
    AND os.`id_order_state` = 5  
    AND a.`date_add` >= '2017-01-01 0:0:0' 
    AND a.`date_add` <= '2017-12-31 23:59:59'         
ORDER BY
    a.`id_order` DESC

它是在 Prestashop 后台使用 SQL 管理器功能生成的。


推荐阅读