Таблица или поле не содержится в разделе from 1с

Обновлено: 08.07.2024

Обычно ошибка SDBL происходит при сохранении и обновлении конфигураций в момент реструктуризации базы данных, а также во время работы обменов данными.

  • Ожидается выражение (pos = ).
  • Выход за пределы размерности.
  • Поле таблицы не может принимать значение NULL.
  • Ошибка при полнотекстовом индексировании.
  • Попытка вставки значения недопустимого типа.
  • Поле определено неоднозначно.
  • Пропущена точка с запятой.
  • В схеме базы данных нет таблицы с именем…

Исправление ошибки SDBL

Большая часть способов исправления связана с восстановлением нормальной работы Информационной Базы. Но иногда описанными способами решить проблему не получается, поэтому помните о самом лучшем, универсальном способе — регулярном резервном копировании.

Перезагрузка сервера 1С и SQL-сервера

Самый простой способ, при условии, что на текущий момент в базе никто не работает.

Зайдите на сервер и выключите следующие службы:

  • «Агент сервера 1С»,
  • «SQL Server»,
  • «Агент SQL Сервера».

А затем запустите их обратно.

Очистка кэша на сервере и клиента, где проявилась ошибка

Как правило кэш расположен по адресу:

  • «%userprofile%\Local Settings\Application Data\1C\1Cv8» и «%userprofile%\Application Data\1C\1Cv8» для Windows XP,
  • «%userprofile%\AppData\Roaming\1C\1Cv8» и «%userprofile%\AppData\Local\1C\1Cv8» для Windows 7 и выше.

Перейдите в данный каталог и удалить все папки с генерированными именами вида « dg7c8re4-b89r…». При удалении будьте внимательны — в этой директории может присутствовать индекс полнотекстового поиска 1С, а также журналы регистрации, их удалять не нужно.

Перезаливка базы из DT-файла

Иногда помогает, казалось бы, парадоксальный способ — выгрузка базы данных в файл формата DT, а затем загрузка его обратно.

Войдите в режим «Конфигуратор», выберите пункт меню «Администрирование» > «Выгрузить информационную базу» и выберите каталог для сохранения файла.

Затем через аналогично через меню «Администрирование» > «Загрузить информационную базу» загрузите его обратно.

Тестирование и исправление Информационной базы

Для тестирование и исправление Информационной базы: войдите в «Конфигуратор», выберите пункт меню «Администрирование» > «Тестирование и исправление».

В случаях, когда невозможно запустить конфигуратор, воспользуйтесь утилитой chdbfl.exe. Это упрощенная программа-аналог тестирования базы, функции, которая запускается в режиме конфигуратора. Расположена она в папке «bin» установленной технологической платформы, например, C:\Program Files (x86)\1cv8\8.3…\bin\chdbfl.exe.

Пользоваться ей просто — указываете путь к файлу базы данных и ставите опцию, нужно ли сразу исправлять обнаруженные ошибки. Если нет — утилита только продиагностирует ИБ.

Обновление платформы до новой версии

В данном случае всё достаточно просто. Скачивает с сайта поддержки 1С дистрибутив свежей версии платформы, распаковываем и запускаем инсталятор setup.exe.

Очистка таблиц базы данных

В крайнем случае можно попробовать удалить таблицы БД, связанные с ошибкой — «dbo._ConfigChngR» и «dbo._ConfigChngR_ExtProps».

Производится это через менеджер SQL-скриптом вида:
use имя_базы_данных
delete from dbo ._ ConfigChngR
delete from dbo ._ ConfigChngR _ ExtProps

Помните, прямые SQL-запросы лучше доверить профессионалу, умеющему работать с SQL.

12 статей про обновление 1С

Типовую программу 1С легко обновить самостоятельно через конфигуратор или интернет. Ещё один способ — использовать cfu-файл. Если пропущено много релизов, вам сэкономят время промежуточные конфигурации.

После обновления не забывайте запустить особые процедуры.

Бывает выгоднее отдать обновление нетиповой 1С на аутсорсинг.

Что нового для вашей 1С?

Оперативная информация о выходе и содержании свежих для 24 типов конфигураций.

Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →

Скриншот ошибки configversion

Почему возникает ошибка

Рассматривая нами ошибка SDBL является представительницей целого пула схожих ошибок с текстом « Таблица или поле не содержится в разделе FROM ». Такие ошибки обычно связаны с повреждением базы данных из-за различных причин, самой распространённой из которых является технический сбой в работе системы 1С.

Среди других причин ошибки SDBL также выделяют:

  • Использование устаревшей конфигурации или платформы 1С;
  • Проблемы с кешом сервера 1С;
  • Запуск системы с недостаточными правами (к примеру, от имени учётной записи гостя вместо администратора) и другие причины.

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

Убедитесь в наличии достаточных прав для запуска системы

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

Обновите вашу конфигурацию (платформу) 1С

Также проверьте, пользуетесь ли вы самой свежей версией платформы (конфигурации) 1С. При необходимости обновите вашу систему до самой свежей версии продукта. Это может помочь устранить ошибку SDBL с полем configversion в 1С.

Используйте инструмент «Тестирование и исправление».

Данный инструмент запускается переходом в конфигуратор, где в разделе «Администрирование» нужно выбрать опцию «Тестирование и исправление». Дождитесь окончания процедуры, после чего проблема может быть решена.

Меню администрирования в 1С

Выгрузите и загрузите файл Dt

Хорошие результаты в избавление от ошибки «поле configversion не содержится в разделе FROM» показал способ, состоящий в выгрузке и последующей загрузке файла Dt (архивной копии базы 1С). Для выгрузки базы зайдите в Конфигуратор, там выберите «Администрирование» , где нажмите на «Выгрузить информационную базу».

Опция Выгрузить информационную базу в 1С

Опция загрузки базы в 1С

Перезагрузите сервер 1С

Для устранения дисфункции рекомендуем перезагрузить сервер 1С. Перезагрузка указанного сервера обычно выполняется автоматически на протяжении 3-5 минут при условии отсутствия у сервера подключенных пользователей.

Очистите кэш сервера 1С

Туда нужно перейти и удалить папки с генерированными именами. Учтите, что кроме кэша в данной папке могут находиться журналы регистрации, а также индекс полнотекстового поиска 1С.

Файлы кэша в директории

Очистите таблицы в менеджере SQL

Также можно попробовать выполнить очистку таблиц таблицы _ConfigChngR и _ConfigChngR_ExtProps с помощью команды delete.

Заключение

Нередко пользователи платформы 1С сталкиваются с ошибкой SDBL. Она может иметь различный характер, все зависит от конкретной надписи. Наиболее распространенный вариант — это ошибка: SDBL таблица или поле configversion не содержится в разделе FORM. Мы постараемся не лезть в дебри, а рассмотреть наиболее эффективные и общие способы решения данной проблемы.

Причины ошибки SDBL

Как писалось ранее причин, по которым появляется данная ошибка, может быть достаточно много. Обычный пользователь вряд ли самостоятельно сможет идентифицировать, в чем же именно кроется проблема. Однако, как правило, ошибка SDBL возникает во время обновления или установки конфигураций или в момент реструктуризации базы данных. В целом, можно заключить, что в 90% случаев данная ошибка показывает, что имеется некий технический баг в базе данных платформы 1С.

Независимо от того возникают у вас ошибки или нет, рекомендуем регулярно делать резервное копирование данных базы 1С. Это спасет ваши ценные данные в случае аварийной ситуации. Резервное копирование делается достаточно просто. Для этого войдите в «Конфигуратор», после чего нажмите на вкладку «Администрирование» — «Выгрузить информационную базу».

Создание резервной копии

Создание резервной копии

В случае необходимости для загрузки сохраненной копии нажмите на пункт «Загрузить информационную базу».

Как решить проблему

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

  1. Перезагрузить сервер 1C и сервер SQL. Инструкций как это делается в интернете достаточно много, поэтому не будем на этом заострять внимания. Конечно, этот способ вряд ли сможет вам помочь, но стоит попробовать.
  2. Отчистите кэш в сервере 1C. Для этого необходимо перейти в папку, где хранятся временные файлы 1С. Данный адрес можно посмотреть в настройках клиента. Далее необходимо перейти в папку «Local» — «1C» — «1Cv82». Папки с длинными и непонятными наименованиями и есть тот самый кэш, его можно смело удалять.

Удаление кэша

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

Итог


Вместо вступления (из сериала House M.D. о диагностике и поиске решений)

  • Д-р Кадди: Нужен диагноз. Женщина, 26 лет, взрыв газа под зданием, её вытащили из под обломков через 6 часов. Две операции из-за многочисленных переломов и ожогов…
    Д-р Хаус: Думаю, сломанные кости это следствие обрушавшегося ей на голову здания.
  • Д-р Хаус: Представьте, что крыша кладовки обрушилась на вашу любимую поломоечную машину. И та начинает перегреваться.
    Уборщик: Почему я должен любить поломоечную машину? Ладно… Может, от удара повредилось что-нибудь в электропроводке. Или что-то затекло внутрь и испортило её…
    Д-р Хаус: Хм, интересно. Проникновение инфекции через рваные раны. Бактерии отреагировали бы на антибиотики. Для вируса слишком сильный жар.Возможно, паразиты или грибки.
    Уборщик:Или волчанка.
    Хаус в изумлении оборачивается
    Уборщик: У моей бабушки волчанка.
    Д-р Хаус:(озадаченно) Хорошо,ауто-имунная. Проверю на волчанку. Хотя больше подходит инфекция. Хорошо бы ещё её карту. Приступим к худшей части работы. К общению с семьей поломоечной машины.
  • Д-р Хаус: В карточке указано, что она была больна ещё до того, как здание обрушилось.
    Муж пациентки: Я считаю, что это обычная простуда. А что, вы считаете это связано?
    Д-р Хаус: Её болезнь с её болезнью? Порой случается.
  • Мать пациентки: В дневнике сказано, что моя дочь принимает эти таблетки?
    Д-р Хаус: Нет, но с медицинской точки зрения…
    Д-р Кадди: Вы нашли таблетки в её доме?
    Д-р Хаус: Очевидно, она прятала их в сумочке. Подумал, будет неприлично искать под 1000 тонн обломков.
  • Хирург: У неё повсюду кровотечения, разве что аборт сделали при помощи дробовика.

В этой статье показан пример общих принципов разбора технологических вопросов, которые могут появляться при работе с 1С:Предприятие 8.1.

Давать советы любят все, но когда доходит до дела, у всех резко находятся более важные дела :))) . Наверно будет честным сразу предупредить, что данный материал написан мной скорее как информация для размышления, а не теория решения личных проблем и неприятных ситуаций по работе. Тем не менее мне думается, приведеные здесь примеры из моей практики могут пригодиться при разборе аналогичных проблем.

Принципы анализа

В качестве примеров будут разобраны:

Пример 1. Пользователь пожаловался на невозможность запуска 1С:Бухгалтерия.

"Ошибка соединения с сервером 1с: Предприятия 8.1:
server_addr=App1С:1540=Ошибка сетевого доступа к серверу
(Windows sockets - 10061(0x0000274D)
No connection could be made because the target machine actively refused it) line =567

Пример 2. "Потерялся" доступ к информационной базе.

Ошибка при выполнении операции с информационной базой

Microsoft OLE DB provider for SQL Server: Login failed for user ‘user1c’

H RESULT=80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1

Пример 3. Странная "неизвестная" ошибка.

1. Определение текста (проявления) ошибки и локализация источника возникновения

Определение ошибки

Примечание. Пример 1. Поиск в ниже в разделе "Где можно найти готовое решение" по приведенным на данной странице тексту "10061" покажет сразу объяснение причины и решение: на сервере приложений остановлена служба "Агент сервера 1с:Предприятие 8.1". Соответственно ее надо запустить, например из командной строки:

net start Агент сервера 1с:Предприятие 8.1

Если сервер приложений не стартует, в некоторых случаях сделайте копию папки C:\Program Files\1cv81\server и удалите содержимое перед попыткой старта.

2. Воспроизведение ошибки

Воспроизвести ошибку

Не занимайтесь анализом проблемы, если можете сразу по коду или тексту ошибки найти решение. Анализ нужно делать, если решение не помогло или проблема неизвестна. Во втором случае потребуется научиться воспроизводить ошибку, выявить факторы-провокаторы и понять причины. Затем подобрать одно, а повозможности несколько вариантов решения, различающихся по цене.

Технологический журнал

Используя технологический журнал можно исследовать все проблемы, возникающие "внутри" клиент-серверного варианта. Прибегайте к другим логам, то если для этого есть важные причины. Если вы не пользовались технологическим журналом или не хотите - ЭТО НЕ ВАЖНАЯ ПРИЧИНА И СНИЖЕНИЕ ВЕРОЯТНОСТИ НАЙТИ РЕШЕНИЕ. Технологический журнал создавался именно для решения этих задач.

Опрос пользователей

Д-р Хаус (Кэмерон и Чейзу): Вы вместе принимали душ?
Д-р Кэмерон/Д-р Чейз (одновременно): Нет!
Д-р Хаус: Двойное отрицание означает «да»!

«Все лгут» (Everybody lies) © Хаус

С опросом пользователей надо аккуратней. Этот способ диагностики лучше применять, только после того как будут использованы и проанализированы все дургие источники информации. Опять таки, все время в опросе концентрироваться на главном вопросе и/или постораться понять, ради чего лгут.

Воспроизведение проблемы

Иногда воспроизведение проблеммы дает интересные результаты.

Перед выполнением каких-либо "научно-исследовательских действий" обязательно сделайте бэкап.

Чтобы закрепить предположение задаем вопрос нескольким пользователям, работает ли у них в данный момент информационная база. Пользователи в нашем примере дружно ответили, что никто работать не может. Это в свою очередь исключает "вину" клиентской части 1С:Предприятие, так как тогда эффект вряд ли бы был у всех.

Решение:

Запускаем Management Studio и пробуем подключиться к серверу под "user1c". Оказывается, администратор сервера сменил пароль логину "user1c". При этом в настройках информационной базы в кластере серверов остался "старый" пароль.

После обновления пароля у информационной базы в кластере серверов 1С:Предприятие проблема исчезла.

3. Поиск решений

Поиск решений

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

В данном примере "Схема управления питанием" имела настройку "Отключение дисков" = 20 минут, что коррелировало с 20 минутными периодами возникновения этой ошибки.

Пример №4. Описан здесь.

Накопление статистики

Я сказал, что у нас есть три человека.

Это шесть ног.

Так что три болят из-за бега,

две пострадали при авариях,

и ещё одна нога беременна.

© Хаус

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

Где можно найти готовое решение

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

Читайте также: