Я хотел бы отобразить отчет Odoo в своем веб-приложении React? - PullRequest
0 голосов
/ 09 июля 2019

Я создаю веб-приложение, используя React js и Odoo в качестве серверной части.Я хочу отобразить отчет, который передается в формате B64 из серверной части Odoo, и отобразить его.

Я использую пакет odoo-xmlrpc, и он работает нормально, я могу отобразить отчет в своем веб-приложении, но проблема в том, что я не смог передать другие данные с запросом xml-rpc, кроме идентификаторов.Я хочу передать объект JS, чтобы на основе переданных данных я мог распечатать отчет.


export const  odooPrintReport = (report_id, data)=>{
    return new Promise ((resolve, reject)=> {
        odoo.connect((err) => {
            if(err) return reject('request error')
            var inParams = [];
            inParams.push([
                ['attendance_date', '>=', formartDate(data.startDate)],
                ['attendance_date', '<=', formartDate(data.endDate)],
                ['batch_id.name', '=', data.batch],
                ['course_id.name', '=', data.course],
                ['semester_id.name', '=', data.semester],
                ['class_id.name', '=', data.group]
                ]);
            var params = [];
            params.push(inParams);
            odoo.execute_kw('op.attendance.sheet', 'search', params, function (err, value) {
                if (err) { return console.log(err) }
                if(value){
                    console.log('value:',value);
                    var params = [];
                    params.push(value);
                    params.push(data.studentIDs)
                    console.log({params})
                    // i want to pass data in here, but it accept only array of int,
                    odoo.render_report(report_id, {}, function (err2, value2) {
                        console.log('value2', value2)

                        if (err2) { return reject('report error') }
                        return resolve(value2)
                    });
                }
            });
        })
    })
}

...