Приветствую коллеги. Оставляю это здесь навсякий случай может быть кому пригодиться.
Столкнулся недавно с такой ерундой, везде описано но очень сложно для понимания
«Нарушено условие уникальности данных.
Попытка вставки неуникального значения в уникальный индекс»
При попытке записать документ операция (ручной учет) — выдается вот такое некрасивое сообщение.
1. Пробовал в sql отключить уникальность индексов. провести документ. затем обратно включить уникальность. и тут ждала меня проблема — но оно же и логично, обратно галка эта не захотелась ставиться. выдает такую же ошибку но теперь в самом MS SQL.
2. Далее. Следующее что я проверил. Выгрузка из sql в dt — затем загрузка в файловую тестирование и исправление базы — потом загрузка в sql обратно. При загрузке обратно написало что в базу загружены не все данные и как раз ошибка на этих индексах. Также попробовал в файловой утилиту проверки баз. Утилита показала что есть проблема с индексами — но типа обнаружены ошибки. можно работать. Ошибки такие она не исправляет эта утилита.
3. Тестирование и исправление БД в клиент-серверном без выгрузок в файловую. 0 реакции. не помогает.
Обратил внимание также на такую странность. Данные были свернуты обработкой свертки. и сделаны на начало года операции. Если формировать оборотно сальдовую ведомость то появляются две суммы красным — и нет у них регистратора — просто висят в сальдо и все. откуда эти суммы возникают средствами 1с не узнать.
Тут же родилось такое предположение — что эти суммы отвязались каким-то образом от документа и висят, когда родной документ делает эту же операцию — база показывает ему что запись такая уже есть.
Что ж остается только одно лезть в MS SQL и прибивать эти строки. Об этом позже напишу….