1с значение поля номер не уникально
Здравствуйте!
При проведении документа прием на работу возникла проблема, программа выдает предупреждение: "Значение "0000-00005к" поля "Номер" не уникально, хотя в самом документе значение стоит 8к. Проверила нумерацию всех кадровых документов "Значение "0000-00005к" нет вообще, перезагрузка программы с последующ. обновление проблему тоже не решили.
Подскажите пожалуйста в чем причина и как ее устранить.
Наталья , пробуем, предварительно создав копию базы:
1 - если документ создавали копированием, удалите его и создайте вновь вчистую;
2 - очистите кэш;
3 - проведите тестирование и исправление базы (ТИИ штатное + chdbfl.exe).
На каждом шаге см. результат.
Valentin46 , документ создавала вновь. Подскажите как очистить кэш и где найти "тестирование и исправление базы (ТИИ штатное + chdbfl.exe)"
Если у вас файловый режим базы (об этом см. в Справке о программе).
1. Очистка кэша: удаляем базу, затем добавляем её же в окне запуска 1С Предприятия.
2. ТИИ: открываем конфигуратор, в меню выбираем "Администрирование - Тестирование и исправление. ".
3. chdbfl.exe: тест-утилита 1С, которая находится в bin-папке платформы (C:\Program Files (x86)\1cv8\8.3.16.1502\bin\).
Valentin46 , проделала все перечисленные манипуляции, проблема не решилась.
Высылаем ответ отдела разработки:
Откройте кадровый документ и по кнопке "Еще изменить форму" выведите реквизит "Рег.номер". Это системный номер документа.
Нумерация в программе – 11 символов: 2 символа – префикс базы, 2 символа – префикс организации, спецсимвол тире «-», 6- символов – порядковый номер.
Изменив рег. номер Вы сбили нумерацию. Восстановите ее – в документах уберите последний буквенный символ и добавьте в номерной части «0 (чтобы сохранилась 11 символьная нумерация) - например, если было 0000-00043к, должно стать 0000-000043. Сделать это надо для всех кадровых документов.
Номер кадрового документа, соответствующий Вашей внутренней нумерации следует указывать в соответствующем поле «Номер».
В организации на протяжении всей деятельности кадровые документа нумеровались так: прием на работу: 1к,2к, 3к и т.д, отпуск 00000001-ОТ, 00000002-ОТ и д.т., перевод 1, 2, 3 и т.д. до сегодняшнего дня проблем не было. Открыла регистрационные номера, номер 0000-00005к занят, но за ним был успешно проведен 0000-00007к
Глобальный контекст (Global context)
ОбновитьНумерациюОбъектов (RefreshObjectsNumbering)
Синтаксис:
Тип: Массив; Объекты метаданных.
Объект метаданного или массив объектов метаданных, для объектов которого будет выполнено обновление. Если значение параметра не указано, то обновление будет выполнено для всех типов объектов.
Описание:
Выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность. Данный метод разрешено вызывать только администратору системы.
Сервер, толстый клиент, внешнее соединение.
Тоже помогло ОбновитьНумерациюОбъектов(). Кассовая смена не открывалась в УТ 11, указал метаданные только для этого документа, закрылась нормально. Пробовал все способы.НЕ помогло и ОбновитьНумерациюОбъектов().
Сделал следующим образом.
Двинул документ на год вперёд. Записал.
Двинул на год назад. Присвоил новый номер. Записал и провёл. Номер присвоен.
Кривовато, конечно, номер перескакивает через 1, но по-другому не выходит. (20) cargobird, значит не все пробвали, но этот способ говорит о кривом создании и изменении документа! (21) Xershi, весь интернет перешерстил, ничего не помогло.
Где-то в базе что-ли косяк.
Потому что реально нет документа с этим номером в текущем году.
Документ создается в коде самым стандартным способом.
Вручную, при этом документ записывается.
То есть не создается с этой ошибкой только в коде.
(плюс заполнение всех необходимых реквизитов, не стал писать)
И до некоторых пор это работало без сбоев.
Да, и сбой проявлялся последовательно.
Сначала в одной из обработок создавалась пара Списание-Оприходование, Оприходование стало отказывать в записи с этой ошибкой.
Затем еще одна обработка, которая создавала Реализацию-Поступление, Реализация стала вылетать.
Закономерность не ясна.
Оприходование после подобного передергивания глючить перестало. Надо попробовать, может и реализацию тоже уже не нужно так дергать.
Передергивание помогло. Реализация тоже глючить перестала при записи в коде.
Знать бы еще почему. Вероятно была доработка в конфигурации, важно проверить не обрезались ли номера, если с номерами все нормально, то скорее всего при переносе как-то что-то занеслось или был контроль уникальности снят (24) Sangre1999, в базу ничего извне не попадает. Контроль уникальности не менялся. (26) cargobird, ну так приведите скриншоты корня конфигурации и настроек нумерации документа. Так же важно почистить кэш и чтобы с этим типом документов не работали при проверке пользователи! (27) Xershi, в части реализации и её нумерации конфа стандартная, УТ 10.3.
В базе сидел я один с почищенным кэшем.
Делали восстановление копии предыдущего дня в другую базу - то же самое.
Коллеги, столкнулся с этим и нашел возможное решение.
У меня возникла ситуёвина, что существующий документ прошлого года программно перезаписывался в текущем. Номер ему не переприсваивался, а брался прошлогодний. Но в этом году уже такой номер в базе есть. В итоге в каждом году номер вроде бы уникальный, а ситуация вызывает ошибку. Скорее всего и у вас та же проблема, если, конечно она не вызвана платформой. Если вызвана платформой, то ОбновитьНумерациюОбъектов() и очистка кеша должна помочь.
ОбновитьНумерациюОбъектов() можно сделать из встроенной обработки редактирования стратегии нумерации объектов.
Ошибка возникает при создании нового документа. При записи программа 1С 8.3 автоматически присваивает элементу новый номер, но сохранить новые данные не может, где-то в журнале документов уже есть объект с таким же номером.
Причиной этой ошибки чаще всего служит ручное исправление номеров документов.
Программа 1С сообщает пользователю, что номер 0000-0006 уже существует.
Нумерация документов в программе осуществляется автоматически. При этом, каждому новому документу присваивается номер в хронологическом порядке, который состоит из определенного количества цифр.
В 1С:Бухгалтерия предприятия 3.0, номер состоит из двух частей:
- префикс информационной базы — может быть задан, если есть обмен с другими базами 1С;
- сам номер документа.
В том случае, если пользователь начинает изменять нумерацию вручную или случайно изменил номер, сбив при этом нумерацию документов, программа продолжает нумерацию от номера, содержащего меньшее количество знаков. Изначально, мы видим, что в 1С заложено для номера документа:
Таким образом, сам номер может принимать значение от 0000-000001 до 0000-999999. Если пользователь вручную сокращает длину номера, то она продолжает нумерацию от нового значения. При внесении изменения в префикс, нумерация все равно продолжается от последнего номера, содержащего наименьшее количество знаков. В нашем примере при сбое в нумерации она продолжилась, используя под номер 4 знака: 0000-0005, 0000-0006 и т.д.
Рассмотрим ситуацию далее.
Что произойдет, если пользователь сократит числовой резерв для номера до двух или, куда хуже, до одного знака?
Программа 1С будет присваивать номера до тех пор, пока не будет пройден последний максимальный номер. Например, изменив вручную в документе номер на 0000-01, программа сможет автоматически присвоить всего 99 номеров. После номера 0000-99 возможность автоматической нумерации документов закончится и придется каждый раз исправлять номер вручную
Когда пользователь сокращает длину номера документа (договора и т.п.) — это приводит к сбою нумерации. Поэтому, если возникает необходимость изменить номер документа вручную, надо использовать максимально допустимое число символов.
После этого добавляем нули перед значением номера.
После приведения в порядок нумерации, ошибка появляться не будет.
Если исправлений в номерах было много, то можно воспользоваться обработкой для автоматической перенумерации объектов.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
.У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.Конфигурация 1С состоит из объектов: Константы, Документы, Регистры и ряда.В совместном Письме Минфина и ФНС от 28.08.2019 N БС-4-11/17090@.
Карточка публикации
(3 оценок, среднее: 4,67 из 5)
Данную публикацию можно обсудить в комментариях ниже.Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Спасибо! Очень ценно полезно нужно! Буду еще неоднократно обращаться к этому семинару для изучения этой темы.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Все комментарии (23)
И еще вопрос: почему это вышло только на этом документе ? Ведь у меня получается, что это не первый повторяющийся документ ( в 2020 та же нумерация) ?
Попробуйте присвоить вручную следующий номер
Я про то, что может быть с нулями ставить , как правильнее ? Напр. У меня нумерация № 003К-000000, я меняла последние три цифры: 003К-00011У. (номер не уникален, так как этот же номер есть в 2020 году). Сейчас я ставлю, как вы посоветовали, вручную : 11У, все так ? Или добавить впереди нули ?
Нули в номере обязательно нужны! У вас должен быть номер такого формата XXXX-XXXXXX.
Я ппредлагала поставить 003Л-00012У, ну я бы наверное так бы сдалала)))
А по хорошему не стоит строгать номер, который присваивает программа, поставьте тот, который пропустит. А в тот, что на печать ставьте что угодно.
да, я поняла, настрогала дров. Программа ничего не предлагает, в поле номер пусто. Поэтому я написала вручную , сработало. Пока так. А там видно будет. Спасибо!
Все равно не получается. Вернее, одного сотрудника получилось уволить, а следующего нет. У меня срочники, меняется дата увольнения . Так вот при изменении даты увольнения программа ругается, что номер не уникален: хоть вручную, хоть тот же , но следующим порядковым номером. Подскажите, пожалуйста, как мне отредактировать номера ?
Тогда придется дождаться ответа эксперта)))
Я ее читала. У меня не исправляется номер, так как этот документ не редактируется. А в примере сказано про платежки. Принцип нумерации я поняла, поэтому про нули и спрашивала.
Какой конкретно номер вы указываете и программа говорит, что он неуникальный? Почему не укажите следующий по порядку номер увольнению?
Я указываю, но при изменении даты увольнения программа ругается и никакой номер не дает.
Приложите, пожалуйста, скан окна программы с ошибкой. Спасибо!
Лучше все же не изменять номера документов.
3. Теперь мне надо поменять в этом документе дату увольнения. Я делаю этот документ не проведённым, меняю дату. Программа ругается. СКРИН №3
4. Создаю новый документ, с другой датой, номер в документе пустой (для меня уже не принципиально, лишь бы провелся). СКРИН №4
5. Пытаюсь завести номер сама, программа ругается. СКРИН №5
С предыдущим сотрудником (Коротков №003К-00011У )было тоже самое, но мне кто-то из подписчиков в ответе посоветовали поменять номер. Я поменяла просто на №11, и сработало: документ провелся, как мне надо. Потом уже исправила на который есть . И возможно, поэтому при заведении нового сотрудника нумерация пустая. И и теперь при новом документе так выходит.
Читайте также: