Я ищу надежный способ получить имена доступных полей данных при создании или расширении файлов отчетов OpenOffice/LibreOffice.Как найти (и, возможно, расширить) список доступных имен полей для отчетов в исходном коде сервера OpenERP?
Я уже знаю много имен полей из существующих отчетов. Я также могу искать имена полей в определениях модулей.
Например, в файле аддонами \ база \ Рез \ партнер \ 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 Вы обнаружите, что решение здесь: How to get field lists using the OpenERP Report Designer Addon for OpenOffice/LibreOffice.)
Как я могу узнать доступные поля - и лучше всего было бы также знать как сделать доступными для отчетов больше доступных полей, например, из связанных таблиц.
Возможно, это может означать, как найти определение функции, которое предоставляет поля. И я предполагаю, что создание большего количества полей будет лучше всего, расширив соответствующий модуль и переписав функцию, которая доставляет данные в отчет.