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

04.09.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Поиск отсутствующих таблиц изменений.:
.epf 8,27Kb
118
118 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

При запуске в главном узле фонового задания на выгрузку в периферийный узел РИБ  получил (при выполнении метода ПланыОбмена.ЗаписатьИзменения) ошибку :
     Ошибка 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С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

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

60000 руб.

06.10.2023    4508    37    18    

45

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

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

14400 руб.

29.04.2020    33814    108    152    

75

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

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

3600 руб.

10.02.2017    111377    669    174    

708

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

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    52614    16    61    

55

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

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    7533    6    0    

8

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

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

2400 руб.

13.07.2015    51365    175    29    

127

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

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    274    1    0    

3

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

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    702    10    0    

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

Поэтому если у Вас возникла такая ошибка
и она не лечится тестированием и исправлением с реструктуризацией таблиц,
то сначала неплохо бы убедиться, что причина её - именно в отсутствии таблиц изменений.
Если это так, то их можно восстановить руками как описано в статье.
А если же причина в чём-то другом, то действовать по обстоятельствам.
Может быть, обратиться прямо в 1С.
3. METAL 300 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 34 21.10.22 15:42 Сейчас в теме
8.3.18.1741 такая же проблема с константой НомерВерсииКонфигурации в ЗУПе 2.5
8. ILNIK 34 21.10.22 16:33 Сейчас в теме
(7)
8.3.18.1741 такая же проблема с константой НомерВерсииКонфигурации в ЗУПе 2.5

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