Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Как возникает проблема и как ее избежать

Воспроизведение достаточно простое:

  • Делаем резервную копию ИБ средствами СУБД;
  • Добавляем в ИБ объект конфигурации. В СУБД будет добавлена таблица с типом объекта и ссылочным кодом. Например _DocumentChngR26630;
  • Добавляем в ИБ объект конфигурации отличный от добавленного в пункте 2. В СУБД будет добавлена таблица с типом объекта и дублирующимся ссылочным кодом. Например _InfoRg26630;

Как результат дальнейшее обновление конфигурации базы данных прерывается с указанной ошибкой.

Данный сценарий вполне можно получить при работе в тестовом контуре, выполняя обновлениие тестовой ИБ данными резервной копии продуктивной ИБ.

Для избежания данной проблемы необходимо выполнить перезапуск сервера 1С:Предприятия сразу после восстановления ИБ из резервной копии средствами СУБД, или работать на версиях платформы начиная с 8.3.12.1924, 8.3.13.1865, 8.3.14.1694, 8.3.15.1489.

Но если счастье уже наступило ошибка уже имеется в наличии, то исправлять придется самостоятельно.

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

Некорректность записи может быть определена одним из двух способов:

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

Обработка реализована в виде мастера, который позволяет выполнить следующие действия:

  • Поиск данных, в которых может быть найдена ссылка на некорректную запись ЭтотУзел.
  • Определение некорректной и корректной записи ЭтотУзел.
  • Копирование данных (код, наименование, реквизиты, табличные части) из некорректной записи ЭтотУзел в корректную запись.
  • Замена ссылок на неправильную запись ЭтотУзел ссылками на корректную запись ЭтотУзел.

Данную обработку следует запускать в одном из случаев:

1) после выполнения «Тестирования и исправления информационной базы» в режиме Конфигуратор, в процессе которого какие-либо узлы таблицы узлов плана обмена были помечены на удаление из-за имеющейся в них ошибки,

2) после выполнения «Тестирования и исправления информационной базы», проведенного для таблицы узлов плана обмена с помощью административной утилиты (публикуется отдельно). — Данный способ является рекомендуемым.

3) на основе отчета, созданного с помощью административной утилиты в процессе выполнения тестирования и исправления таблицы узлов.

Данные могут быть исправлены для объектов метаданных следующих видов:

  • Константы,
  • Планы обмена,
  • Справочники,
  • Документы,
  • Планы видов характеристик,
  • Планы счетов,
  • Планы видов расчета,
  • Бизнес-процессы,
  • Задачи,
  • Регистры сведений,
  • Регистры накоплений.

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

Guesto notes

У одного из клиентов во время обновления конфигурации базы данных возникла ошибка «Для одного ссылочного кода существует более одной таблицы в базе данных».

Кроме того данная ошибка уже исправлена версиях платформы 8.3.12.1924, 8.3.13.1865, 8.3.14.1694, 8.3.15.1489.

Описана методика исправления ошибки путем внесения изменений в sql-таблицы.

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

После перехода с 8.3.12 на 8.3.15 словили неприятную ошибку “Для одного ссылочного кода существует более одной таблицы в базе данных”. Самое неприятное, что ошибка стала вылезать и на типовых базах, которые никто никогда не трогал.

Гугл ничего не дал кроме стандартных “почистить кэш, перерегистрировать базу в кластере, выполнить ТИИ”. Ну и еще “добавить реквизит к объекту и обновить БД” (этот пункт не пробовал, напишите в комментариях — вдруг это самый простой метод в комментариях к этой статье есть сообщение что метод сработал на 8.3.16.1030, пробуйте).

Воспроизводится так (проверено на релизе 8.3.13.1644 / SQL 2016):
1. Создаём две базы test1 и test2
2. Запускаем конфигуратор test1, добавляем справочник, обновляем конфигурацию. В базе добавляется таблица _Reference21
3. Делаем SQL бэкап базы test1 и восстанавливаем его в test2.
4. Запускаем конфигуратор test2 и добавляем документ, обновляем конфигурацию. В базе видим таблицы: _Reference21 и _Document21.
Помогает перезапуск rmngr.exe после восстановления test2 из бэкапа.

И ответ представителя фирмы 1С:

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

Я провел тест на 8.3.12 — проблема по методике первой цитаты воспроизводится. Так что делаю выводы:
1) проблема с задвоением внутренней нумерации объектов существовала очень давно, как минимум с 8.3.12, но лишь в 8.3.15 добавили проверку (понятно) и запрет применения изменений (а вот тут явно не подумали что у пользователей много таких “поломанных” баз)
2) по-идее, можно жить спокойно на релизах менее 8.3.15 и ждать манны небесной от фирмы 1С.

Ну а нам ждать “одной из следующих версий” нельзя. Базы разработчиков “встают” одна за другой на этой ошибке. Я предлагал откатиться на 8.3.13 или 8.3.14 — но согласился пробовать найти свое решение, т.к. когда будет эта “манна” — неизвестно. А если продолжить использовать “старые” релизы — то дубли нумерации скорее всего будут только плодиться, хоть мы их и не будем видеть.

Размышления привели к пониманию того, что надо найти “где в базе хранится сопоставление таблиц sql и объектов конфигурации”. Как оказалось таких мест два: таблица DBSchema и реквизит DBNames таблицы Params.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Попытка получить DBSchema использованием SQL Management studio завершилась неудачей: в режиме ssms получается получить лишь первые 65КБ двоичных данных, хранящихся в таблице, и при вставке в hex-редактор получаем неполную структуру.
А уж DBNames и вовсе хранится в сжатом виде. Поэтому усилия были перенаправлены на поиск инструмента для редактирования этих данных. И он был найден: Восстановление структуры DBSchema
Стоимость инструмента  — 10sm (Мопед не мой!). Впрочем, описанная ниже методика не зависит именно от этой обработки; можете поискать аналог или написать свою. Функционал указанной обработки используется только в части выгрузки DBSchema и DBNames из sql в файл и обратно.

А я опишу методику лечения баз:

  • рекомендуется использовать Notepad++ или аналог. В отдельном файле открыть текст ошибки из конфигуратора.
  • запустить обработку, получить DBSchema (схема — список объектов — распознать схему) и DBNames (вверху “загрузить из БД в файл”), выгрузить обе структуры в файлы, указав вверху пути и нажав на кнопки рядом. Открыть файлы в Notepad++. Должно получиться примерно следующее (слева DBNames, справа — DBSchema):
  • из текста ошибки для каждой пары объектов выбрать “жертву”; проще менять номер у констант или регистров, т.к. на них обычно нет ссылок в реквизитах других объектов. Желательно выбирать в таком качестве “таблицы изменений” вида _ConstChngR2346 или _DocumentChngR3078 не имеющие табличных частей (у нет таблиц вида Document750.VT20237 или _Reference49197_VT3332).
  • в DBNames находим строку жертвы по номеру объекта, переносим строку в конец файла, меняем номер объекта (+1 к предыдущему)
  • в файле с текстом ошибки к номеру “жертвы” добавляем “-НовыйНомер”
  • в DBSchema находим объект, меняем номер объекта (в третьем параметре); ищем все вхождения имени объекта (например Reference3048) — ссылки на этот объект в реквизитах других объектов — выполняем замену например Reference3048 на Reference49189.
  • в DBNames первый параметр меняем на новый максимальный номер объекта
  • сохраняем файлы, считываем их обработкой (вся схема — текст — прочитать схему из файла, Имена — Прочитать DBNames из файла), выгружаем из обработки в БД
  • пишем sql-код для переименования всех таблиц вида:

EXEC sp_rename _Enum3066, _Enum49200
EXEC sp_rename _Enum3067, _Enum49201
EXEC sp_rename _DocumentChngR3078, _DocumentChngR49202

и выполняем его. Если все-таки жертвой был справочник с табличной частью — во всех табличных частях надо переименовать ссылку

EXEC sp_rename ‘_Reference49197_VT3332._Reference3048_IDRRef’, ‘_Reference49197_IDRRef’, ‘column’

Ошибка «Для одного ссылочного кода существует более одной таблицы в базе данных».Кроме того данная ошибка уже исправлена версиях платформы 8.3.12.1924, 8.3.13.1865, 8.3.14.1694, 8.3.15.1489.Как возникает проблема и как ее избежатьВоспроизведение достаточно простое:Как результат дальнейшее обновление конфигурации базы данных прерывается с указанной ошибкой.Данный сценарий вполне можно получить при работе в тестовом контуре, выполняя обновлениие тестовой ИБ данными резервной копии продуктивной ИБ.Для избежания данной проблемы необходимо выполнить перезапуск сервера 1С:Предприятия сразу после восстановления ИБ из резервной копии средствами СУБД, или работать на версиях платформы начиная с 8.3.12.1924, 8.3.13.1865, 8.3.14.1694, 8.3.15.1489.Но если счастье уже наступило ошибка уже имеется в наличии, то исправлять придется самостоятельно.Как устранить проблемуКазалось бы, необходимо только восстановить порядок в ссылочных кодах. Первым на ум приходит вариант с выполнением реструктуризации таблиц информационной базы из меню Тестирование и исправление, но оно не помогает.Определение проблемных объектовДля этого воспользуемся методом ПолучитьСтруктуруХраненияБазыДанных(), точнее напишем небольшой кусочек кода:В полученном тексте найдем записи с указанными таблицами в сообщении об ошибкеИз полученного видно, что РегистрСведений. СостоянияБлокировкиВычетаНДСПоСчетамФактурам конфликтует с Константа. CRM_ПарольПользователяСинхронизацииiCRM и Документ. CRM_ШаблонЭтапаКалендарногоПлана.Определение жертвыТеперь необходимо исходя из наполнения ИБ и важности объектов решить какой из них удалить. В разбираемом примере РегистрСведений. СостоянияБлокировкиВычетаНДСПоСчетамФактурам оказался пуст, его и будем удалять.Если объект содержит данные, тогда необходимо обеспечить возможность возвращения данных в исходное состояние. Например обработкой из инструментов разработчика ВыгрузкаЗагрузкаДанныхXML выполнить выгрузку данных в файл.Удаление метаданногоЕсли метаданное стоит на поставке, тогда необходимо снять его с поставки. Для этого перейдем в меню Конфигурация — Поддержка — Настройка поддержки, в дереве матаданных найти необходимый объект и установить правило поддержки Объект снят с поддержки и установить признак Установить для подчиненных.

Читайте также:  На экране появляется сообщение об ошибке "irql not equal"

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Теперь необходимо выполнить попытку удаление. Если на объект есть ссылки, то выведется сообщение об нерешенных зависимостях: “Объект не может быть удален, так как на него имеются ссылки в других объектах”.Ошибка SDBL 1С: как исправить некорректное использование local global в set generation

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

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

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Общее представлениеВзаимодействуя с учетной программой, пользователи выполняют различные операции, каждая из которых, так или иначе, формирует запрос к базе данных. Создание нового документа, интеграция библиотеки, плановое обновление — во время любого из процессов есть вероятность получить в ответ уведомление от системы, свидетельствующее о том, что одна из логических цепочек была нарушена. Распространенный вариант — когда на экране появляется сообщение об ошибке SDBL 1С ожидается выражение (pos = 6) (а также 15, 57, 198, 250, 469, или любой другой номерной идентификатор).Фактически это говорит о наличии технического сбоя, с которым чаще всего сталкиваются пользователи, самостоятельно обновляющие конфигурацию автоматическими средствами. Важно понимать, что при работе с программой (и в том числе при установке новых релизов) необходимо иметь определенный уровень навыков и знаний, достаточный для внесения изменений и управления функциональными возможностями платформы.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Впрочем, сильно переживать не стоит. Появление ошибки SDBL 1С еще не значит, что структура базы данных предприятия разрушена полностью — в большинстве случаев исправить проблему можно при помощи стандартного набора способов, реализовать которые под силу даже начинающим пользователям.Причины возникновенияОдин из главных факторов, о котором многие забывают в процессе работы с учетной системой — необходимость соответствия платформы и конфигурации обновления. То есть перед тем как начать использовать новый релиз, нужно создать условия, в которых он сможет нормально функционировать. Простейший вариант — доверить контроль за установкой профильному специалисту, который поможет избежать технических сбоев в программе.Если говорить об уже упомянутой ранее ошибке SDBL 1С «ожидается выражение (pos = 144)» (или 48, 153, 13 — не столь принципиально), то в этом случае ключевым обстоятельством становится повреждение базы данных, обусловленное нарушением системных логических циклов. К числу распространенных причин возникновения, отмечаемых специалистами, относят не только применение устаревшей конфигурации или платформы, но также и проблемы, связанные с серверным кешем. Кроме того, всегда существует вероятность случайного запуска с некорректной учетной записи, не обладающей достаточным набором прав.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Чаще всего системные ошибки происходят в процессе очередного обновления БД, а также при обращении к ней — через запрос на добавление документов, во время тестовой проверки логической целостности, или же в иных ситуациях. Критической проблемой при установке расширений может стать и «некорректное использование LOCAL/GLOBAL в SET GENERATION», не позволяющее полноценно сохранить базу даже после выборочного удаления. Стоит отметить, что стандартное решение в виде перезагрузки программы обычно не помогает, поэтому для восстановления работоспособности придется воспользоваться альтернативными методиками.Какие сообщения возникаютУведомление о технических неполадках отражает специфику возникшей проблемы, и может появиться как во время обновления конфигурации, так и в процессе работы с обменом данных. Как правило, текст в информационном окне раскрывает специфику возникшей ошибки SDBL 1С: «не является именем поля», «ожидается идентификатор» или «выход за пределы размерности результата 1C», и т. д.Встречаются и вспомогательные приписки, причем их количество зависит от конкретной неточности, допущенной в ходе сборки и настройки обновленного расширения:предпринята попытка ввести неприемлемый тип значения «NULL»;пропущена точка с запятой;нарушение индексирования с полным текстом;неоднозначное определение некоторого поля;отсутствует выражение (pos =) — с различными числовыми идентификаторами в скобках.Практика работы с типовыми конфигурациями показывает, что количество сообщений достаточно велико, и определенно выходит за рамки приведенного списка, в котором собраны только наиболее часто встречающиеся варианты.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Готовые решения для всех направлений

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

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

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

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

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Исключи ошибки сопоставления и считывания акцизных марок алкогольной продукции при помощи мобильных инструментов учёта.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

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

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

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

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Практически любая ошибка SDBL 1С — «недопустимый символ (pos = 40)», «пропущена точка с запятой», или «ожидается имя таблицы 21», может быть устранена путем выполнения несложного набора действий. Перечень доступных вариантов выглядит следующим образом:Удаление кэшированных данных — как на пользовательском рабочем месте, так и на основном сервере, где произошел технический сбой. Для реализации процедуры очистки кэша достаточно закрыть учетную программу, открыть «Проводник», найти, выбрать и удалить набор папок из раздела «Application Data». Отличить нужные элементы проще всего по названию, которое выглядит как хаотичный набор символов — например, «ac5c8bm4-y65k-4s23-a9g8-2dcttp0b15da».Использование функционала Конфигуратора, позволяющего провести тестирование и исправление информационной базы. В этом случае необходимо найти поврежденную ИБ, выбрать ее и перейти в раздел «Администрирование», после чего активировать встроенную функцию для теста и корректировки ошибок.Перезагрузка сервера, на котором расположены программные приложения системы 1С. Самый простой вариант — включение и выключение всех взаимосвязанных SQL-сервисов, включая агент. Для выполнения задачи нужно зайти на нужный серверный источник, выделить агентскую службу, вызвать контекстное меню и остановить процесс. Аналогичные действия повторяем на SQL со служебными процедурами Server и Agent. Повторная активация осуществляется в обратном порядке.Выгрузка БД в отдельный DT-файл с последующей повторной «заливкой». По сути, метод напоминает стандартную перезагрузку системы — структура записывается в файловом формате, что позволяет упорядочить проблемные разделы. Для выполнения процедуры достаточно открыть меню управления учетной программой, найти в категории «Администрирование» функцию «Выгрузить информационную базу», и после ее завершения выбрать опцию «Загрузить ИБ», используя сформированный файл.Откат к последней резервной копии. Один из самых простых и доступных вариантов — конечно, в том случае, если архивирование данных проводится на регулярной основе, а не только перед закрытием периодов. Вообще, решение записывать текущее состояние перед каждым внесением изменений может избавить от большинства проблем, связанных с техническими сбоями. Даже если вы столкнетесь с уведомлением о том, что «ожидается имя поля», или получите ошибку «таблица 1С inforg не создана в новом поколении», источник которой не всегда понятен даже опытным пользователям — загрузка последней копии просто вернет систему к исходному состоянию. Для резервирования допускается использование как SQL MS, так и Конфигуратора учетной программы — через последовательную выгрузку файлов в уже упомянутом DT формате.Обновление платформы через сайт информационно-технологического сопровождения разработчиков, доступный всем лицензированным пользователям продукта. Функционал портала ИТС позволяет установить последнюю редакцию, актуальную на момент обращения, инсталляция которой производится как на основной сервер, так и на рабочие места клиента.Как правило, один из перечисленных методов позволяет добиться желаемого результата, устраняя проблему в работе учетной системы. В ситуациях, когда применить готовое решение так и не удалось, есть резервный вариант, отличающийся высокой вероятностью успешного исхода. Очистка в менеджере SQL 1С таблиц ConfigChngR и ExtProps, что за последние годы стало уже привычным способом восстановления для большинства специалистов, осуществляется стандартной командой Delete.На что еще обратить внимание при устранении ошибок SDBL, и как реализовать рассмотренные методы? Сейчас разберемся.

Читайте также:  Как исправить ошибку при запуске приложения 0xc0000005

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Права доступаПожалуй, самая простая причина неполадок, которая тем не менее все еще встречаться на практике — попытка запустить систему через учетную запись, не обладающую соответствующими полномочиями. Убедитесь, что профиль для запуска выбран корректно, чтобы не провоцировать сбои собственными действиями.Перезагрузка серверов 1С и SQLЭто один из простейших методов восстановления, единственным обязательным условием, для применения которого является выход всех пользователей из базы. Убедившись, что доступ открыт, зайдите на сервер и последовательно выключите агент программы Server и SQL-agent, после чего запустите их в обратном порядке.Удаление кэшированных данных

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Создание кэша представляет собой процесс буферизации информации, используемой базой чаще всего, и, как правило, относящейся к статичной категории. Кэширование позволяет ускорить программный цикл — так, если говорить об учетных системах, оптимизация затрагивает загрузку файлов конфигурации, исключая необходимость постоянного обращения к основному серверу. Однако на практике встречаются случаи некорректной обработки программным обеспечением подобных задач, что в конечном счете становится причиной неправильной работы платформы.Стандартный путь к месту хранения кэшированных данных выглядит следующим образом:Загрузка DT-файла

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Этот метод может показаться немного странным, поскольку фактически не предполагает внесения каких-либо корректировок в основную структуру данных. Однако в действительности выгрузка БД в отдельный файл, сохраняемый в формате DT, с последующим обращением к ней же, нередко позволяет восстановить нормальную работу программы. Алгоритм достаточно прост — в режиме Конфигуратора нужно выбрать раздел «Администрирование», использовать опцию «Выгрузить ИБ» (указав каталог для сохранения), после чего повторно залить сформированную базу обратно в систему.Тестирование и исправлениеЕще одна удобная функция, доступная в режиме корректировки конфигурации — встроенный инструментарий, предназначенный для теста и внесения коррективов. В отдельных ситуациях может возникнуть проблема с запуском Конфигуратора — вместо этого можно воспользоваться специальной утилитой chdbfl. exe, представляющей собой упрощенный программный аналог с идентичным функционалом. Приложение находится в каталоге «bin», поэтому найти его не составляет особого труда — как через стандартный путь «C:Program Files (x86)1cv88.3bin», так и через опцию поиска, предлагаемую операционной системой.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Для использования программы достаточно указать расположение проблемной базы данных, и запустить цикл тестирования. При желании можно активировать опцию автоматического исправления выявленных ошибок — в противном случае утилита ограничится диагностикой, и сформирует перечень технических неполадок в отдельном реестре.Обновление платформыОчистка таблиц базы данныхЕсли ни один из вышеперечисленных способов не дал желаемого результата — остается вариант с удалением табличных значений БД, вызывающих появление ошибки, расположенных в каталогах ConfigChngR и ExtProps. Для этого применяется скрипт менеджера SQL, с указанием информационного раздела и командой delete from. В этом случае лучше всего обратиться к профильному специалисту, поскольку некорректное восстановление может привести к более серьезным последствиям.ЗаключениеАвтоматизация учетных процессов — важный аспект, позволяющий оптимизировать работу компании. Ошибки SDBL 1С встречаются достаточно часто, поэтому стоит заранее позаботиться об оперативном устранении возможных проблем. Мобильные решения, предлагаемые компанией «Клеверенс», гарантируют квалифицированную поддержку, а также помогут решить задачи, связанные с учетом данных на предприятии.

Набор подсистем “Умные таблицы”

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

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

Из полученного видно, что РегистрСведений.СостоянияБлокировкиВычетаНДСПоСчетамФактурам конфликтует с Константа.CRM_ПарольПользователяСинхронизацииiCRM и Документ.CRM_ШаблонЭтапаКалендарногоПлана.

Определение жертвы

Теперь необходимо исходя из наполнения ИБ и важности объектов решить какой из них удалить. В разбираемом примере РегистрСведений.СостоянияБлокировкиВычетаНДСПоСчетамФактурам оказался пуст, его и будем удалять.

Удаление метаданного

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Заходим в каждый из них, убираем ссылки, после удаляем сам объект.

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

Реструктуризация таблиц информационной базы

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

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

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Восстановление метаданного и данных

Теперь настала пора вернуть конфигурацию к ее начальному состоянию. Удаленный объект, и ссылки на него в других объектах возвращаются путем сравнения и объединения с сохраненной ранее конфигурацией или конфигурацией поставщика .

Если в удаляемом объекте были данные, тогда необходимо выполнить их восстановление, например обработкой из инструментов разработчика ВыгрузкаЗагрузкаДанныхXML.

Собственно все! Таким нехитрым способом устранили ошибку «Для одного ссылочного кода существует более одной таблицы в базе данных».

В СУФД стала появляться ошибка при импорте файла из 1С.

В справочнике информация Л/С найдено больше одной записи для ЛС СУФД

Ошибка критическая (красная) соответственно документ сохранить, подписать отправить не получится.

В ручную тоже создавать документ нет смысла. Дело в том что в СУФД по Вашей организации задвоился справочник.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Первым делом проверим так же это на самом деле? Задвоились ли справочники.

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

Ищем «себя» в справочнике по своему Л/С, как видим да, действительно, в справочнике две актуальные записи по организации. А должна быть одна. Что делать дальше? На своем уровне к сожалению Вы ни чего не можете сделать. Первым делом звоните в ТОФК (свое казначейство), говорите что при импорте файла выходит такая ошибка (можете кинуть им скриншот на электронку, что бы они сами поняли в чем дело). Дальше сотрудник ТОФК может сделать выгрузку справочника по вашей организации (с вашим ЛС) — по крайней мере так делаю я.

Технически сотрудник ТОФК заходит в справочник АСФК (Книга регистрации ЛС) — находит Ваш ЛС, выделяет все найденные строки, где упоминается Ваш ЛС нажимает Выполнить и выбирает

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

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

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

Faster – многофункциональный ускоритель работы программиста 1С и других языков программирования
Промо

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Программа Faster 9.4 позволяет ускорить процесс работы программиста
(работает в любом текстовом редакторе).
Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов.
Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код.
Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке.
Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования.
Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода.
Настройка любых шорткатов под себя с помощью скриптов.
Никаких установок и лицензий, все бесплатно.

Автокликер для 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

Читайте также:  Не удается разрешить имя или адрес сервера ошибка с кодом 20

Способ создать полноценный ТСД без мобильной разработки. Теперь новая версия – Simple UI (обновлено 14. 2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Склад и ТМЦ Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Бухгалтерский учет Управленческий учет Абонемент ($m)

Как заставить открываться “Все функции” в 97 раз быстрее!

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом.
Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

Ошибка при обновлении “Для одного ссылочного кода существует более одной таблицы в базе данных”

Публикация № 1147114

Приемы и методы разработки –

“Для одного ссылочного кода существует более одной таблицы в базе данных” Ошибка

После перехода на новую платформу поменялась (появилась) проверка на дублирование внутренних идентификаторов объектов метаданных. Возможная ошибка при обновлении “Для одного ссылочного кода существует более одной таблицы в базе данных”. Лечится изменением идентификатора объекта метаданных.

Отказ от ответственности: автор не несет ответственность за использование приведенного алгоритма действий

Для изменения UUID объекта

  • Ищем объекты метаданных UUID которых дублируется.
    Используем функцию “ПолучитьСтруктуруХраненияБазыДанных()”
    Обработка приложена, кнопка “Заполнить” формирует структуру метаданных. С ошибки копируем коды таблиц. В колонке “Имя таблицы хранения” поиском ищем таблицы. В примере это “Document32786” и “ConstChngR32786”. Соответственно “Документ.УведомлениеОПолучателеДокументов” и “РегистрацияИзмененийКонстанты”.
  • Обновляем базу.

Скачать файлы

1.

Дмитрий74Чел

Сейчас в теме

Чем же решение по ссылке корректней (правильней) ?

3.

Дмитрий74Чел

Сейчас в теме

(2) В данном решение предложено поменять UUID на произвольный. Не на правильный (которого -то и нет, т.к. проблема не в UUID), а на какой-то там любой.
Тем более сомнительна рекомендация “В файле “ConfigDumpInfo” UUID объекта можно не менять.”. Т.е. в одном месте конфигурации у документа будет один идентификатор, а в другом – другой. На мой взгляд так получаем битую конфигурацию. То, что метод сработал на одной базе скорее всего является следствием лишь того, что в ней указанный документ не использовался.

В указанной ссылке приведены несколько решений, как сложных (с заменой номеров объектов), так и простых и 100% безопасных (временное добавление объекту реквизита).

4.

han_kdz

Сейчас в теме

Данное решение подходит только, если на изменяемый объект нет ссылок. Иначе будет “Объект не найден” или “Ошибка формата потока” при обращении к таким реквизитам.

Лично у меня было вот такое сообщение:

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

Имена таблиц с кодом 1: CKinds1, CKindsDN605
Имена таблиц с кодом 2: CKinds2, CKindsDN639
Для исправления проблемы вы можете обратиться в службу технической поддержки.

Реструктуризацию провести не смог, вываливается. База большая, около 500Г. Возможно из-за этого.

CKinds – это план видов расчета. Какой именно я не стал определять (можете поиграться со структурой, кому интересно). Я просто добавил КАЖДОМУ из плана видов расчета (у меня их всего 6) новый реквизит и ошибка исчезла!!! Затем Все эти реквизиты убрал за ненадобностью.

Релиз 1С:Предприятие 8.3 (8.3.15.1489) Конфигурация УТП (Украина)

8.

mailorsk

Сейчас в теме

(4)Ваше решение 100% рабочее. При переходе на новую платформу 8.3.16.1063 вышла ошибка

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

Имена таблиц с кодом 2: CKinds2, CKindsDN1051
Имена таблиц с кодом 5: CKinds5, CKindsDN1053
Для исправления проблемы вы можете обратиться в службу технической поддержки.

В результате минутного анализа структуры и определения ПланВидовРасчета были добавлены реквизиты, после успешного обновления, реквизиты удалены

Как проанализировать структуру

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

(4)Спасибо! Самый простой метод и сработало.

(4) Решение работает. При переходе с 8.3.12.1469 на 8.3.17.1851 нарвался на эту же ошибку:

Имена таблиц с кодом 2: CKinds2, CKindsDN1072
Имена таблиц с кодом 5: CKinds5, CKindsDN1107
Для исправления проблемы вы можете обратиться в службу технической поддержки.

В ПланВидовРасчета.УправленческиеНачисления(_CKinds5) и ПланВидовРасчета.ОсновныеНачисленияОрганизаций(_CKinds2) добавил по одному реквизиту. Всё заработало.

15.

RomanMartynenko

Сейчас в теме

16.

Misanets

Сейчас в теме

(4) спасибо тебе добрый человек! Сделал так же, все получилось.

5.

dubovenko_m

Сейчас в теме

ВАЖНО!!! вчера написала разработчику. получила ответ:
1С Линия консультации Вчера, 13:28
Кому: вам
Здравствуйте!
Присылайте базу в ремонт. Самостоятельно не лечится.
Вам предоставлен ресурс для передачи службе технической поддержки дополнительных файлов ,
в рамках вашего обращения (#HL-106678) , просьба загружать данные только относящиеся к этому обращению.

6.

ybatiaev

Сейчас в теме

7.

dubovenko_m

Сейчас в теме

9.

timm00

Сейчас в теме

Автор забыл написать БОЛЬШИМИ БУКВАМИ что после загрузки конфигурации из файлов автоматически запускается реструктуризация таблиц информационной базы! Что на нашем сервере с нашей базой длится примерно сутки. Обратите внимание!

10.

Meistersinger

Сейчас в теме

У меня проблема случилась с моим справочником, добавленным для регистрации кое-каких событий. Вылечилась простым удалением оного.
Причем, в одной из примерно 20 баз БП2. Остальные пока выглядят живыми.

11.

Evgeniy

Сейчас в теме

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

Ошибка обновления конфигурации базы данных для одного ссылочного кода существует более

После перехода на новую платформу поменялась (появилась) проверка на дублирование внутренних идентификаторов объектов метаданных. Возможная ошибка при обновлении «Для одного ссылочного кода существует более одной таблицы в базе данных». Лечится изменением идентификатора объекта метаданных.

  • Ищем объекты метаданных UUID которых дублируется.
    Используем функцию “ПолучитьСтруктуруХраненияБазыДанных()”
    Обработка приложена, кнопка “Заполнить” формирует структуру метаданных. С ошибки копируем коды таблиц. В колонке “Имя таблицы хранения” поиском ищем таблицы. В примере это “Document32786” и “ConstChngR32786”. Соответственно “Документ.УведомлениеОПолучателеДокументов” и “РегистрацияИзмененийКонстанты”.
  • Обновляем базу.

Очистка кэша 1С 8 (8. 0, 8. 1, 8. 2, 8. Грамотная чистка кэша 1С с сохранением настроек.

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний.
Wsf-скрипт, созданный на стандартном языке автоматизации Windows – “WSH JScript”, очищает кэш 1С просто, быстро и безопасно.
Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

Консоль Внедренца v

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы, Инструмент по работе с табличными документами – загрузка данных из табличного документа.

Навигатор по конфигурации базы 1С 8. 3
Промо

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3.
Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д.
Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы.
Отображает структуру хранения объектов базы данных, для регистров доступен сервис “Управление итогами”.
Платформа 8.3, управляемые формы. Версия 1.1.0.89 от 04.08.2022

Подсистема “Показатели объектов”

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

Внешний регламент для 1С

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

Добавить комментарий

Ваш адрес email не будет опубликован.