微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pymysql.err.InternalError: (1327, '未声明的变量:无')

如何解决pymysql.err.InternalError: (1327, '未声明的变量:无')

我正在使用 frappe 框架使用 python 和 sql 创建报告,但我收到一个我不明白的错误, None 怎么可能是未声明的变量?有人可以向我解释一下。希望有人能指出我正确的方向。

这是我的report.py

def execute(filters=None):
    if not filters:
        filters = {}

    conditions = get_conditions(filters)
    columns = get_column(filters,conditions)
    data = []

    details = get_details(conditions,filters)
    
    return columns,data

def get_details(conditions="",filters={}):
    data = frappe.db.sql("""select  i.ifw_retailskusuffix,i.item_code,i.item_name,i.image,s.supplier,s.supplier_part_no,i.disabled,country_of_origin,customs_tariff_number,ifw_duty_rate,ifw_discontinued,ifw_product_name_ci,ifw_item_notes,ifw_item_notes2,ifw_po_notes
            from `tabItem supplier` s inner join `tabItem` i on i.name = s.parent
            where 1 = 1 %s
        """%(conditions),filters,as_dict=1)
    return data

def get_conditions(filters):
    conditions = ""
    suppliers = []
    limit = filters.get("limit")
    if filters.get('supplier'):
        suppliers = frappe.parse_json(filters.get("supplier"))
        suppliers.append("asa")
        suppliers.append("asaa")
        # format_strings = ','.join(['%s'] * len(suppliers))
        conditions += " and s.supplier IN %(supplier)s"
    if limit != "All":
        conditions += " limit {}".format(str(limit))
    return conditions    

对应的javascript文件report.js

frappe.query_reports["Sales Report"] = {
    "filters": [
        {
            "fieldname":"supplier","label": __("supplier"),"fieldtype": "MultiSelectList","options": "supplier",get_data: function(txt) {
                // if (!frappe.query_report.filters) return;

                // let party_type = frappe.query_report.get_filter_value('party_type');
                // if (!party_type) return;

                return frappe.db.get_link_options("supplier",txt);
            },},{
            "fieldname":"limit","label": __("Limit"),"fieldtype": "Select","options": ["20","500","1000","5000","10000","All"],"default": "20"
        },]
};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。