Ошибка при обновлении: Записи регистра сведений стали неуникальными: Двоичные данные файлов
База данных - Администрирование СУБД
Бухгалтерия предприятия КОРП с версии 3.0.75.58 на версию 3.0.75.93 и выше
РЕШЕНИЕ:
1С Линия консультации <v8@1c.ru>25 февраля 2020, 17:04
- этот регистр «слепой» — непонятно действительно ли данные содержат дубли и что такое в данном случае дубли
- в этом регистре значительное количество записей — более 7000
Кроме того, нет возможности пометить на удаление или удалить такие записи непосредственно из регистра
Для прояснения ситуации направила разработчику запрос:
Что программа понимает как дубли? Если сочетание Тип владельца + Наименование, показанное в поле Владелец данных, то почему позволяется записывать такие данные?
(ответа пока не получила)
Вступайте в нашу телеграмм-группу Инфостарт
Записи регистра сведений стали неуникальными ДвоичныеДанныеФайлов
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
HighLoad оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бухгалтерский учет Бесплатно (free)
После миграции с MS SQL на PostgreSQL закрытие месяца в 1С:ERP стало идти 8 часов вместо 12 минут. Рассказываем, как мы нашли причину в оценке Hash Join, которую планировщик завышал в миллионы раз, и как исправили её так, что проблемный запрос теперь выполняется за 18 секунд вместо часа.
19.10.2026 964 Tantor 0
Администрирование СУБД Сервера Системный администратор Разработчик 1С:Предприятие 8 Россия Бесплатно (free)
Примеры скриптов для работы с автономным сервером (ibsrv).
09.10.2026 1079 hexhoc 6
Администрирование СУБД HighLoad оптимизация Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)
Большинство материалов о компрессии в PostgreSQL отвечают на вопрос «во сколько раз удалось уменьшить базу». Мы предлагаем посмотреть на проблему с другой стороны — какой ценой достигается эта экономия? В статье разбираем архитектурные компромиссы различных подходов к компрессии страниц, объясняем, почему при разработке CSM в Tantor Postgres отказались от погони за максимальным коэффициентом сжатия, и показываем результаты нагрузочных испытаний на реальных базах 1С.
01.10.2026 1460 Tantor 6
DevOps и автоматизация разработки Администрирование СУБД Групповая разработка (Git, хранилище) Разработчик 1С 8.3 Абонемент ($m)
В корпоративных инсталляциях «1С:Предприятие 8.3» под управлением PostgreSQL всё чаще проявляются архитектурные пределы масштабирования: рост числа пользователей, обязательная маркировка, плотный поток API-интеграций и высокая стоимость простоя. Вводная часть цикла разбирает ключевые факторы современной эксплуатационной нагрузки и формирует инженерную методологию эволюционной модернизации без остановки продуктивного контура. Материал основан на практическом кейсе «Торговый контур» и показывает, как определить целевые метрики (p95, MTTR, APDEX), выстроить наблюдаемость, стабилизировать работу кластера и подготовить инфраструктуру к дальнейшему масштабированию. Публикация задаёт фундамент для последующих частей, посвящённых телеметрии, оптимизации PostgreSQL, CI/CD и архитектурному росту.
1 стартмани
10.09.2026 1530 Ninel_S 0
HighLoad оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)
В рамках 18 релиза СУБД Tantor Postgres мы рассказывали об оптимизациях, которые помогают планировщику сделать более точный выбор между Nested Loop и Hash Join. В следующем релизе у нас планируются оптимизации, которые позволят ускорить выполнение как Nested Loop, так и Hash Join. Сегодня мы расскажем об одном из таких методов - фильтре Блума.
31.08.2026 6125 Tantor 3
Администрирование СУБД Системный администратор Разработчик 1С 8.3 Бесплатно (free)
Мы подготовили для сообщества Infostart.ru практическое занятие, в котором каждый желающий сможет: научиться собирать реальные данные о процессах кластера 1С; выявлять «перестарков» — процессы старше периода и без соединений; выполнять безопасный перезапуск (с dry-run и подтверждением); настраивать автоматическую проверку через systemd на Linux; отправлять уведомления (Telegram, почта) при обнаружении проблем; работать с логами, ротацией, профилями кластеров и конфигурацией; развернуть полноценный учебный проект AdminClusterMonitor у себя в тестовой среде.
30.08.2026 1739 Ninel_S 2
Администрирование СУБД Системный администратор 1С:Предприятие 8 Бесплатно (free)
На infostart.ru вышел разбор Ивана Недомолкова «Сервер 1С падает: настройка сбора дампов (logcfg.xml), лимиты памяти и передача дампа в поддержку» - это хорошая инструкция, как ловить и разбирать падение rphost постфактум: logcfg.xml, procdump, анализ дампа. Но там нет ответа на вопрос «а почему кластер вообще прибил процесс сам, ещё до всякого краша». Мы дополняем разбор тремя сводными таблицами лимитов памяти и автомасштабирования кластера - и заодно фиксируем, чем в этой части лицензия ПРОФ урезана относительно КОРП.
12.08.2026 2399 Ninel_S 5
Администрирование СУБД Системный администратор Разработчик Бесплатно (free)
5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.
11.08.2026 3412 jul.dolganova 9
В случае регистров сведений:
Система обеспечивает контроль уникальности записей, хранящихся в регистре сведений. Таким образом, в регистре сведений не может находиться двух одинаковых записей. Одинаковыми считаются записи, у которых совпадает ключ записи. Ключ записи формируется системой автоматически, на основании значений, содержащихся в полях записи, и зависит от вида регистра сведений.
В общем случае в формировании ключа записи будут участвовать значения регистратора, периода и значения измерений. Таким образом, например, в непериодическом регистре сведений Цены товаров с независимым режимом записи не может существовать двух записей о розничной цене конфет ассорти. Точно так же, как в периодическом регистре сведений Цены товаров, подчиненном регистратору, не может существовать двух записей о розничной цене конфет ассорти, внесенных одной и той же датой, одним и тем же документом Изменение цен товаров.
Источник:
Для файловой базы одна из причин, например - это "битые" записи во внутренней таблице. Буквально вчера столкнулся с такой же ситуацией при обновлении 1С:Розница в отношении РС "ФискальныеОперации". При тестировании на логическую целостность платформа выдала сообщение, что файл базы данных поврежден. В результате тестирования утилитой chdbfl в регистре было "потеряно" 4 записи, после чего обновление прошло без проблем.
могу, правда, процитировать ответ разработчиков - см пункт 2:
1С Линия консультации <v8@1c.ru> Тема: Записи регистра сведений стали неуникальными: ДвоичныеДанныеФайлов (#HL-127544)
26 февраля 2020, 15:21
Добрый день,
1. Воспользуйтесь поиском и удалением дублей в меню Администрирование - Обслуживание
или
2.Попробуйте выполнить Архивация электронных документов 1С-Отчетности и хранение в томах
как описано на ИТС
и после этого удалить все записи из этого регистра.
Предварительно сделайте резервную копию.
С уважением,
отдел тех. поддержки фирмы "1С"
Тел. (495) 956-11-81 (линия ИТС)
(495) 688-10-01 (базовые версии)
Перенесла файлы на диск (и клиенту надеюсь хорошо - значительно меньше теперь база весит и регистр стал пустым), после этого выполнила сжатие таблиц ИБ и ошибка исчезла.
Натолкнулся на такую же ошибку, неделю назад, при обновлении (правда совсем "седой" базы релиза 64). Не помог ни один вариант, ни с форумов, ни с вашей статьи :)
Решение получилось "не научным "тыком"" - запустил обновление с платформы 2018 года (8.12....) - обновление прошло абсолютно в штатном режиме (База вскрытая)
Вдруг кому-то тоже поможет)
Спасибо за идею снять флаг объединения с этого объекта, это действительно помогло. До этого при возникновении такой ошибки я просто очищал весь регистр, что в принципе не совсем красиво.
Но вот что я при этом увидел в подробностях объединения.
Оно фактически Измерение Файл удаляет и одновременно создает новое измерение с тем же именем. Тем самым это измерение у всех записей регистра становится пустое, поэтому после объединения они и оказываются не уникальными. Поэтому поиск дублирующих записей ДО обновления в этой ситуации не имеет смысла.
Почему оно так делает - непонятно, могу только уточнить, что подобная ошибка у меня возникает только при обновлениях очень древних баз, некогда сконвертированных еще из БП 2.0
Судя по всему теперь флаг объединения с этого регистра придется снимать при каждом очередном обновлении.
&НаСервереБезКонтекста
Процедура УстановитьДвоичныеДанныеНаСервере(Файл)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДвоичныеДанныеФайлов.Файл КАК Файл,
| ДвоичныеДанныеФайлов.ДвоичныеДанныеФайла КАК ДвоичныеДанныеФайла
|ИЗ
| РегистрСведений.ДвоичныеДанныеФайлов КАК ДвоичныеДанныеФайлов
|ГДЕ
| ДвоичныеДанныеФайлов.Файл = &Файл";
Запрос.УстановитьПараметр("Файл", Файл);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
МенеджерЗаписи = РегистрыСведений.Заказ_ДвоичныеДанныеФайлов.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Файл = Файл;
МенеджерЗаписи.ДвоичныеДанныеФайла = Выборка.ДвоичныеДанныеФайла;
МенеджерЗаписи.Записать();
КонецЦикла;
КонецПроцедуры
ПоказатьГде Файл это элемент справочника удаляемого типа.
Потом удалить:
&НаСервереБезКонтекста
Процедура УдалитьДвоичныеДанныеНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДвоичныеДанныеФайлов.Файл КАК Файл,
| ДвоичныеДанныеФайлов.ДвоичныеДанныеФайла КАК ДвоичныеДанныеФайла
|ИЗ
| РегистрСведений.ДвоичныеДанныеФайлов КАК ДвоичныеДанныеФайлов
|ГДЕ
| ТИПЗНАЧЕНИЯ(ДвоичныеДанныеФайлов.Файл) = ТИП(Справочник.бит_мат_ЗаказНаТехникуПрисоединенныеФайлы)";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей = РегистрыСведений.ДвоичныеДанныеФайлов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Файл.Установить(Выборка.Файл);
НаборЗаписей.Записать();
КонецЦикла;
КонецПроцедуры
ПоказатьХорошая мысль. Возможно при обновлении в определяемом типе ПрисоединенныйФайл или ВладелецПрисоединенныхФайлов затираются добавленные самостоятельно типы (если делали присоединяемые файлы к справочнику или документу).
Так как регистр сведений ДвоичныеДанныеФайлов (или НаличиеФайлов) имеет измерение Файл (или ОбъектСФайлами) измененного определяемого типа, то содержимое некоторых измерений затрется (например, тех самых самостоятельно добавленных владельцев присоединенных файлов). Соответственно будут образовываться дубли с одинаковыми "пустыми" измерениями в результате обновления, которых не было до.
Тоже столкнулись с тем, что при обновлении добавленные типы "слетели". Благодаря вашему комменту победили
РЕШЕНИЕ (подробно - см публикацию):
Для регистра сведений ДвоичныеДанныеФайлов установить режим Редактируется с сохранением поддержки
Добавить Ресурс (добавила Ресурс1, строка)
1. В настройках УТ изменил способ хранения файлом на тома диска. Перенес все файлы в том на диске стандартной процедурой УТ.
2. Очистил этот регистр сведений.
3. Обновил конфигурацию.
4. Перенес все файлы из томов обратно в информационную базу и вернул настройки УТ обратно.
запросом не удалось найти дубли
обработкой //infostart.ru/public/538465/ тоже не нашлось дублей
добавлял измерение, затем ресурс, тоже не помогло
пришлось очистить регистр, обновить, затем восстановить записи
Обновлял базу. Вроде должна быть типовой, но сразу пошло в сравнение и показало отличие объектов, причем там справки, еще что-то несущественное и если посмотреть в сравнении - то в реальности не отличается. ну и .. с ним думаю, ставлю на поддержку, а мне вот такой же привет про регистр двоичных данных и про записи с измерениями одинаковыми. Ну и понятное дело - не ставит на поддержку.
в общем помогло вот что. включил хранение томов снаружи базы. выгрузил все туда, и осталось две записи. их удалил с помощью ИР, после чего загрузил данные обратно и отключил хранение снаружи, вот после этого прошло нормально. а никакое ТИИ и лечение не давали ничего
Что я сделал? Снял галку в сопоставлении с обновлений этих типов (кажется четыре разных было, два со словом ПрисоединяемыеФайлы и два со словом ВладелецПрисоединяемыхФайлов).
Нажал бочку после этого. Отлично, кнопка "Применить" появилась. Нажал бочку.
А уже потом вручную добавил те типы ссылок в этот определяемый тип, которые изначально нужно было.
И всё прекрасно работает.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 1200963
Создание 26.02.20 17:00
Обновление 26.02.20 17:00
Просмотры 40363
Загрузки 0
Рейтинг
7
Комментарии 37
Код открыт Да
Рубрики Администрирование СУБД
Кому
Системный администратор
,
Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)