Удалилась таблица регистра сведений из SQL базы. Теперь в конфигураторе есть объект метаданных, а в sql нет для него таблицы. Удалить в конфигураторе объект не получается. Приложение крашится. Что можно с этим сделать? Помогите плз. Идеи закончились. Рабочей копии с этим объектом не осталось. Как отредактировать метаданные 1С?
---
В общем проблемы решил. Как и хотел снял .cf, сделал из нее файловую копию, удалил проблемный регистр, снял .cf, сделал сравнение объединение с sql базой, получилось удалить регистр из sql базы, обновился, создал его обратно, перепровел несколько документов. Результат: База ЖИВА!!! =)) Всё работает корректно. Записи, как и сам регистр в предприятии есть, читаются, редактируются. Спасибо тебе Бро за то что навел на нужные мысли. Война с базой длинной в 4 дня закончена победой! =))
---
Реструктуризацию сделать
---
Делал первым делом. Не помогает.
---
Выгрузить cf, развернуть из него пустую базу на sql, в пустой базе на sql создать скрипт CREATE этой таблицы.. запустить его для старой базы..

ну и естественно с тем именем, что было в старой (если вдруг поменялось)
---
ой таблицы.. запустить его для старой базы.. А можешь подробней объяснить что значит создать скрипт CREATE и как это сделать?
---
если таблица удалилась.. то доступ к SQL managment studio есть? - в нем становишься на нужно таблице - и правой клавишей мыши - а там по тексту...
---
то доступ к SQL managment studio есть? Доступ есть. Хотел бы проговорить шаги для того чтобы понять правильно ли я всё понял.
Я выгружаю .cf, создаю пустую базу из этого .cf в SQL, в managment studio нахожу нужную таблицу и правой кнопкой мыши в меню создаю скрипт CREATE. Далее этот скрипт надо запустить в битой базе. Так?
---
да, только проверить чтоб имя битой таблицы совпадало с той, что указано в скрипте, если не, то поправить

в старой посмотреть как таблица называлась через ПолучитьСтруктуруХраненияБазыДанных()
---
Не понял про "проверить имя битой таблицы". Где это надо проверять? В битой базе таблицы нет в принципе. Есть только объект метаданных в конфигураторе.
---
ПолучитьСтруктуруХраненияБазыДанных()

или проверить что бы не было таблицы с таким именем - выполняем скрипт - и проверяем, что все ок. - если нет имя изменилось - и ПолучитьСтруктуруХраненияБазыДанных() и меняем скрипт на то что был
---
Так на какой базе надо получать структуру? В битой базе для проблемного объекта метаданных нет ничего.
---
т.е. в битой для регистра ПолучитьСтруктуруХраненияБазыДанных(, Истина) ничего не выводит?
---
Да((
---
и имя поменялось?
---
Я не понимаю о каком конкретно имени идет речь. В битой базе для проблемного регистра в таблице значений, полученной при помощи ПолучитьСтруктуруХраненияБазыДанных() нет строк.
Т.е.
СтруктураБД = ПолучитьСтруктуруХраненияБазыДанных();
Отбор = Новый Структура;
Отбор.Вставить("Метаданные","РегистрСведений.ИмяПроблемногоРегистра");
Массив = СтруктураБД.НайтиСтроки(Отбор);
В массиве нет ничего.
---
и можно проще
ПолучитьСтруктуруХраненияБазыДанных(Метаданные().РегистрыСведений.Проблема, Истина)
---
При таком обращении происходит краш приложения. Поэтому искал с помощью НайтиСтроки()
---
имени таблицы на sql - при создании чистой базы имя может поменяться. поэтому сначала пробуешь создать таблицу с тем именем, которое в скрипте, и если не взлетит, то надо даль что то думать..
---
и это - я надеюсь, полный бекап базы сделан? кстати - размер базы какой?
---
Сделан бэкап из SQL, т.е. backup.bak. Размер файла .mdf примерно 37гб.
---
а развернутая база (если бекап сжатый) - примерно гиг 300?
можно перегрузить данные в новую базу - только времени это займет уйму..

точно никаких старых бекапов нет? - когда был этот регистр?
---
бэкап не сжатый. Размер бекапа почти одинаков размеру файла .mdf. Регистр новый. Его создали совсем недавно. На данные из него плевать. Перепроведу документы по нему и всего делов если что. Сейчас думаю сделать бекап на настоящий момент, снять .cf, создать файлову базу из него и там попробовать удалить проблемный регистр, опять снять .cf и загрузить жестко в базу. Может поможет....
---
ову базу из него и там попробовать удалить проблемный регистр, опять снять .cf и загрузить жестко в базу.
должно сработать
Проверил у себя на тесте... ошибка...
---
или его добавил, горохнул на стороне sql и все?
---
хотя у меня краша не происходит.. но пишет
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Invalid object name 'dbo._InfoRg12066'.
HRESULT=80040E37, SQLSrvr: SQLSTATE=42S02, state=1, Severity=10, native=208, line=1

так что имя таблицы узнать можно...

1С:Предприятие 8.3 (8.3.9.2170)
---
А что ты сделал? Можешь пошагово рассказать?
---
В общем проблемы решил. Как и хотел снял .cf, сделал из нее файловую копию, удалил проблемный регистр, снял .cf, сделал сравнение объединение с sql базой, получилось удалить регистр из sql базы, обновился, создал его обратно, перепровел несколько документов. Результат: База ЖИВА!!! =)) Всё работает корректно. Записи, как и сам регистр в предприятии есть, читаются, редактируются. Спасибо тебе Бро за то что навел на нужные мысли. Война с базой длинной в 4 дня закончена победой! =))
---
Рад, что все закончилось хорошо)