Я работаю в проекте Odoo моей компании.
Инженер до меня (теперь он подал в отставку) создал скрипт Go, который периодически запускается для создания счетов из заказов на продажу. Этот скрипт Go отлично работает.
Теперь мы понимаем, что создание счета-фактуры может быть выполнено также через Автоматизированные / Запланированные Действия Odoo.
Моя текущая задача - перевести его скрипт Go в Автоматизированное действие Odoo.
Но у меня есть проблема ....
В его скрипте Go есть такие коды:
param := []interface{}{
c.cred.Db,
c.uid,
c.cred.Password,
"sale.advance.payment.inv",
"create_invoices",
[]int{
paymentID,
},
map[string]interface{}{
"context": map[string]interface{}{
"active_id": salesOrderID,
"active_ids": []int{salesOrderID},
"active_model": "sales.order",
},
},
}
Коды в основном предназначены для работы с моделью "sale.advance.payment.inv"
, а затем вызывают метод create_invoices
.
С первым параметром - объект платежа.
Вторым параметром является JSON / Python Dict чего-то вроде этого:
{
'context':
{
'active_id' : so['id'],
'active_ids' : [so['id']],
'active_model': 'sales.order'
}
}
Мое автоматическое действие выглядит так:
paymentInAdvModel = env["sale.advance.payment.inv"]
paymentInAdv = paymentInAdvModel.create(
{
'advance_payment_method': 'delivered',
'amount': 0,
}
)
paymentInAdv.create_invoices(
[paymentInAdv],
{
'context':
{
'active_id' : so['id'],
'active_ids' : [so['id']],
'active_model': 'sales.order'
}
}
)
В Automated Action есть эта ошибка:
ValueError:: "create_invoices () принимает 1 позиционный аргумент, но 3 было дано" при оценке
На что обратить внимание:
- В нем говорится, что для метода
"create_invoices"
нужен только один параметр. Я предоставил два параметра, но ошибка сказала, что у меня есть три введенных параметра. Я предполагаю, что другим параметром является Питон self
.
- Единственная документация, которую я имею, это посмотреть на репозиторий Odoo GitHub по этой ссылке: https://github.com/odoo/odoo/search?q=create_invoices&unscoped_q=create_invoices
- Который относится только к одной функции с именем
create_invoices
и принимает только один параметр.
- Скрипт Go работает нормально. Но эта ошибка не позволяет мне преобразовывать коды Go в автоматическое действие Python Odoo.
У кого-нибудь есть решения, поэтому я могу использовать create_invoices()
с тем же параметром, что и скрипт Go?