|
Попытка вставки неуникального значения в уникальный индекс | ☑ | ||
---|---|---|---|---|
0
Масянька
20.08.19
✎
09:24
|
День добрый!
Вводная: SQL база. Свертка этой базы и перенос остатков в новую БД (!!!). В новой базе имеем такую картину: до ТиИ все норм (док-ы проводятся), после ТиИ - на некоторых док-ах вываливается ошибка (в заголовке) (при попытке проведения). Кто сталкивался - какие методы лечения есть? Спасибо. |
|||
1
Провинциальный 1сник
20.08.19
✎
09:28
|
Перехватывай sql-запрос, на котором ошибка вылетела, смотри в какую таблицу происходит вставка, смотри её содержимое, анализируй что не так..
|
|||
2
Масянька
20.08.19
✎
09:28
|
(1) Какой запрос и где?
|
|||
3
dka80
20.08.19
✎
09:43
|
Выгрузить в ДТ и загрузить заново?
|
|||
4
Масянька
20.08.19
✎
09:48
|
(3) Нет. В смысле - пробовала, тоже самое.
|
|||
5
Масянька
20.08.19
✎
09:48
|
Причем, если скопировать док-т с ошибкой (один-в-один) - новый проводится. Без ошибок.
|
|||
6
Йохохо
20.08.19
✎
09:49
|
(5) ну может у скопированного ссылка другая
|
|||
7
ЛЮС
20.08.19
✎
10:30
|
Такие ошибки характерны, когда при обменах начинают манипулировать ссылками. Попытка установить новому объекту существующую ссылку. Ищите, какие подчиненные ссылочные объекты пытается создать документ. Может быть ошибка на регистрах, но там обычно платформа отлавливает.
Самый простой пример для воспроизведения: Выборка = Документы.ПоступлениеТоваровУслуг.Выбрать(); Выборка.Следующий(); ГУИД = Выборка.Ссылка.УникальныйИдентификатор(); Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); Док.Дата = ТекущаяДата(); НоваяСсылка = Документы.ПоступлениеТоваровУслуг.ПолучитьСсылку(ГУИД); Док.УстановитьСсылкуНового(НоваяСсылка); Док.Записать(); |
|||
8
Масянька
20.08.19
✎
10:34
|
(7) Я читала про новые ссылки. Но в данном случае - ТиИ = удалять+очищать.
|
|||
9
Cyberhawk
20.08.19
✎
10:37
|
Забей
|
|||
10
Масянька
20.08.19
✎
10:38
|
(9) Та легко...
Бухи, блин, нехорошие люди, хотят остатки видеть. |
|||
11
ЛЮС
20.08.19
✎
10:40
|
(8) А что хочешь через ТИИ исправить? Это как раз не битые ссылки.
Где-то косяк в логике или в заполнении данных. Ошибка воспроизводится (уже хорошо) - нужно сидеть и ковырять отладчиком. |
|||
12
Cyberhawk
20.08.19
✎
10:44
|
С таким подходом к описанию проблемных ситуаций далеко не уедешь
|
|||
13
Масянька
20.08.19
✎
10:45
|
(11) Перенос остатков. В новую БД.
В остатках есть док-ты старого периода. Вот они и дают битые ссылки (док-ты старого периода не переносим). Поэтому и ТиИ. |
|||
14
Масянька
20.08.19
✎
10:46
|
(12) Я не знаю, что еще описывать.
До ТиИ - ошибки нет (проверено). После ТиИ - ошибка. |
|||
15
Масянька
20.08.19
✎
10:49
|
У меня один из архивов (dt) загрузился в файловую. Только открыться не смог.
Tool открыла базу. Одна таблица большая (прилично больше остальных). И в ней есть записи с NULL. Судя по всему, проблемная таблица - это бух. проводки. |
|||
16
Новиков
20.08.19
✎
10:51
|
(0) известная и неприятная проблема.
Вот что попробуй: 1. если есть возможность, все делай не на скульной, а на файловой базе. Если нет - то и нет. 2. отключи разделение итогов и выполни перерасчет итогов. Это поможет, если у тебя косяк в таблице итогов, и это можно легко проверить - просто откатив дату итогов куда-то в прошлое и выполнив индексирование. Если это - это, то ошибки не будет. П.1 и п.2 - он и проверяет, собственно, этот кейс. Если не покатит, то тогда нужно искать некорректные наборы в самом РБ. Начни с этого: http://catalog.mista.ru/public/635010/ http://catalog.mista.ru/public/285883/ |
|||
17
Новиков
20.08.19
✎
10:53
|
Вот хорошая и свежая статья по теме: http://catalog.mista.ru/public/1010017/
|
|||
18
Масянька
20.08.19
✎
10:57
|
(16) 1. Нет. Большая зараза.
2. Пробовала... Сначала проблемы вылезла на док-ах (поступления). Потом уже до остатков дорыла. Так вот... Отключив итоги (проводки + НДС) некоторые док-ты провелись. А некоторые нет. Ну, и по ссылкам - читала. Не вариант в файловую загрузить. Один единственный архив удалось, и то криво. А другие архивы - "Загружены не все данные". |
|||
19
Cyberhawk
20.08.19
✎
11:09
|
(14) Полный текст ошибки конечно же
|
|||
20
dka80
20.08.19
✎
11:22
|
Как вариант: написать обработку, которая будет перепроводить все документы и при наличии ошибки с нужным текстом создавать новый документ копированием, а старый удалять.
|
|||
21
ЛЮС
20.08.19
✎
11:26
|
(18) раз так себя ведет, то (как выше уже советовали) пересчитать итоги.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |