Индексы в таблице _1SCRDOC #353367


#0 by shadow_sw
Доброго времени суток! Проблема следующая, при сохранении кофигурации произошла ошибка, при входе в базу говорит что индекс не уникальный. Запросом в БД нашел 6 документов имеющих не верные ссылки. Если их удалить, при восстановлении индексов они восстанавливаются
#1 by shadow_sw
проблема такая же как и в ветке
#2 by shadow_sw
решение тут
#3 by smaharbA
можно и в ЕМ таблицу на редактирование открыть, отсортировать и ручками поправить
#4 by shadow_sw
удалил, после индексации таблицы эти записи сново появляются, подскажите что сделать?
#5 by smaharbA
искать эти доки и править, или удалять
#6 by Джинн
Убей эту таблицу вообще и сделай тестирование и исправление. Или любыи способом запусти пересчет ссылок - в конфиге что-то поправь.
#7 by shadow_sw
убить? база не упадет? в конфиг зайти тоже не дает
#8 by Джинн
Ни фига ей не будет. Это служебная таблица и она перестроится. Но копию, как настоящему индейцу, рекомендую делать ВСЕГДА, перед любым действием с базой. Очень хорошая привычка.
#9 by shadow_sw
бэк есть скулевый, как у настоящего индейца, завсегда :)
#10 by Джинн
Главное не забыть к нему соответствующий ему md хранить :)
#11 by shadow_sw
прочитал следующие рекомендации - "Для решения проблемы можно применить следующую методику - создаете пустую базу в нее копируете файл конфигурации, заходите в конфигуратор, удаляете все графы отбора, сохраняете, копируете файл конфигурации в рабочую базу, запускаете пересчет служебных данных, восстанавливаете графы отбора" стоит делать?
#12 by smaharbA
и бесполезно
#13 by Джинн
Нет. Я же сказал что сделать.
#14 by shadow_sw
а не создаться ли таблица с такими же кривыми записями?
#15 by shadow_sw
Проблема такая: при обновлении конфигурации на этапе пересчёта перекрёстных ссылок 1С ругается "CREATE UNIQUE INDEX terminated because a duplicate key was found for index ID 2" и умирает. Фишка в том, что она сначала напихивает записей в _1scrdoc, а потом уже создаёт уникальный индекс, который не желает создаваться, т.к. 1С неправильно заполнила таблицу. Не долго думая я залез в 1Cv7.DDS, нашёл там нужный индекс (CHILDID, MDID, PARENTVAL) и вырубил ему уникальность. После повторного запуска конфигуратора обновление завершилось прекрасно. Далее, таким вот запросом SELECT CHILDID, MDID, PARENTVAL, count(*) FROM _1scrdoc GROUP BY CHILDID, MDID, PARENTVAL FROM _1sjourn WHERE IDDoc IN ( ) определил, какие документы так жестоко ввели 1С в заблуждение (это оказались выписки). Нашёл эти документы в 1С и перепровёл. Удалил _1scrdoc, включил уникальность обратно, зашёл в 1С - всё зашибись, всё уникально.
#16 by smaharbA
об этом написано в у доков небыло ид
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С