Python OpenERP-web_printscreen_zb-无法正确导出布尔字段

Python OpenERP-web_printscreen_zb-无法正确导出布尔字段,python,boolean,openerp,export-to-excel,add-on,Python,Boolean,Openerp,Export To Excel,Add On,我有一个树状视图,可以用插件web_printscreen_zb导出到Excel。问题在于,有两个布尔字段或复选框在导出时在返回时显示为空,没有任何值,即使选中了它们 我分析了插件web_printscreen_zb中的代码,看看发生了什么,它收到的数据似乎与此问题有关 还有其他人有这个问题吗?OpenERP代码的哪一部分可能是问题 提前谢谢大家, 巴勃罗·卡巴罗。问题已解决!!在web_printscreen_zb插件的文件:/web_printscreen_zb/static/src/js/

我有一个树状视图,可以用插件web_printscreen_zb导出到Excel。问题在于,有两个布尔字段或复选框在导出时在返回时显示为空,没有任何值,即使选中了它们

我分析了插件web_printscreen_zb中的代码,看看发生了什么,它收到的数据似乎与此问题有关

还有其他人有这个问题吗?OpenERP代码的哪一部分可能是问题

提前谢谢大家,


巴勃罗·卡巴罗。

问题已解决!!在web_printscreen_zb插件的文件:/web_printscreen_zb/static/src/js/web_printscreen_export.js中,在export_to_excel函数中,我添加了一个if,用于检查输入是否为复选框,并且根据是否选中,我命令将0或1推入数据以写入excel

下面是我的web_printscreen_zb/static/src/js/web_printscreen_export.js更新代码:

openerp.web_printscreen_zb = function(instance, m) {

var _t = instance.web._t,
QWeb = instance.web.qweb;

instance.web.ListView.include({
    load_list: function () {
        var self = this;
        this._super.apply(this, arguments);
        var links = document.getElementsByClassName("oe_list_button_import_excel");
        var links_pdf = document.getElementsByClassName("oe_list_button_import_pdf");
        if (links && links[0]){
            links[0].onclick = function() {
                self.export_to_excel("excel")
            };
        }
        if (links_pdf && links_pdf[0]){
            links_pdf[0].onclick = function() {
                self.export_to_excel("pdf")
            };
        }
    },
    export_to_excel: function(export_type) {
        var self = this
        var export_type = export_type
        view = this.getParent()
        console.info("self");
        console.info(self);
        console.info(self.$el);
        // Find Header Element
        header_eles = self.$el.find('.oe_list_header_columns')
        header_name_list = []
        $.each(header_eles,function(){
            $header_ele = $(this)
            header_td_elements = $header_ele.find('th')
            $.each(header_td_elements,function(){
                $header_td = $(this)
                text = $header_td.text().trim() || ""
                data_id = $header_td.attr('data-id')
                if (text && !data_id){
                    data_id = 'group_name'
                }
                header_name_list.push({'header_name': text.trim(), 'header_data_id': data_id})
               // }
            });
        });
        console.info("HOLAAAA");
        //Find Data Element
        var noneObject = false
        data_eles = self.$el.find('.oe_list_content > tbody > tr')
        export_data = []
        checked = data_eles.find('th input[type=checkbox]').attr("checked");
        if (checked !== "checked"){
            noneObject = true
        }
        $.each(data_eles,function(){
            data = []
            $data_ele = $(this)
            is_analysis = false
            checked2 = $data_ele.find('th input[type=checkbox]').attr("checked");
            class_aux = $data_ele.find('th').attr("class");

            //console.info("DATA ELEMENT: " + $data_ele.text());
            //console.info("DATA ELE TRIM: " + $data_ele.text().trim());
            if ($data_ele.text().trim() && ((checked2 === "checked") || (noneObject == true) || class_aux === "oe_list_group_name")){
            //Find group name
                group_th_eles = $data_ele.find('th')
                $.each(group_th_eles,function(){
                    $group_th_ele = $(this)
                    text = $group_th_ele.text()
                    is_analysis = true
                    data.push({'data': text, 'bold': true})
                });
                data_td_eles = $data_ele.find('td')
                $.each(data_td_eles,function(){
                    $data_td_ele = $(this)
                    text = $data_td_ele.text().trim() || ""
                    if ($data_td_ele && $data_td_ele[0].classList.contains('oe_number') && !$data_td_ele[0].classList.contains('oe_list_field_float_time')){
                        text = text.replace('%', '')
                        text = instance.web.parse_value(text, { type:"float" })
                        data.push({'data': text || "", 'number': true})
                    }
                    else if ($data_td_ele && $data_td_ele[0].classList.contains('oe_list_field_boolean')){
                        if($data_td_ele.find('input[type=checkbox]').attr("checked")){
                            data.push({'data': 1})

                        }
                        else{
                            data.push({'data': 0})
                        }
                    }
                    else{
                        data.push({'data': text})
                    }
                });
                export_data.push(data)
            }
        });


        //Find Footer Element
        footer_eles = self.$el.find('.oe_list_content > tfoot> tr')
        $.each(footer_eles,function(){
            data = []
            $footer_ele = $(this)
            footer_td_eles = $footer_ele.find('td')
            $.each(footer_td_eles,function(){
                $footer_td_ele = $(this)
                text = $footer_td_ele.text().trim() || ""
                /* COMENTADO MVARELA    */
                try {
                    if ($footer_td_ele && $footer_td_ele[0].classList.contains('oe_number')){
                        text = instance.web.parse_value(text, { type:"float" })
                        data.push({'data': text || "", 'bold': true, 'number': true})
                    }
                    else{
                        data.push({'data': text, 'bold': true})
                    }
                }
                catch (err){
                    data.push({'data': text, 'bold': true})
                }
                /* FIN COMENTADO MVARELA */

            });
            export_data.push(data)
        });

        //Export to excel
        $.blockUI();
        if (export_type === 'excel'){
             view.session.get_file({
                 url: '/web/export/zb_excel_export',
                 data: {data: JSON.stringify({
                        model : view.model,
                        headers : header_name_list,
                        rows : export_data,
                 })},
                 complete: $.unblockUI
             });
         }
         else{
            console.log(view)
            new instance.web.Model("res.users").get_func("read")(this.session.uid, ["company_id"]).then(function(res) {
                new instance.web.Model("res.company").get_func("read")(res['company_id'][0], ["name"]).then(function(result) {
                    view.session.get_file({
                         url: '/web/export/zb_pdf_export',
                         data: {data: JSON.stringify({
                                uid: view.session.uid,
                                model : view.model,
                                headers : header_name_list,
                                rows : export_data,
                                company_name: result['name']
                         })},
                         complete: $.unblockUI
                     });
                });
            });
         }
    },
});
};
谢谢

巴勃罗·卡巴罗