Ошибка при загрузке dt(выгрузка из файловой базы) в SQL

1. Дон Кихот 21.05.21 10:59 Сейчас в теме
Ошибка при загрузке dt(выгрузка из файловой базы) в SQL

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

Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumRgOpt8561' and the index name '_AccumRgOpt8561_1'. The duplicate key value is (0, 0x46aabbe8ad8ad0419179e3e48fb54ccf).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1

Далее информация которую нащёл:
_AccumRgOpt – таблица настроек хранения итогов регистров накопления. Эта таблица создается одна на все регистры накопления.

В одной из статей на инфостарте описывается похожая ситуация https://infostart.ru/public/635010/, только там фигурирует субконто регистра бухгалтерии. Вот краткое описание из статьи:
Ошибка возникает, если в базе есть у каких-то объектов, реквизитов, субконто - значение NULL, а у них такого значения быть не может. И появляется такая ошибка только в SQL базах. Т.е. если такую базу выгрузить в файловую, то там уже этой ошибки не будет. Т.к. у файловой базы свои таблицы (всего 4 шт.), а у SQL свои. И SQL база критично реагирует на такие значения в своих таблицах.

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


Может кто сталкивался с такой ситуацией, подскажите пожалуйста, как исправить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 72 21.05.21 11:15 Сейчас в теме
(1) Попробуйте в SQL версии выполнить ТиИ с контролем ссылочной и логической целостности + пересчет итогов, после этого выгрузите в *.dt.
3. Дон Кихот 21.05.21 11:16 Сейчас в теме
(2)в SQL версию загрузить не получается, выходит ошибка
4. nomad_irk 72 21.05.21 11:17 Сейчас в теме
(3)Прошу пардону, в файловой версии выполнить ТиИ.....
6. Дон Кихот 21.05.21 11:17 Сейчас в теме
(4)Уже выполнил, ошибка при переходе осталась
8. nomad_irk 72 21.05.21 11:19 Сейчас в теме
(6)Т.е. так быстро выполнили ТиИ и выгрузили заново в *.dt? 8-( * )
9. Дон Кихот 21.05.21 11:20 Сейчас в теме
5. Дон Кихот 21.05.21 11:17 Сейчас в теме
(2)В описании ошибки есть указание на объект:
dbo._AccumRgOpt8561
Как его найти в базе?
7. nomad_irk 72 21.05.21 11:17 Сейчас в теме
(5)с помощью сторонних утилит, типа tool_cd
10. Дон Кихот 21.05.21 11:25 Сейчас в теме
(7)Ошибка полностью соответствует ошибке описанной в статье https://infostart.ru/public/635010/, только там регистр бухгалтерии, а в моём случае регистр накопления. Я не знаю как мне найти в каком объекте присутствует null.
16. nomad_irk 72 21.05.21 11:41 Сейчас в теме
(10)Начните с того, что узнайте, что за регистр хранит свои данные в таблице _AccumRgOpt8561 и что за объект 0x46aabbe8ad8ad0419179e3e48fb54ccf.

Это ссылка на какой-то объект БД, возможно Документ - регистратор, а возможно и любой из используемых в качестве измерений РегистраНакопления.
20. Дон Кихот 21.05.21 12:05 Сейчас в теме
(16)
что за регистр хранит свои данные в таблице _AccumRgOpt8561

_AccumRgOpt – таблица настроек хранения итогов регистров накопления. Эта таблица создается одна на все регистры накопления.
Получается там хранятся записи всех регистров накопления
21. nomad_irk 72 21.05.21 12:09 Сейчас в теме
(20) в таком случае отредактировать вы его все равно не сможете.
Ну либо попробовать выполнить реструктуризацию таблиц в ТиИ в файловом варианте.
23. Дон Кихот 21.05.21 15:26 Сейчас в теме
(16)Взял отсюда обработку: https://infostart.ru/public/306894/.
_AccumRgOpt8561 соответствует регистру накопления ГрафикПоступленияТоваров.
Попробовал эту строку: 0x46aabbe8ad8ad0419179e3e48fb54ccf сделать УИДом. Получилось вот так:
46aabbe8-ad8a-d041-9179-e3e48fb54ccf. Но объекта с таким УИДом не нашлось.
В регистре накопления искал дублированные записи по всем измерениям и регистратору, таковых не нашёл. Пока не знаю куда дальше копать
24. nomad_irk 72 21.05.21 15:34 Сейчас в теме
(23)
Попробовал эту строку: 0x46aabbe8ad8ad0419179e3e48fb54ccf сделать УИДом. Получилось вот так:
46aabbe8-ad8a-d041-9179-e3e48fb54ccf. Но объекта с таким УИДом не нашлось.


Не верно. Там с конца значение получатся должно, т.е. должно быть что-то вроде:

e3e48fb54ccf-9179-d041-ad8a-46aabbe8
25. Дон Кихот 21.05.21 16:10 Сейчас в теме
(24) Неверный формат GUID, так пишет обработка. Первый дефис должен быть через восемь знаков, а при переворачивании получается через 12
26. nomad_irk 72 21.05.21 16:21 Сейчас в теме
27. Дон Кихот 21.05.21 16:40 Сейчас в теме
(26)Взял результат заполнения как в статье:
--Результат выполнения:

_Period _Fld517RRef GUID
4016-08-08 12:40:16 0x8B6F0050569977A111E60D1B75078E17 75078E17-0D1B-11E6-8B6F-0050569977A1

Сделал по такому же алгоритму, получилось

было: 46aabbe8ad8ad0419179e3e48fb54ccf стало: 8fb54ccf-e3e4-9179-46aa-bbe8ad8ad041
Всё равно объект не найден.
28. nomad_irk 72 21.05.21 20:21 Сейчас в теме
(27) реструктуризацию таблиц средствами ТиИ делали?
29. Дон Кихот 25.05.21 17:17 Сейчас в теме
(7)Использовал tool1cd-1.0.0.10, предполагаю что последняя версия, она не работает с УТ 11. Картинку прикрепил в скрине. А какая утилита ещё покажет таблицы и позволит их редактировать?
Прикрепленные файлы:
30. Дон Кихот 25.05.21 17:25 Сейчас в теме
(7)Одна из обработок, что скачал на инфостарте показала такую картинку, прикрепил в скрине. По ней получается эта не таблица метаданных, а таблица настроек хранения регистра накопления ГрафикПоступленияТоваров. А как её посмотреть и редактировать?
Прикрепленные файлы:
31. nomad_irk 72 25.05.21 17:43 Сейчас в теме
(30)я бы попробовал поиграться с настройками итогов в конфигураторе для указанного регистра сведений.

Выполнить реструктуризацию таблиц средствами ТиИ.

Боюсь, по-другому файловый вариант БД вы не сможете(либо я не знаю о существовании утилит) отредактировать на таком низком уровне.
17. nomad_irk 72 21.05.21 11:45 Сейчас в теме
(5)с помощью метода глобального контекста ПолучитьСтруктуруХраненияБазыДанных()
11. NatalkaBal 28 21.05.21 11:29 Сейчас в теме
может глупый совет, но попробуйте сменить СУБД возможно PostgreSQL что либо пропустит
12. FatPanzer 21.05.21 11:31 Сейчас в теме
(11) да и вообще перейти на SAP/R3
Fox-trot; +1 Ответить
13. NatalkaBal 28 21.05.21 11:31 Сейчас в теме
14. FatPanzer 21.05.21 11:32 Сейчас в теме
15. Дон Кихот 21.05.21 11:33 Сейчас в теме
(11)При загрузке в PostgreSQL ругается на тот же объект dbo._AccumRgOpt8561
18. Online-Ufa 21.05.21 11:54 Сейчас в теме
19. Дон Кихот 21.05.21 12:00 Сейчас в теме
(18)Управление торговлей, редакция 11 (11.4.13.155)
22. Online-Ufa 21.05.21 12:18 Сейчас в теме
(19) Может попробовать перенести отдельно конфигурацию и отдельно данные
32. XAKEP 16.06.21 07:10 Сейчас в теме
и чем все закончилось ?
33. SDmitriy2 27 04.03.22 18:13 Сейчас в теме
Всем привет, похожая ошибка:

[ INFO] Загрузка информационной базы...
[FATAL] Ошибка загрузки информационной базы. В информационную базу загружены не все данные
Нарушено условие уникальности данных.

Попытка вставки неуникального значения в уникальный индекс:
23505: ERROR: could not create unique index "_const82036_1"
DETAIL: Key (_fld2511, _recordkey)=(0, \x31) is duplicated.

Помогла перезагрузка сервисов:
systemctl restart srv1cv83.service
systemctl restart srv1cv8-ras.service
service httpd restart
systemctl restart postgrespro-1c-12.service
------------------------------------------------------------------------
перегрузите сервак :)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот