1с установитьновыйномер не уникально

Если установка нового номера ( УстановитьНовыйНомер() ) или кода ( УстановитьНовыйКод() ) вызывается в транзакции, то при откате транзакции у объекта происходит возврат к значению номера/кода, соответствующему началу транзакции.

Рассмотрим следующую ситуацию:

  • новому элементу справочника присваивается некоторый код;
  • затем в транзакции выполняется вызов метода УстановитьНовыйКод() ;
  • происходит откат транзакции.

Для иллюстрации этой ситуации потребуется выполнить следующий код:

Результат выполнения этого кода в предыдущей и новой версии платформы представлен в следующей таблице:

При работе в 1С, особенно когда много документов или номера редактируются ручками, можно получить ошибки вида:

Значение поля «Код» не уникально или Значение поля «Номер» не уникально

Что делать? Перенумеровывать

Нужно восстановить нумерацию документов или элементов справочника:

Пользователю

Программисту:

В модуле ПередЗаписью() дописать функционал проверки:

Ошибка возникает при создании нового документа. При записи программа 1С 8.3 автоматически присваивает элементу новый номер, но сохранить новые данные не может, где-то в журнале документов уже есть объект с таким же номером.

Причиной этой ошибки чаще всего служит ручное исправление номеров документов.

Значение поля «Номер» не уникально 1с 8.3

Программа 1С сообщает пользователю, что номер 0000-0006 уже существует.

Нумерация документов в программе осуществляется автоматически. При этом, каждому новому документу присваивается номер в хронологическом порядке, который состоит из определенного количества цифр.

В 1С:Бухгалтерия предприятия 3.0, номер состоит из двух частей:

  • префикс информационной базы — может быть задан, если есть обмен с другими базами 1С;
  • сам номер документа.

В том случае, если пользователь начинает изменять нумерацию вручную или случайно изменил номер, сбив при этом нумерацию документов, программа продолжает нумерацию от номера, содержащего меньшее количество знаков. Изначально, мы видим, что в 1С заложено для номера документа:

  • 4 позиции для префикса;
  • 6 позиций под номер.

Таким образом, сам номер может принимать значение от 0000-000001 до 0000-999999. Если пользователь вручную сокращает длину номера, то она продолжает нумерацию от нового значения. При внесении изменения в префикс, нумерация все равно продолжается от последнего номера, содержащего наименьшее количество знаков. В нашем примере при сбое в нумерации она продолжилась, используя под номер 4 знака: 0000-0005, 0000-0006 и т.д.

В базе уже есть номер 0000-0006, поэтому при попытке ввести его повторно, программа выдаст сообщение о том, что значение поля номер 0000-0006 не уникально.

Рассмотрим ситуацию далее.

Что произойдет, если пользователь сократит числовой резерв для номера до двух или, куда хуже, до одного знака?

Программа 1С будет присваивать номера до тех пор, пока не будет пройден последний максимальный номер. Например, изменив вручную в документе номер на 0000-01, программа сможет автоматически присвоить всего 99 номеров. После номера 0000-99 возможность автоматической нумерации документов закончится и придется каждый раз исправлять номер вручную

После номера 0000-99 при вводе каждого нового документа будет выдаваться сообщение, что значение номера 0000-99 не уникально.

Когда пользователь сокращает длину номера документа (договора и т.п.) — это приводит к сбою нумерации. Поэтому, если возникает необходимость изменить номер документа вручную, надо использовать максимально допустимое число символов.

Как поступить в случае появления такой ошибки? В первую очередь, необходимо просмотреть нумерацию документов. В случае, если исправленных документов было не много, значение номера можно изменить вручную, добавив нужное количество нулей перед значением. При попытке изменить номер, программа выдаст сообщение о редактировании номера, на что мы отвечаем:

  • Продолжить редактированиеДа.

После этого добавляем нули перед значением номера.

После приведения в порядок нумерации, ошибка появляться не будет.

Если исправлений в номерах было много, то можно воспользоваться обработкой для автоматической перенумерации объектов.

Если Вы еще не являетесь подписчиком системы БухЭксперт8:

После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

  1. Записи регистра сведений стали неуникальными при обновлении 1СПри обновлении конфигурации 1С может появиться предупреждение о том, что.
  2. Обнаружено неправомерное использование данного программного продукта в 1С: как убратьПри работе с программой 1С, пользователь может столкнуться с сообщением.
  3. Этот хост неизвестен 1С: как исправитьЭтот хост неизвестен — эта ошибка возникает при подключении к.

Карточка публикации

Разделы: Законодательство (ЗУП), Зарплата (ЗУП), Кадры (ЗУП), Настройки (ЗУП)
Рубрика: Ошибки в 1С
Объекты / Виды начислений:
Последнее изменение: 13.04.2019

>ID, ‘post_tag’ ); // так как функция вернула массив, то логично будет прокрутить его через foreach() foreach( $termini as $termin )< echo '' . $termin->name . »; > /* * Также вы можете использовать: * $termin->ID — понятное дело, ID элемента * $termin->slug — ярлык элемента * $termin->term_group — значение term group * $termin->term_taxonomy_id — ID самой таксономии * $termin->taxonomy — название таксономии * $termin->description — описание элемента * $termin->parent — ID родительского элемента * $termin->count — количество содержащихся в нем постов */ —>

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться или зарегистрироваться.

Вы можете задать еще вопросов

Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8.
Оформить заявку от имени Юр. или Физ. лица вы можете здесь >>

Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>

Оцените статью
SoftLast
Добавить комментарий