Bonsoir,
Sur une première création de Sales Order par REST API (sur une installation qui fonctionne déjà en direct), j’ai une erreur têtue
L’appel API :
URL = string(52) "https://-----.dokos.cloud/api/resource/Sales Order" method POST / action resource/Sales Order ok
data
Array
(
[item] => Array
(
[name] => Le ----
[item_code] => Le ----
[item_name] => Le -----
[delivery_date] => 2022-11-01
[qty] => 1
[item_booking] => STO-BOOK-2022-00043
[item_booking_start] => 2022-11-01 17:00:00
[item_booking_end] => 2022-11-01 21:00:00
[item_group] => Espaces ---
[doctype] => Item Booking
)
[customer_name] => Jean (test)
[address] => Adresse test-Facturation
[customer] => Jean (test)
)
Le retour (erreur 500 avec un beau retour d’erreur Python dans le retour API …)
[0] => Traceback (most recent call last):
File "/home/dokos/hetz2/apps/frappe/frappe/app.py", line 68, in application
response = frappe.api.handle()
File "/home/dokos/hetz2/apps/frappe/frappe/api.py", line 139, in handle
doc = frappe.get_doc(data).insert()
File "/home/dokos/hetz2/apps/frappe/frappe/model/document.py", line 241, in insert
self.run_before_save_methods()
File "/home/dokos/hetz2/apps/frappe/frappe/model/document.py", line 998, in run_before_save_methods
self.run_method("validate")
File "/home/dokos/hetz2/apps/frappe/frappe/model/document.py", line 890, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/home/dokos/hetz2/apps/frappe/frappe/model/document.py", line 1190, in composer
return composed(self, method, *args, **kwargs)
File "/home/dokos/hetz2/apps/frappe/frappe/model/document.py", line 1173, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/dokos/hetz2/apps/frappe/frappe/model/document.py", line 884, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/dokos/hetz2/apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py", line 36, in validate
super(SalesOrder, self).validate()
File "/home/dokos/hetz2/apps/erpnext/erpnext/controllers/selling_controller.py", line 31, in validate
super(SellingController, self).validate()
File "/home/dokos/hetz2/apps/erpnext/erpnext/controllers/stock_controller.py", line 22, in validate
super(StockController, self).validate()
File "/home/dokos/hetz2/apps/erpnext/erpnext/controllers/accounts_controller.py", line 108, in validate
self.set_total_in_words()
File "/home/dokos/hetz2/apps/erpnext/erpnext/controllers/selling_controller.py", line 120, in set_total_in_words
amount = abs(self.grand_total if self.is_rounded_total_disabled() else self.rounded_total)
TypeError: bad operand type for abs(): 'NoneType'
J’ai essayé de remplir tous les champs possibles
'base_total' => 160.00,
'base_net_total' => 133.33,
'base_total_taxes_and_charges'=> 26.66,
'total_taxes_and_charges' => 26.66,
'base_rounded_total' => 160,
'grand_total' => 160.00,
'total' => 160.00,
'base_grand_total' => 160.00,
sans changement.
Avez vous une idée ? Je ne trouve rien dans la documentation sur les champs nécessaires à la création d’un Sales Order
Merci