Ошибка 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С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

14400 руб.

29.04.2020    33586    109    152    

74

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

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

28800 руб.

06.10.2023    4333    36    18    

45

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

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

3600 руб.

10.02.2017    111160    667    174    

706

Корректировка данных Программист Пользователь Платформа 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    52504    16    61    

55

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

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

12000 руб.

02.11.2020    7444    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    51285    174    29    

126

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

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

2880 руб.

05.05.2024    673    10    0    

6

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

Расширение предназначено для корректировки записей в книге доходов и расходов. Пока только для документов: Поступление на расчетный счет, Списание с расчетного счета, Поступление наличных (в народе ПКО) и Выдача наличных (РКО).

2400 руб.

19.11.2019    18870    35    24    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 то что там должно быть и все ошибки с разверткой периферии ушли.
Оставьте свое сообщение