Я ищу надежный способ получения имен доступных полей данных при создании или расширении файлов отчетов OpenOffice / LibreOffice.
Я уже знаю много имен полей из существующих отчетов. Я также могу искать имена полей в определениях модуля.
Например, в файле addons \ base \ res \ partner \ partner.py я нахожу список полей для модели партнера:
class res_partner(osv.osv):
_columns = {
'name': fields.char('Name', size=128, required=True, select=True),
'date': fields.date('Date', select=1),
'title': fields.many2one('res.partner.title','Partner Form'),
'parent_id': fields.many2one('res.partner','Parent Partner'),
'child_ids': fields.one2many('res.partner', 'parent_id', 'Partner Ref.'),
# many more...
}
Но это только предположение и оно не полное. Я бы предпочел знать поля, которые действительно доступны для любого отчета, и не догадываться.
Есть также отчеты с данными из связанных таблиц, что также важно.
Например, если я распечатываю счет, должны быть также адрес доставки и адрес выставления счета, доступные для отчета, включая поле имени контакта.
(Также возможно использовать надстройку «OpenERP Report Designer» для OpenOffice. Это решение вы найдете здесь: Как получить списки полей с помощью надстройки OpenERP Report Designer для OpenOffice / LibreOffice )
Как я могу узнать доступные поля - и лучше всего было бы также узнать, как сделать больше существующих полей доступными для отчетов, например из связанных таблиц.
Это может включать, как найти определение функции, предоставляющей поля. И я думаю, что создание большего количества доступных полей лучше всего сделать, расширив соответствующий модуль и переписав функцию, которая доставляет данные в отчет.