Перейти к содержимому
Odoo Меню
  • Войти
  • Попробовать бесплатно
  • Модули
    Финансы
    • Бухгалтерия
    • Выставление счетов
    • Расходы
    • Таблицы
    • Документооборот
    • Подпись
    Продажи
    • CRM
    • Продажи
    • POS Магазин
    • POS Ресторан
    • Подписки
    • Аренда
    Вебсайты
    • Конструктор вебсайтов
    • eCommerce
    • Блог
    • Форум
    • Онлайн-чат
    • Электронное обучение
    Логистика
    • Склад
    • Производство
    • PLM
    • Закупки
    • Обслуживание
    • Качество
    Отдел кадров
    • Сотрудники
    • Подбор персонала
    • Отпуска
    • Оценка персонала
    • Реферальная программа
    • Автопарк
    Маркетинг
    • SMM
    • E-mail рассылки
    • СМС рассылки
    • Мероприятия
    • Автоматизация маркетинга
    • Опросы
    Услуги
    • Проекты
    • Табели
    • Выездной сервис
    • Поддержка
    • Планирование
    • Встречи
    Продуктивность
    • Обсуждения
    • Согласование
    • IoT
    • VoIP-телефония
    • Knowledge
    • WhatsApp
    Сторонние приложения Модуль Студия Odoo Платформа Odoo Cloud
  • Индустрии
    Розничная торговля
    • Книжный магазин
    • Магазин одежды
    • Мебельный магазин
    • Продуктовый магазин
    • Строительный магазин
    • Магазин игрушек
    Гостинично-ресторанный бизнес
    • Бар и паб
    • Ресторан
    • Фастфуд
    • Гостевой дом
    • Дистрибьютор напитков
    • Отель
    Недвижимость
    • Агентство недвижимости
    • Архитектурное бюро
    • Строительство
    • Управление недвижимостью
    • Ландшафтный дизайн
    • Товарищество собственников жилья
    Консалтинг
    • Бухгалтерская фирма
    • Партнер Odoo
    • Маркетинговое агентство
    • Юридическая фирма
    • Подбор персонала
    • Аудиторское бюро
    Производство
    • Текстиль
    • Металл
    • Мебель
    • Продукты питания
    • Пивоварня
    • Корпоративные сувениры
    Здоровье и фитнес
    • Спортивный комплекс
    • Магазин оптики
    • Фитнес-клуб
    • Велнес-центр
    • Аптека
    • Салон красоты
    Услуги
    • Специалист по бытовым услугам
    • Продажа и обслуживание IT-оборудования
    • Солнечные энергосистемы
    • Производство обуви
    • Клининг
    • Системы ОВКВ
    Прочее
    • Некоммерческая организация
    • Консалтинг в сфере устойчивого развития
    • Аренда рекламных щитов
    • Бизнес по фотосъемке
    • Прокат велосипедов
    • Реселлер программного обеспечения
    Все индустрии
  • Community
    Обучение
    • Видео уроки
    • Документация
    • Сертификация
    • Тренинг
    • Блог
    • Подкаст
    Образование и развитие
    • Образовательная программа
    • Деловая игра Scale Up!
    • Экскурсия в офис Odoo
    ПО
    • Скачать
    • Сравнить версии
    • Релизы
    Сотрудничество
    • Github
    • Форум
    • Мероприятия
    • Перевод
    • Стать партнером
    • Услуги для партнеров
    • Зарегистрировать бухгалтерскую фирму
    Услуги
    • Найти партнера
    • Найти бухгалтера
    • Встреча с экспертом
    • Услуги по внедрению
    • Отзывы клиентов
    • Поддержка
    • Обновления
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Заказать демонстрацию
  • Цены
  • Поддержка

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Бухгалтерия
  • Склад
  • PoS
  • Проекты
  • MRP
All apps
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Помощь

Duplicate Key Violates Unique Constraint "Account_Invoice_Number_Uniq"

Подписаться

Получайте уведомления о появлении активности в этом посте

Этот вопрос был отмечен
invoiceaccount.invoiceduplicatekey
2 Ответы
17139 Представления
Аватар
Michael Aigner

I just discovered a problem in our invoice generation. When I want to validate an invoice I get the following error message. When I look at that message, it looks like the invoice number is not passed correctly to the function ("/"):

"DETAIL: Key (number, company_id, journal_id, type)=(/, 1, 1, out_invoice) already exists."


Does anyone have an idea what is the problem here? I have already over 1000 invoices that worked fine, but suddenly it stopped. I also tried modifying the sequence, but this doesn't help at all.

Traceback (most recent call last):

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 537, in _handle_exception

return super(JsonRequest, self)._handle_exception(exception)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 574, in dispatch

result = self._call_function(**self.params)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 310, in _call_function

return checked_call(self.db, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper

return f(dbname, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 307, in checked_call

return self.endpoint(*a, **kw)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 803, in __call__

return self.method(*args, **kw)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 403, in response_wrap

response = f(*args, **kw)

File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 955, in exec_workflow

return request.session.exec_workflow(model, id, signal)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1111, in exec_workflow

r = self.proxy('object').exec_workflow(self.db, self.uid, self.password, model, signal, id)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 879, in proxy_method

result = dispatch_rpc(self.service_name, method, args)

File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 115, in dispatch_rpc

result = dispatch(method, params)

File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 37, in dispatch

res = fn(db, uid, *params)

File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper

return f(dbname, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 188, in exec_workflow

return exec_workflow_cr(cr, uid, obj, signal, *args)

File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 182, in exec_workflow_cr

return execute_cr(cr, uid, obj, 'signal_workflow', [res_id], signal)[res_id]

File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 164, in execute_cr

return getattr(object, method)(cr, uid, *args, **kw)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper

return old_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3570, in signal_workflow

result[res_id] = workflow.trg_validate(uid, self._name, res_id, signal, cr)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/__init__.py", line 85, in trg_validate

return WorkflowService.new(cr, uid, res_type, res_id).validate(signal)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/service.py", line 91, in validate

res2 = wi.validate(signal)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/instance.py", line 80, in validate

wi.process(signal=signal, force_running=force_running, stack=stack)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 120, in process

ok = self._split_test(activity['split_mode'], signal, stack)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 248, in _split_test

self._join_test(t[0], t[1], stack)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 257, in _join_test

WorkflowItem.create(self.session, self.record, activity, inst_id, stack=stack)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 95, in create

workflow_item.process(stack=stack)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 116, in process

if not self._execute(activity, stack):

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 162, in _execute

returned_action = self.wkf_expr_execute(activity)

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 313, in wkf_expr_execute

return self.wkf_expr_eval_expr(activity['action'])

File "/usr/lib/python2.7/dist-packages/openerp/workflow/workitem.py", line 291, in wkf_expr_eval_expr

result = eval(line, env, nocopy=True)

File "/usr/lib/python2.7/dist-packages/openerp/tools/safe_eval.py", line 314, in safe_eval

return eval(c, globals_dict, locals_dict)

File "", line 1, in <module>

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper

return new_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/addons/account/account_invoice.py", line 927, in action_move_create

inv.with_context(ctx).write(vals)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper

return new_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 565, in new_api

result = method(self._model, cr, uid, self.ids, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/mail_thread.py", line 432, in write

result = super(mail_thread, self).write(cr, uid, ids, values, context=context)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper

return old_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 372, in old_api

result = method(recs, *args, **kwargs)

File "/opt/odoo/addons/connector/connector/producer.py", line 62, in write

result = write_original(self, vals)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper

return new_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3787, in write

self._write(old_vals)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper

return new_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 565, in new_api

result = method(self._model, cr, uid, self.ids, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 4039, in _write

recs.recompute()

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper

return new_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 5732, in recompute

rec._write(values)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper

return new_api(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 565, in new_api

result = method(self._model, cr, uid, self.ids, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3898, in _write

cr.execute(query, params + (sub_ids,))

File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 158, in wrapper

return f(self, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 234, in execute

res = self._obj.execute(query, params)

ValueError: "duplicate key value violates unique constraint "account_invoice_number_uniq"

DETAIL: Key (number, company_id, journal_id, type)=(/, 1, 1, out_invoice) already exists.

" while evaluating

u'action_move_create()'

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

Because in invoices, the combination of (number, company_id, journal_id, type)=(/, 1, 1, out_invoice) [is unique constraint] is supposed to be unique and number which is supposed to be auto-incremented is not generated. and you already have an invoice with the same combination so it is violating unique constraint. You should check journal sequence of invoice is okay or not it must generate a number and increment it every time.

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

For me, I found that there was an invoice who was assigned a number of "/" instead of a traditional invoice number.


From my understanding, the "/" is used as a placeholder for "next number in the sequence". Because that was already taken, no other invoices could be Validated.


The solution was to delete the bad invoice with the "/" invoice number (I had to delete a payment from it as well) and re-create it. Afterwards, I was able to validate normally.

0
Аватар
Отменить
Не оставайтесь в стороне – присоединяйтесь к обсуждению!

Создайте аккаунт сегодня, чтобы получить доступ к эксклюзивным функциям и стать частью нашего замечательного сообщества!

Регистрация
Похожие посты Ответы Просмотры Активность
invoice multiplication/duplication
invoice account.invoice duplicate
Аватар
Аватар
1
мар. 16
5206
Base Report Designer and Invoice File not working
invoice account.invoice
Аватар
Аватар
Аватар
3
мар. 15
5682
How to set default bank account for Customer on Invoices
invoice customer account.invoice
Аватар
Аватар
Аватар
3
нояб. 24
5784
setting default value for account (invoice) Решено
invoice account.invoice odoo8.0
Аватар
Аватар
Аватар
3
дек. 22
6852
Best way to warn user a supplier invoice is already entered (match on supplier invoice number) Решено
invoice v7 duplicate
Аватар
1
сент. 25
9719
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • Github
  • Runbot
  • Перевод
Услуги
  • Хостинг Odoo.sh
  • Поддержка
  • Обновление
  • Индивидуальные решения по доработке
  • Образование
  • Найти бухгалтера
  • Найти партнера
  • Стать партнером
О нас
  • Наша компания
  • Активы бренда
  • Cвяжитесь с нами
  • Вакансии
  • Мероприятия
  • Подкаст
  • Блог
  • Клиенты
  • Правовые документы • Конфиденциальность
  • Безопасность
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo – это набор бизнес-модулей с открытым исходным кодом, который закроет все потребности вашей компании: CRM, E-commerce, Бухгалтерия, Склад, POS, управление проектами и др.

Odoo сочетает в себе простоту использования и полную интеграцию всех бизнес-процессов в одной системе.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now