Hello there. I am hoping someone might be able to help with an error that I do not know how to get remedied. I am new to the use and implementation of the Sale_Advance_Payment module. I do suspect that I have it configured at least partially correct as I am able to:
- Start an quote in Sales.
- add items like usual.
- Navigate to “Other Info” tab .
- select an “Advance Payment Term” (ie 50% prepay) I created from the list.
- It populates the the Advance Payment Conditions correctly and does indeed Block Supply and Block Shipping and auto create an invoice related to Advance Payment (and for the correct amount of 50% of total_amount).
- Correct values/amounts are reflected on GL Accounts.
The problem and error I am incurring is the following:
When I try to “print” the auto generated invoice related to the Advance Payment I get this error and no invoice/document is available to view or print (.odt or pdf). Can anyone look at this trace and possibly help me to understand and remedy this problem. I would like to be able to send a copy of the invoices to customers so they have something to remit payment by.
Traceback (most recent call last):
File "/genshi/template/eval.py", line 301, in lookup_attr
val = getattr(obj, key)
AttributeError: 'NoneType' object has no attribute 'description'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/genshi/template/eval.py", line 307, in lookup_attr
val = obj[key]
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/trytond/wsgi.py", line 109, in dispatch_request
return endpoint(request, **request.view_args)
File "/trytond/protocols/dispatcher.py", line 43, in rpc
return methods.get(request.rpc_method, _dispatch)(
File "/trytond/wsgi.py", line 75, in wrapper
return func(request, *args, **kwargs)
File "/trytond/protocols/wrappers.py", line 197, in wrapper
return func(request, pool, *args, **kwargs)
File "/trytond/protocols/dispatcher.py", line 196, in _dispatch
result = rpc.result(meth(*c_args, **c_kwargs))
File "/trytond/modules/account_invoice/invoice.py", line 3240, in execute
return super().execute(ids, data)
File "/trytond/report/report.py", line 244, in execute
oext, content = cls._execute(
File "/trytond/modules/account_invoice/invoice.py", line 3219, in _execute
result = super()._execute(records, header, data, action)
File "/trytond/report/report.py", line 265, in _execute
return cls.convert(action, cls.render(action, report_context))
File "/trytond/modules/account_invoice/invoice.py", line 3235, in render
return super().render(*args, **kwargs)
File "/trytond/report/report.py", line 367, in render
data = template.generate(**report_context).render()
File "/relatorio/templates/base.py", line 16, in render
return self.serializer(
File "/relatorio/templates/opendocument.py", line 1157, in __call__
output_encode(
File "/genshi/output.py", line 60, in encode
for chunk in iterator:
File "/genshi/output.py", line 243, in __call__
for kind, data, pos in stream:
File "/genshi/output.py", line 674, in __call__
for kind, data, pos in stream:
File "/genshi/output.py", line 779, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "/genshi/output.py", line 598, in __call__
for ev in stream:
File "/relatorio/templates/opendocument.py", line 1053, in __call__
for kind, data, pos in stream:
File "/genshi/filters/i18n.py", line 789, in __call__
for kind, data, pos in stream:
File "/genshi/template/base.py", line 641, in _include
for event in stream:
File "/genshi/template/markup.py", line 326, in _match
for event in stream:
File "/genshi/template/base.py", line 581, in _flatten
for kind, data, pos in stream:
File "/genshi/template/directives.py", line 369, in __call__
iterable = _eval_expr(self.expr, ctxt, vars)
File "/genshi/template/base.py", line 290, in _eval_expr
retval = expr.evaluate(ctxt)
File "/genshi/template/eval.py", line 160, in evaluate
return eval(self.code, _globals, {'__data__': data})
File "<string>", line 1, in <Expression "iter((invoice.payment_term.description or '').split('\\n'))">
File "/genshi/template/eval.py", line 309, in lookup_attr
val = cls.undefined(key, owner=obj)
File "/genshi/template/eval.py", line 397, in undefined
raise UndefinedError(key, owner=owner)
genshi.template.eval.UndefinedError: None has no member named "description"
The error/problem seems to only be related to the printing of the auto generated invoice for Advance Payment. If I apply payment to the auto invoice that won’t print and it is considered “Paid” it will then auto generate a Shipment and second Invoice for the remainder as desired. The second invoice also references the deduction of the Advance Payment as desired. It will allow me to print the newly generated invoice for the remainder and without any error like normal.
Is this simply a matter of my Invoice and/or Sale template (.odt) are insufficiently constructed?
Thank you in advance!