|
Ошибка SQL: Попытка вставки неуникального значения в уникальный индекс | ☑ | ||
---|---|---|---|---|
0
УПП
09.12.11
✎
11:22
|
Парни, нужна помощь, в общем такая вот ошибка при записи документа:
Ошибка при вызове метода контекста (Записать): Попытка вставки неуникального значения в уникальный индекс: Microsoft OLE DB Provider for SQL Server: Cannot insert duplicate key row in object 'dbo._AccRgAT31272' with unique index '_AccRg31272_ByPeriod_TRRRRRRN'. The duplicate key value is (Oct 1 2011 12:00AM, 0xb78b44e770856be44f72929f83d798ec, 0xa5c250505450303011da76ca1e1af82a, 0x08, 0x000000aa, 0x92530013724ce51f11dc1983fdfdd899, 0x08, 0x000000b7, 0xa164001ec9eba4bc11dea12447b43801, <NULL>, <NULL>, <NULL>, <NULL>, 0). HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1 Как пытался исправить: 1. Выгрузка загрузка базы (*.dt) не помогает 2. Выгрузка загрузка базы (*.dt), с установкой новой смещении дат не помогает так же 3. Делал тестирование и исправление (без проверки ссылочных данных), тоже не помогло Что еще можно попробовать ? |
|||
1
shamannk
09.12.11
✎
11:23
|
выгрузи создай новую базу скл и залей туда dt, мне как то помогло
|
|||
2
rs_trade
09.12.11
✎
11:23
|
(0) жаль пояс богородицы уехал. а то можно было бы попробовать ему поклониться.
|
|||
3
УПП
09.12.11
✎
11:25
|
(1) Это я уже делал.
|
|||
4
УПП
09.12.11
✎
11:26
|
(2) :))) Ну давайте без подъебок :) Ну зачем детский сад устраивать, вроде взрослые люди.
|
|||
5
УПП
09.12.11
✎
11:26
|
+0 Как пытался исправить:
1. Выгрузка загрузка базы (*.dt) не помогает 2. Выгрузка загрузка базы (*.dt), с установкой новой смещении дат не помогает так же ----------- Естественно создавалась новая база SQL для этих пунктов. |
|||
6
rs_trade
09.12.11
✎
11:27
|
Ищи дубли, причину их появления, удали дубли. Ищи по форуму. Недавно только ветка была.
|
|||
7
Kom-off
09.12.11
✎
11:27
|
1. Проанализировать данные в регистре накопления _AccRgAT31272 - имя которого в конфигураторе можно получить функцией ПолучитьСтруктуруХраненияБазыДанных().
2. Если найденны некорректные данные, то исправить их возможными способами. 3. Проиндексировать таблицы базы данных на уровне SQL. Кстати, можно попробовать первым делом. |
|||
8
shamannk
09.12.11
✎
11:28
|
(5) У гилева поисче что то было у него по этому поводу.
|
|||
9
rs_trade
09.12.11
✎
11:31
|
||||
10
УПП
09.12.11
✎
11:42
|
(7) да я как раз первым же делом реиндексацию сделал, не помогла.
|
|||
11
УПП
09.12.11
✎
12:05
|
_AccRgAT31272 это Хозрасчетный регистр (Итоги по счетам с субконото 3) как раз у этой таблице единственный индекс: _AccRg31272_ByPeriod_TRRRRRRN и на него ругается
|
|||
12
Kom-off
09.12.11
✎
12:10
|
(11) Ну, посмотри, там в ошибке в (0) есть несколько УиДов, точнее их представлений в SQL. На Инфостарте есть статейка недавняя про преобразование их в УИД-ы 1С. Один из них, наверняка, УИД документа регистратора. Вот с его поиска и начни.
|
|||
13
УПП
09.12.11
✎
12:12
|
(12) Спасибо за подсказку, сейчас поищу статейку и докопаюсь до кривых регистраторов.
|
|||
14
Kom-off
09.12.11
✎
12:12
|
(13) "Ну, а дальше - дело техники" (с) Бриллиантовая рука. :-)
|
|||
15
sda553
09.12.11
✎
12:12
|
(0) Я знаю эту ошибку.
Простыми методами (без бэкапа) ее не так то просто победить. Причина скорее всего в том, что недавно поменяли количество субконто. Теперь в таблице бухгалтерии субконто есть некие записи которые по плану счетов у этих счетов быть не должно. Или наоборот, вместо необходимых значений субконто по плану счетов положенного, в таблице null |
|||
16
sda553
09.12.11
✎
12:16
|
(15) Процедурка починки очень комплексная. Пишется запрос который сравнивает текущие значения субконто с разрешенными видами субконто в плане счетов. Отбираются те записи, которые не сходятся, т.е. лишнее значение субконто или не того вида или нехватающее субконто (должно быть взаимное соответствие и в ту и в другую сторону)
Потом взависимости от вида этих строк решаем что с ней делать. Например если в значении субконто не хватает какого то вида субконто, то добавляем его руками insert если другого вида, то Update ну или delete если это субконто не должно быть |
|||
17
YaYca
03.01.12
✎
17:38
|
(16)
Похоже, Дед Мороз в качестве подарка подбросил и в нашу базу эти грабли. Проблема вылазит при попытке добавить субконто. sda553, есть ли возможность поделиться наработками? |
|||
18
H A D G E H O G s
03.01.12
✎
17:55
|
(16)
1) Отключить итоги у Хозрасчетного 2) Исправить записи основных таблиц прям из 1С, исправив значения Субконт 3) Включить итоги у Хозрасчетного Было и у нас подобное. |
|||
19
Mikhail Volkov
03.01.12
✎
18:36
|
(0) Эта ошибка чисто SQL. Поэтому, я обычно выгружаю в файловый вариант, перепровожу документы (восстанавливаю последовательность или конкретно тот тип документов, на которых эта ошибка замечена). ТиИ если время есть. Потом обратно в SQL.
|
|||
20
H A D G E H O G s
03.01.12
✎
18:40
|
(19) Бугага. В рот мне ноги!
|
|||
21
IceSer1
03.01.12
✎
18:43
|
(19) вот извращенец )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |