HelpF.pro

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

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

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

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

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

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

Посмотрите: Перенумерация документов, справочников, и сама Обработка Универсальные подбор и обработка объектов

 Сбилась автонумерация у документа или справочника с текстовым кодом, что делать?


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

Посмотрите примеры выше и дополнительно: Как сбросить счётчик нумерации документов или справочников

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

Код 1C v 8.х

//Проверим текущий номер документа и установим новый если он занят
Если НомерЗанят(Номер) Тогда
УстановитьНовыйНомер();
КонецЕсли;

//функция НомерЗанят() по функционалу очень проста
// в вашей ситуации возможно ее придется изменить
Функция НомерЗанят(НомерДока)
Результат = Ложь;
Попытка
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| Документ_.Номер
|ИЗ
| Документ.Документ КАК Документ_
|ГДЕ
| Документ_.Номер =НомерДока
| И Не Документ_.Ссылка =ТекДок»;
Запрос.УстановитьПараметр(«НомерДока», НомерДока);
Запрос.УстановитьПараметр(«ТекДок», Ссылка);
Результат = не Запрос.Выполнить().Пустой();
Исключение
КонецПопытки;
возврат Результат;
КонецФункции //НомерЗанят()

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq7/view/1690.html