вторник, 2 августа 2011 г.

1С 7.7 Нарушена структура индексов таблицы

Нарушена структура индексов таблицы CJ1196
Нарушена структура индексов таблицы CJ1238
Нарушена структура индексов таблицы CJ447
Нарушена структура индексов таблицы CJ757

Пришлось столкнуться с этой ошибкой. Честно говоря, я был поражен отсутствием подробной инструкции по решению данной проблемы в интернете. Эта ошибка возникает на платформе 7.7 при использовании компоненты "расчет" (или проще говоря, когда есть расчет зарплаты) при работе с Microsoft SQL Server 2000. Причем при входе в монопольном режиме ошибка исчезает, но при попытке входа нескольких пользователей появляется опять. Причиной появления такой ошибки является смена платформы 1С Предприятия на более новую версию (в моем случае это был 27 релиз платформы), а база данных на SQL сервере была загружена более старой версией. У меня она возникла при не значительном изменении конфигурации. А именно, в состав конфигурации был добавлен один дополнительный отчет, который никак не был связан с зарплатной частью. По данным найденным, в сети я понял, что проблема связана с несоответствием файла 1cv7.dds и фактической структурой данных на SQL Server-е. Обычно файл 1cv7.dds можно перегенерировать. Для этого его нужно переместить из папки базы данных 1с, сделать незначительные изменения в конфигурации и сохранить их. Один из вариантов это зайти в конфигуратор и добавить пробел в название конфигурации или еще один Конфигуратор-Конфигурация-Открыть конфигурацию-Развернуть ветку конфигурации "Виды расчетов"-Встать на любой вид расчета-Нажать на нем правую кнопку мышки-В выпавшем меню выбрать Упорядочить.-После этого в заголовке окна после слова Конфигурация должная появиться Звездочка "*". Затем нажимаем Ctrt+S или нажимаем на дискетку. Соглашаемся со всеми вопросами. Пробуем закрыть конфигуратор и запустить предприятие в "не монопольном" режиме. Если не помогло. Заходим еще раз конфигуратор. В меню администрирование выбираем выгрузить данные. Затем в заходим в Enterprise manager SQL сервера. Отключаем базу данных (Detach database). Создаем новую базу в SQL с тем же именем. Можно и в той же папке, но тогда нужно убрать файлы базы SQL. Но и в конце концов снова зайти в конфигуратор и загрузить данные. При этом стоит обновить все Платформы 1С предприятия до последней версии.