Сегодня после обновления 1С:Бухгалтерии предприятия на версию 2.0.64.6, при открытии Регламентированных отчетов стала появляться ошибка следующего содержания:
<(5, 2)>: Таблица не найдена «Константы» >Константы КАК Константы
Причем ошибка появилась сразу на нескольких базах и у всех пользователей. Также эта ошибка выходила при просмотре регламентированных отчетов и журналов документов.
Следующие варианты помогли в разных случаях:
- Обновление платформы до актуальной версии
- Зайти в режим «Конфигуратор» (остальные пользователи при этом должны выйти из программы). Перейти в меню Администрирование -> Тестирование и исправление
- Проверка через chdbfl. Зайдите в папку, в которую у вас установлена 1С. Обычно это ‘C:Program Files1cv8’. Здесь вы увидите папки в названии которых присутствуют цифры, обозначающие номера версий платформы. Выберите папку с самой старшей версией (Например 8.3.8.2054): Найдите файл с названием chdbfl
Доброго времени суток, уважаемые читатели блога SoftMaker.kz. Сегодня мы поговорим, как побороть ошибку, возникающую
в файловой базе 1С при неправильном закрытии системы 1С:Предприятие, например при внезапном отключении света или
неправильной работе компьютера (работает и в случае, если
1С:Предприятие 8 установлено на MS SQL Server 2008 R2 Express).
Ошибка СУБД: Ошибка SQL: «Таблица не найдена: _Reference76» появлялась, когда производилось
тестирование и исправление информационной базы (ТиИ ИБ) при прохождении проверки логической целостности ИБ.
При попытке выгрузить ИБ Конфигуратор вылетал.
Проверка физической целостности файла 1Cv8.1CD с помощью утилиты chdbfl.exe
показало, что ошибок не обнаружено. Поэтому пришлось идти другим путём и получилось следующее:
Определяем как в базе называется таблица _Reference76 с помощью внешней обработки 1С
В случае ошибки СУБД: Ошибка SQL: Таблица не найдена _Reference76 сразу становится ясно, что была удалена
таблица «_Reference76» и из названия ясно, что это какой-то справочник. Но как теперь определить,
к какому именно справочнику таблица «_Reference76» относится, чтобы попытаться её восстановить?
Для этого можно написать небольшую обработку для выяснения названия:
В результате работы обработки выяснилось, что таблица «_Reference76» относится к справочнику «Спецификации номенклатуры».
Обработку для поиска соответствия названия справочников конфигурации 1С и их внутренних таблиц можно скачать
отсюда.
Заменяем справочник «Спецификации номенклатуры» на новый
Теперь заменим справочник «Спецификации номенклатуры» на новый. Для этого выполним следующие действия:
- Изменим наименование справочника «СпецификацииНоменклатуры» на «ЯСпецификацииНоменклатуры».
Нажмём правой кнопкой мыши на справочнике «СпецификацииНоменклатуры» и в контекстном меню выберем пункт
«Свойства» и в поле «Имя» изменим наименование. - Теперь отсортируем справочники в дереве метаданных по имени. Нажмём правой кнопкой мыши
на справочнике «СпецификацииНоменклатуры» и в контекстном меню выберем пункт
«Сортировать…». Cправочник «СпецификацииНоменклатуры» оказался в самом низу, нам это
пригодится в дальнейшем. - Теперь заменим справочник «Спецификации номенклатуры» на новый. Для этого нужна идентичная
конфигурация с неповреждённым справочником «Спецификации номенклатуры». Нужно открыть эту конфигурацию
в режиме «Конфигуратор» и выделить справочник «Спецификации номенклатуры» в дереве метаданных и
скопировать его (Ctrl+C).
«Конфигурация» | «Поддержка» | «Настройка поддержки». В дереве метаданных выберем справочник
«ЯСпецификацииНоменклатуры» и двойным щелчком мыши на справочнике откроем следующий диалог:
флажок «Установить для подчинённых объектов».
конфигурации выглядят следующим образом:
Убираем ссылки со старого справочника «Спецификации номенклатуры» и удаляем его
-
Жмём правой кнопкой мыши на справочнике «ЯСпецификацииНоменклатуры» и в контекстном меню выбираем пункт
«Удалить». Появилось сообщение Конфигуратора: «Объект не может быть удален, так как на него имеются ссылки
в других объектах!»
Нажимаем на кнопку «ОК». В окне служебных сообщений видим список объектов, которые содержат в себе ссылки на
справочник «ЯСпецификацииНоменклатуры». Этот список поможет быстро заменить ссылки со справочника
«ЯСпецификацииНоменклатуры» на справочник «СпецификацииНоменклатуры». Приступим.
Чтобы заменить ссылки в объектах нажимаем на каждую строку списка двойным кликом.
Для примера возьмём первый элемент списка «ПодпискаНаСобытие.ПриУстановкеНовогоКодаСправочника.Источник»
После двойного клика на этом элементе, в дереве метаданных откроется объект и
в нём мы найдем ссылку на справочник «ЯСпецификацииНоменклатуры».
Два раза нажимаем левой кнопкой мыши, чтобы открыть свойство объекта, в котором содержится ссылка на
справочник «ЯСпецификацииНоменклатуры».
Как видно из вышеприведённого изображения в поле «Источник» содержится составной тип, в который входит и
справочник «ЯСпецификацииНоменклатуры». Заменим ссылку со справочника «ЯСпецификацииНоменклатуры»
на справочник «СпецификацииНоменклатуры» в диалоге редактирования составного типа данных.
Ссылка заменяется снятием флажка напротив справочника «ЯСпецификацииНоменклатуры» и
установкой флажка напротив справочника «СпецификацииНоменклатуры».
вышеприведённого списка.
Теперь новый справочник «СпецификацииНоменклатуры» ссылается на новую таблицу в базе 1С — _Reference6845.
Если в справочнике были какие-нибудь данные, то они уже уничтожены, поэтому нужно их восстановить.
Это можно сделать воспользовавшись советами статьи
Как выгрузить данные в идентичную конфигурацию 1С?
Если была удалена другая таблица, например _DOCUMENT, тогда нужно изменить обработку для поиска
соответствия названия документов конфигурации 1С и их внутренних таблиц, а шаги проделать те же самые.
Сегодня, после обновления 1С:Бухгалтерии предприятия, на версию 2.0.64.6, при открытии Регламентированных отчетов стала появляться ошибка следующего содержания:
<(5, 2)>: Таблица не найдена «Константы»
>Константы КАК Константы
Если нажать кнопку «Подробно», то получали ошибку:
<Обработка.ОнлайнСервисыРегламентированнойОтчетности.МодульОбъекта(772)>: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
<(5, 2)>: Таблица не найдена «Константы»
>Константы КАК Константы
Причем ошибка появилась сразу на нескольких базах и у всех пользователей. Также эта ошибка выходила при просмотре журнала документов Реализация товаров и услуг.
Решение проблемы
В результате было найдено два способа решения этой проблемы.
Способ №1
У клиента использовалась платформа 8.2.19.106, и проблема решилась обновлением до версии 8.3.5.1383
Способ №2
Необходимо зайти в режим «Конфигуратор» (остальные пользователи при этом должны выйти из программы). Перейти в меню Администрирование -> Тестирование и исправление.
После завершения процесса можно закрывать конфигуратор и пользоваться программой. Ошибка должна исчезнуть.