Выяснение соответствий названий таблиц объектам конфигурации (напр. РегистрСведений.НДСРеализация0 — _AccumRG15195)

Один из инструментов устранения ошибки типа Ошибка СУБД: Ошибка SQL: Таблица не найдена: <ИмяТаблицы>

В процессе восстановления работоспособности конфигурации при ошибке типа:Ошибка СУБД: Ошибка SQL: Таблица не найдена: (напр. _AccumRG15195) полезно знать какой объект конфигурации представляет эта таблица.  Например РегистрНакопления.НДСРеализация0 это таблица _AccumRG15195. Чтобы определить к какому объекту метаданных принадлежит эта таблица можно воспользоваться этой ссылкой соответственно если программа ругается на таблицу вида _AccumRG мы знаем что это таблица Регистра накопления, в обработке ставим флаг на «Искать регистры накопления ( _AccumRG)» и обработка выведет в окне сообщений соответствия названий таблиц и объектов типа РегистрыНакопления типа: РегистрНакопления.ВзаиморасчетыСДепонентами — AccumRg14615 и т.д.

Например разрушилась таблица _AccumRG15195, с помощью обработки выясняем, что это РегистрНакоплений.НДСРеализация0. Заходим в Конфигурацию, заходим в ветку РегистрыНакопления, снимаем с поддержки объект НДСРеализация0  и переименовываем его например в ННДСРеализация0, открываем здоровую конфигурацию, копируем (Ctrl+C) объект НДСРеализация0 и вставляем его в больную конфигурацию, далее пробуем удалить объект ННДСРеализация0, появится окно с руганью, что на этот объкт ссылаются другие объекты, жмем ОК и в окне сообщений вываливаются эти объекты. В окне сообщений мышей щелкаем по этим объектам и они открываются на редактирование, там обнаруживаем ссылки на  ННДСРеализация0 (например в движениях документа «ВводОстатков» будет стоять крыж на ННДСРеализация0 ) и заменяем на нормальный НДСРеализация0 (например в документе «Ввод остатков» в движениях снимаем крыж с ННДСРеализация0 и ставим на   НДСРеализация0) Далее удаляем объект конфигурации ННДСРеализация0, сохраняем конфу и все!

3 Comments

  1. Gureev

    Какой то ад…

    как таблица может разрушиться?

    Почему нельзя восстановить из бэкапа?

    Что делать с движениями, которые были в таблице?

    Потом, при снятии с поддержки и удалении регистра слетает ссылка и в дальнейшем при обновлении 1Ска будет пытаться добавленный регистр удалить.

    В конце после «сохраняем конфу и все!» хочется добавить «теперь осталось облить офис бензином, поджигаем, и спешно покидаем страну!»

    Reply
  2. МихаилМ

    как правило это ошибка реструктуризации.

    и необходимая таблица остается в бд.

    соответствие имен таблиц и полей и метаданых хранится в записи dbтames таблицы парамс

    культурней исправить это соответствие. либо найти «пропавшую» таблицу и перенести в неё данные

    а для восстановления метаданного должно хватить добавления реквизита

    Reply
  3. ufedor

    (0) В вашем посте обработка не самое ценное, тем более что подобных обработок уже масса, хотя бы моя )

    http://infostart.ru/public/99236/

    Думаю, было бы правильнее оформить как статью, посвященную низкоуровневому поиску ошибок и методам их исправления.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *