Ошибка SDBL: Ожидается имя таблицы (pos=6). Причины, лечение, обход. Поиск отсутствующих таблиц изменений

04.09.19

Задачи пользователя - Корректировка данных

Получили ошибку Ошибка SDBL: Ожидается имя таблицы (pos=6) ? Надеюсь, мой опыт борьбы с этим явлением Вам поможет.

Скачать исходный код

Наименование Файл Версия Размер
Поиск отсутствующих таблиц изменений.:
.epf 8,27Kb
109
.epf 8,27Kb 109 Скачать

Как было дело.

Возникла необходимость отладки обмена между узлами РИБ.

Подключил к хранилищу давно неиспользуемую демо-базу.

Сделал копию этой демо-базы и соответствующим образом её настроил для использования в качестве подчинённого узла.

При запуске в главном узле фонового задания на выгрузку в периферийный узел РИБ  получил (при выполнении метода ПланыОбмена.ЗаписатьИзменения) ошибку :
     Ошибка SDBL:
     Ожидается имя таблицы (pos=6)

При попытке выяснить (в толстом клиенте) какие же изменения зарегистрированы в узел-приёмник (при выполнении метода ПланыОбмена.ВыбратьИзменения) получил ту же ошибку.
---
Возникло предположение: а не зарегистрировано ли в узел что-либо не то?

Решил попробовать удалить все изменения в узел.

При выполнении ПланыОбмена.УдалитьРегистрациюИзменений() получил другую ошибку (назовём её ошибкой №2):
     Недопустимое значение параметра (параметр номер '2')

Поиск в сети действенного метода лечения не дал.

Однако, было интуитивно ясно, что проблема - с таблицами изменений. Через консоль запросов быстро нашёл, что ошибка возникает уже при выполнении запроса к таблице изменений константы ВалютаМеждународногоУчёта. Способ лечения был достаточно очевиден. Убрал эту константу из состава всех планов обмена, обновил конфигурацию БД, затем восстановил эту константу в составе тех же ПО, и снова обновил конфигурацию БД.
Смысл описанных действий следующий: при первом обновлении платформа удаляет таблицу изменений константы, при втором - создаёт, новую и безглючную (таблицу изменений).

Далее через консоль запросов обнаружил, что ошибка возникает также при выполнении запроса к таблице изменений следующей константы: ВалютаУправленческогоУчёта.

Досадной особенностью такого поиска было то, что при возникновении ошибки платформа не просто сообщала об ошибке, а ещё и аварийно завершала работу. К тому же перебрать руками все таблицы изменений - это путь не для программиста. Поэтому: была написана обработка, выполняющая тестовое чтение всех таблиц изменений по очереди.

Писалась она не за один подход, и в промежутках между ними я ещё попробовал найти решение проблемы в сети. Удалось его найти на ИТС, только  поиском решения для ошибки №2, а не для основной, с которой всё началось (с ошибки SDBL). В описание ошибки на ИТС сказано, что причина её - в ОТСУТСТВИИ таблиц изменений. Лечится она обновлением платформы до 8.3.13.1926 и тестированием и исправлением с реструктуризацией таблиц.
Ссылка на  1С-овское описание ошибки: https://bugboard.v8.1c.ru/error/000056151

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

Обновление платформы решил пока не делать (чтобы лишний раз не напрягать сисадминов).

 

Выводы:

1) Причина описанных ошибок - в ОТСУТСТВИИ каких-либо из таблиц изменений.

2) Лечатся описанные ошибки обновлением платформы и реструктуризацией таблиц.

3) Обойтись без обновления можно через поиск проблемных таблиц изменений и их пересоздание.

Прилагаемая обработка - только для случая, когда нужно обойтись без обновления платформы. Алгоритм работы обработки:

 - перебирает составы всех планов обмена и составляет список метаданных объектов конфигурации, по которым регистрируются изменения;

 - сортирует полученный список примерно как в конфигураторе (константы, затем справочники, за ними документы, и т. д.);

 - для каждого объекта метаданных из полученного списка формирует текст запроса к соответствующей таблице изменений (для разных типов объектов конфигурации они немного различаются) , запускает запрос на выполнение и сообщает об успешности/неуспешности его выполнения.

Чтобы не было аварийных завершений работы платформы в процессе работы обработки, запросы к таблицам изменений выполняются в фоновых заданиях. Для их запуска в конфигурацию нужно будет добавить общий модуль с именем ВременныйСерверный и флажками Серверный, ВызовСервера и Привилегированный, а в нём - создать процедуру:

Процедура ВыполнитьЗапрос(ТекстЗапроса) Экспорт
 Запрос = Новый Запрос;
 Запрос.Текст = ТекстЗапроса;
 РезультатЗапроса = Запрос.Выполнить();
КонецПроцедуры


Обработка написана под толстый клиент.

Использовалась платформа 8.3.13.1513

P.S.
В процессе тестирования базы, с которой я работал, было обнаружено, что при попытке чтения таблиц изменений разных констант возникают ошибки типа "Ожидается имя таблицы" с разными числами в скобках после слова pos:
Ожидается имя таблицы (pos=125))
Ожидается имя таблицы (pos=275))
Ожидается имя таблицы (pos=281))
Ожидается имя таблицы (pos=365))
Ожидается имя таблицы (pos=371))
Ожидается имя таблицы (pos=545))
Ожидается имя таблицы (pos=635))
Ожидается имя таблицы (pos=731))
Ожидается имя таблицы (pos=821)

Ошибка SDBL Ожидается имя таблицы pos=6 Поиск отсутствующих таблиц изменений

См. также

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2697    30    15    

36

Тестирование и исправление ключей аналитики ERP, УТ11, КА

Корректировка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

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

3600 руб.

10.02.2017    107364    637    173    

680

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    28074    83    146    

61

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22606    302    35    

74

Исправление ошибок по НДФЛ и взаиморасчетам с сотрудниками в 1С:Бухгалтерия 3.0

Корректировка данных Зарплата Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Внешняя обработка предназначена для исправления самых различных ошибок, возникших по самым разным причинам. Общее проявление этих ошибок видно в различии данных между: проводками и различными отчетами по НДФЛ, заполнении ведомостей на выдачу зарплаты, неверным расчетом НДФЛ при начислении ЗП и т.д.

3600 руб.

09.02.2024    769    4    4    

7

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    50354    171    29    

121
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sergey0703 7 11.10.19 23:16 Сейчас в теме
У меня сейчас платформа 8.3.15.1565, получается в ней тоже не исправлена эта проблема? а вот до версии 8.3.13.1926 опуститься нет возможности
2. burmsergey 16 15.10.19 17:23 Сейчас в теме
Особенности каждой платформы точно знает только 1С.
Как мне кажется, вероятность того, что 8.3.13.1926 ошибку отсутствующих таблиц изменений лечила,
а 8.3.15.1565 уже (опять) не лечит - очень мала.

Поэтому если у Вас возникла такая ошибка
и она не лечится тестированием и исправлением с реструктуризацией таблиц,
то сначала неплохо бы убедиться, что причина её - именно в отсутствии таблиц изменений.
Если это так, то их можно восстановить руками как описано в статье.
А если же причина в чём-то другом, то действовать по обстоятельствам.
Может быть, обратиться прямо в 1С.
3. METAL 289 19.08.20 12:50 Сейчас в теме
Офигенно, помогло, спасибо!
4. user949348 16.11.20 14:23 Сейчас в теме
Добрый день, можно добавить вариант покупки за рубли?
5. TrbVLAD 12.03.21 04:58 Сейчас в теме
Помогают следующие танцы с бубном:

1. Тестирование и исправление со включенной реструктуризацией таблиц;
2. Последовательное выполнение команд в MS SQL Server Management Studio:
--DBCC CHECKDB ('Имя_Базы', REPAIR_FAST)
--DBCC CHECKDB ('Имя_Базы', REPAIR_REBUILD)
sulfur17; +1 Ответить
6. belarus767 03.06.21 09:20 Сейчас в теме
ошибка возникает также при выполнении запроса к таблице изменений следующей константы

Спасибо помогло. Выгрузил конфу, снял константу из состава плана обмена Полный, обновил базу. Запустился без ошибок. После обратно заново загрузил конфу.
7. ILNIK 32 21.10.22 15:42 Сейчас в теме
8.3.18.1741 такая же проблема с константой НомерВерсииКонфигурации в ЗУПе 2.5
8. ILNIK 32 21.10.22 16:33 Сейчас в теме
(7)
8.3.18.1741 такая же проблема с константой НомерВерсииКонфигурации в ЗУПе 2.5

Одну константу отключил от плана обмена обновил и потом включил заново.
На второй константе сделал тестирование и исправление с реструктуризацией таблиц - вроде ошибки ушли
9. MichaelPr 12.04.24 22:15 Сейчас в теме
Всем привет - столкнулся с подобной ситуацией но при переводе базы с 2.0 на 3.0 - и прочитав то что сделали решил пойти простым путем - у плана обмена просто убрал все из состава и сохранил что привело к полной реструктуризации таблиц, а потом подгрузил из CF то что там должно быть и все ошибки с разверткой периферии ушли.
Оставьте свое сообщение