Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
7629 Представления

i am trying to close the pos session for many times. it shows following warning and could not be closed...

 

Error!

You cannot confirm all orders of this session, because they have not the 'paid' status

Аватар
Отменить

I have the same problem. Orders don't get the « paid » status automatically in the POS. I have to go in Point of sales->Orders to pay each one.... One by one....

Лучший ответ

I doubt that some of the order are in draft (New) state. That is why this error has arised.

Either delete those draft records or make payment for them. Then it will work.

Аватар
Отменить
Лучший ответ

Hi

When close pos session all order of that will be in 'paid' or 'invioced'. One of your order in 'new' or other state thats why this Erros is comming. See folloing code: 

    def _confirm_orders(self, cr, uid, ids, context=None):
        wf_service = netsvc.LocalService("workflow")

        for session in self.browse(cr, uid, ids, context=context):
            local_context = dict(context or {}, force_company=session.config_id.journal_id.company_id.id)
            order_ids = [order.id for order in session.order_ids if order.state == 'paid']

            move_id = self.pool.get('account.move').create(cr, uid, {'ref' : session.name, 'journal_id' : session.config_id.journal_id.id, }, context=local_context)

            self.pool.get('pos.order')._create_account_move_line(cr, uid, order_ids, session, move_id, context=local_context)

            for order in session.order_ids:
                if order.state not in ('paid', 'invoiced'):
                    raise osv.except_osv(
                        _('Error!'),
                        _("You cannot confirm all orders of this session, because they have not the 'paid' status"))
                else:
                    wf_service.trg_validate(uid, 'pos.order', order.id, 'done', cr)

        return True

Аватар
Отменить