|
Попытка вставки неуникального значения в уникальный индекс | ☑ | ||
---|---|---|---|---|
0
prog1Csww
20.11.18
✎
19:38
|
Всем здравствуйте.
При проведении документа не своего авторства вылазит следующая ошибка Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.ПеремещениеТоваров.МодульОбъекта(3430)}: Ошибка при вызове метода контекста (Записать) по причине: Попытка вставки неуникального значения в уникальный индекс: Microsoft SQL Server Native Client 11.0: Не удается вставить повторяющуюся строку ключа в объект "dbo._AccumRg6649" с уникальным индексом "_AccumRg6649_ByPeriod_TRN". Повторяющееся значение ключа: (ноя 16 4018 4:01PM, 0x00000091, 0x8295f298f5085f5811e8e926373a8e4b, 1). HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1 Если я создаю документ то дает провести, чужие не получается провести. Как исправить? |
|||
1
Сияющий в темноте
20.11.18
✎
19:40
|
Структуру регистра в студию,и что в него пишется.
|
|||
2
palsergeich
20.11.18
✎
19:45
|
номер строки в обработке проведения не трогал?
|
|||
3
palsergeich
20.11.18
✎
19:47
|
Ибо если верить https://its.1c.ru/db/metod8dev/content/1590/hdoc
То есть подозрения что речь идет про этот индекс [ОРРХ | ОРНР1 +] Период + Регистратор + НомерСтроки (Кластерный) |
|||
4
palsergeich
20.11.18
✎
19:49
|
Ну а единственное что в нем можно сломать - номер строки. Остальное одинаковое штатно
|
|||
5
youalex
20.11.18
✎
20:01
|
||||
6
prog1Csww
20.11.18
✎
20:08
|
(1) База 1С Рарус Торговый комплекс. Регистр накопления. Называется ОстаткиТоваровКомпании.
Измерения -Склад компании -Номенклатура -Характеристика номенклатуры Ресурсы -Количество -Резерв -СуммаРозн -СуммаРознУпр и еще 5 реквизитов Если Вы про эту структуру если про SQL то (3) правильно написано |
|||
7
prog1Csww
20.11.18
✎
20:27
|
(5) Запрос не выявил дублей
|
|||
8
prog1Csww
20.11.18
✎
20:27
|
(5) select * from _AccumRg6649 Acc (NOLOCK)
inner join ( select _Period, _RecorderTRef, _RecorderRRef, _LineNo from _AccumRg6649 (NOLOCK) group by _Period, _RecorderTRef, _RecorderRRef, _LineNo having count(*) > 1 ) doubles ON doubles._Period = Acc._Period AND doubles._RecorderTRef = Acc._RecorderTRef AND doubles._RecorderRRef = Acc._RecorderRRef AND doubles._LineNo = Acc._LineNo |
|||
9
_Дайвер_
20.11.18
✎
20:32
|
Перезагрузи машину, проверь еще раз, подобное у меня было, помогла перезагрузка, правда не надолго, потом пришлось платформу обновить на пару версий
|
|||
10
prog1Csww
20.11.18
✎
21:01
|
(2) Память дала сбой 1С стала ругаться на страницы памяти. Это серьезная ошибка которая может привести к потере целостности базы данных. Нужно делать CHECKDB, бла бла бла.
Сделали CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS единственное что. По другому никак. |
|||
11
rozer76
20.11.18
✎
22:25
|
(10) память серверная была с ECC?
|
|||
12
palsergeich
20.11.18
✎
22:42
|
(10) Спасибо
|
|||
13
youalex
21.11.18
✎
00:06
|
(7) индекс удалял перед выполнением?
|
|||
14
youalex
21.11.18
✎
00:08
|
(13) зы. перед удалением - ПКМ по нему и что-то там типа "Создать скрипт ... Create" - чтобы руками потом не писать.
|
|||
15
prog1Csww
22.11.18
✎
02:58
|
(11) Не знаю. Какая уже разница.
|
|||
16
prog1Csww
22.11.18
✎
02:59
|
(13) Нет. Не удалял. Думаешь из-за того что битый индекс, то и запрос не выполняется корректно?
|
|||
17
prog1Csww
22.11.18
✎
03:01
|
(14) По правде говоря я побоялся индекс удалять, но теперь попробую
|
|||
18
youalex
22.11.18
✎
03:57
|
(16) Да. он по индексу ищет, а тебе нужно по записям.
|
|||
19
prog1Csww
22.11.18
✎
07:35
|
(11) Сейчас уже по другому сисадмин говорит
"Там ошибка в какой то таблице в SQL прячется и приводит к ошибке памяти на сервеах. Выглядит как аппаратная проблема, а на самом деле она программная." Видно начальник его прижал |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |