2013-09-30 3 views
0

В моей стране каждый электронный счет-фактура по закону должен включать поле под названием «Код контроля».Как я могу вызвать скрипт Python из OpenERP?

Контрольный код вычисляется серией вычислений и алгоритмов с использованием даты счета, номера счета и нескольких настраиваемых полей.

Прямо сейчас у меня уже есть скрипт Python, который генерирует управляющий код, но это отдельный сценарий, который требует, чтобы вы вручную вставляли переменные.

Я действительно хотел бы использовать этот скрипт внутри модуля OpenERP. Я хотел бы сценарий к:

  1. Проверка счет-фактура (со всеми необходимыми полями)

  2. заселить поле коды управления на счете с результатом сценария Python.

  3. Убедитесь, что счет-фактура подтвержден, и полевой код управления хранится в счете-фактуре.

+2

вы написали модуль OpenERP раньше? Что вы пробовали? Что работает, а что не работает? –

ответ

1

Используйте поле функции, чтобы решить эту проблему.

_inherit = 'account.invoice' 

def generate_control_code(self, cr, uid, ids, field_name, arg, context=None) 
# ids - Invoice ids 
# filed_name - Name of the field. In this case 'control_code' 
# Return result format {id'_1_': value'_1_', id'_2_': value'_2_',...}. 
.... 
.... 
.... 
    return result 


_columns = { 

    'control_code': fields.function(generate_control_code, type='char', string='Control Code', method=True), 

} 

Для получения более подробной информации, пожалуйста, проверьте эту ссылку на документ http://www.theopensourcerer.com/2012/12/how-to-install-openerp-7-0-on-ubuntu-12-04-lts/