Месяц: Март 2019

Ошибка SQL Таблица не найдена

Восстановление базы 1С после неудачного обновления.

Часть вторая

Ошибка SQL Таблица не найдена ‘NNNNNNNN’

При написании статьи использовались публикации

https://infostart.ru/public/99809/

http://www.softmaker.kz/1s/oshibka-subd-oshibka-sql-tablica-ne-najdena-reference-kak-ispravit.html

Итак в предыдущем обзоре я писал что восстановил базу используя HEX редактор. Итак ставлю клиенту базу, у него радости выше крыши и довольный ухожу. Через несколько часов звонок

>Спасибо все хорошо, все документы и справочники целые, только в реализацию не пускает.

!? А как ругается?

>Ошибка SQL Таблица не найдена

Опа!

Копия базы осталась, захожу в журнал документов и точно — Ошибка SQL Таблица не найдена ‘ Document351’

Запускаю конфигуратор преревожу запуск базы как обычное приложение и открываю обработку Соответствие всех объектов конфигурации с таблицами.epf (Самая лучшая это ПосмотрМетаданных82_ОНО.epf. Я ее использовал когда базу на SQL подрезал. Ну что что первое было под руками.)

Чет мне стало нехорошо. Звоню и спрашиваю:

А много реализаций было?

> Да были, но не очень много

Запустил Tool_1CD на пару с Hiew, но шапки документа 351 (Реализация) в самом раннем файле испорченной базы не нашел. Есть табличная часть с указанием услуг и суммой документа. Это хоть что-то.

Ладно, но ведь ссылки на документ могут остаться в проводках и хотя бы в РегистреСведений ДаныеПервичныхДокументов _INFORG12800

Хорошо, думаю, сейчас базу проиндексирую и оно восстановит мне. Ага, Щаз! Не надо быть таким наивным по отношению к фирме 1С.

Короче, оно не индексируется, ссылаясь на отсутствие таблицы _ReferenceChngR2473

А это что за справочник? Основные средства. Их у них нет.

Вспомнилась история, как Желдорэкспедиция приобрела погрузчик и отдельно кабину к нему. Пока бухгалтер думала да гадала как его ввести в эксплуатацию да модернизировать – погрузчик сгорел нахрен с кабиной в ангаре. Пришлось сделать списание.

Приступим.

Первое – делаем копию и ничего не боимся. Если таблица отсутствует – нужно удалить объект конфигурации и по любому проиндексировать базу. Вот почему я и люблю SQL. Там бы посоздавал таблицы и голова бы не болела.

Как я делал. Создал пустую базу с идентичной конфигурацией. Из нее я буду копировать справочники и документы Cltr +C и Cltr +V

В раненой базе добавляю буковку «я» впереди документа РеализацияТоваровУслуг. Потом делаю глобальную замену яРеализацияТоваровУслуг на РеализацияТоваровУслуг. В одном модуле потом дорисовать эту буковку «я». Само ругнется. А потом в чистой конфигурации становлюсь мышкой на документ РеализацияТоваровУслуг (Cltr +C) – а в раненой на Документы (Cltr +V)

И помечаю на удаление яРеализацияТоваровУслуг. Выскочит куева туча ссылок

Нужно удалить ссылки. Я ставил на копированный документ, хотя к конце всего этого процесса он удалится при обновлении конфигурации.

Потом у меня вылез документ РеализацияОтгруженныхТоваров

Чтобы быстрее шла работа – используйте фильтр. И момент, про который не все знают

Тут интуитивно понятно.

Итак я удалил два документа, а потом полезли справочники…. Благо что в них изначально ничего не было.

Логика такова – удалять на что ругается, пока не проиндексирует базу.

После того как база проиндексирована – нужно загрузить идентичную нашей, конфигурацию из файла. Оно удалит созданные нами документы и справочники, загрузит оригинальные и самое главное – создаст таблицы. Номера у таблиц будут другие, не такие как у исчезнувших. Итак загружаю конфигурацию из файла и созерцаю.

Я не буду лезть в подробности и грохну содержимое регистра. Ничего интересного там нет.

И по иронии судьбы вылез регистр ДанныеПервичныхДокументов. Я в Tool_CD выгружу из дохлой базы данные таблицы, грохну содержание регистра в новой , обновлю конфигурацию базы данных, а потом загружу в регистр данные. Не забываем про конвертацию с помощью cnvdbfl.exe и Tool_1CD_alpha. Про нее расписано в первой части.

Сделал, как написал выше и запустил индексацию.

Знаете что он удалил? А я знаю. Записи реализации. Эсники без подляны никак не могут.

Что имеем в осадке.

А имеем две таблицы полученные из первоначальной мертвой базы с помощью Tool_CD. Первая – это реализация услуг.

Вторая это регистр

Соответствия есть. И при желании можно в SQL…

Предложение есть и для файлового варианта

https://infostart.ru/public/143704/

Ввиду ограниченности бюджета у заказчика на этом все и закончилось. Документов было немного. Их проще и дешевле забить руками.

Скачать инструмент

И напоследок.

https://forum.infostart.ru/forum105/topic24464/?PAGEN_1=7

Валерий Агеев (awa) разработчик Tool_CD