|
Неуникальность записей в регистре сведений. Чем лечить? | ☑ | ||
---|---|---|---|---|
0
SatansClaws
03.06.13
✎
06:46
|
Из файловой базы выгружаю ДТшник.
При попытке загрузить его в скулевую базу валится с ошибкой неуникальности значений в таблице регистра сведений. Делаю "проверку логической целостности" (тестирование + исправление) - выдает " В таблице InfoRg6503 обнаружены неуникальные записи со значениями полей: Fld6504 = NULL Fld6505 = NULL Неуникальность записей устранена" Причем, по факту - не устраняет (повторное ТИИ выдает ровно то же самое). Плюс к ошибке неуникальности выдает "Неверный тип хранимого значения. Сохранено пустое значение допустимого типа." - это типо нуллы пытаются замениться на пустые ссылки. Аналогично, безуспешно. Пробовал удалить через форму списка. Типо удаляет. Жму Home - запись на месте (это не говоря про глюки в первичном отображении). Пробовал создать НаборЗаписей, сделать отбор по НУЛЛ-ам в этих полях, очистить-записать - тоже фиг. chdbfl ошибок никаких не находит (да и не должен, по большому счету). Чем лечить? ЗЫ структура регистра сведений примитивна: не подчинен регистратору, непериодический, 2 реквизита (ссылка на документ и ссылка на справочник одного из видов) |
|||
1
echo77
03.06.13
✎
06:54
|
А отбор по NILLам что-нибудь отбирает? O_O
|
|||
2
Defender aka LINN
03.06.13
✎
06:57
|
Выгрузи регистр в файл (без дублей), запиши пустой набор без отбора и загрузи обратно
|
|||
3
el-gamberro
03.06.13
✎
07:11
|
delete from _InfoRg6503
where _Fld6504 is NULL and _Fld6505 is NULL |
|||
4
Пеппи
03.06.13
✎
07:13
|
Эта таблица случайно не РБ ?
|
|||
5
Славен
03.06.13
✎
07:17
|
(4)регистр сведений :)
|
|||
6
SatansClaws
03.06.13
✎
07:18
|
(3) была бы база скулевая - вопросов бы не задавал
ЗЫ ну и НУЛЛ в понятии 1С и НУЛЛ в понятии скуля - немного разные вещи. 1С считает НУЛЛом что-то типа 0x000000000000000000000000000000000000 |
|||
7
SatansClaws
03.06.13
✎
07:20
|
(2) Ну, да - похоже так и придется
если даже так не поможет - тогда останется только покоцать в метаданных и создать его заново. |
|||
8
SatansClaws
03.06.13
✎
07:25
|
(1) Судя по поведению - нет.
Обор по нуллам - это я уже извращался. Сначал, как умный, написал запрос (селект фром групбай хэвинг каунт(*) > 1 ) и шел по выборке. Потом узнал, что дубли только по пустым значениям - извращался уже без прикрас. |
|||
9
SatansClaws
03.06.13
✎
07:30
|
(2) Глупый вопрос в догонку:
выгружать в файл самому (типо, сохранять гуиды ссылок), или есть более кошерные способы? ЗЫ написать мини-правила обмена не более кошерный, ибо по трудозатратам для меня выйдет столько же |
|||
10
Cyberhawk
03.06.13
✎
07:54
|
(9) ВыгрузкаЗагрузкаXML82
|
|||
11
Cyberhawk
03.06.13
✎
07:56
|
(обработка идет вместе с конфигурацией "Конвертация данных")
|
|||
12
Defender aka LINN
03.06.13
✎
07:58
|
(6) А вот свистеть не надо. 0x000000000000000000000000000000000000 - это пустая ссылка
|
|||
13
dmpl
03.06.13
✎
08:26
|
(9) НаборЗаписей без дублей попробуй через ЗначениеВФайл() сбросить. Потом через ЗначениеИзФайла() загрузить.
|
|||
14
Ненавижу 1С
гуру
03.06.13
✎
08:28
|
(12) а разве не неопределено?
клевая туча пустых значений, че |
|||
15
Defender aka LINN
03.06.13
✎
08:40
|
(14) Опять ты за свое... :)
|
|||
16
dmpl
03.06.13
✎
08:41
|
(15) Дык как определить тип пустой ссылки, если тип реквизита составной? ;)
|
|||
17
Defender aka LINN
03.06.13
✎
08:43
|
(16) Точно так же, как тип не пустой ссылки
|
|||
18
dmpl
03.06.13
✎
08:45
|
(17) ОК. Определи тип ссылки 0x000000000000000000000000000000000000
|
|||
19
SatansClaws
03.06.13
✎
08:45
|
(16) в таблицах такие реквизиты имеют до 3х полей хранения:
_Type, _RTRef, _RRRef |
|||
20
Ненавижу 1С
гуру
03.06.13
✎
08:47
|
(18) ссылка это тип+значение, а то что ты подсунул хз что
|
|||
21
dmpl
03.06.13
✎
08:50
|
(20) Это не я подсунул, это в (12) было обознано пустой ссылкой ;)
|
|||
22
Defender aka LINN
03.06.13
✎
08:54
|
(21) Да. И что тебя смущает?
|
|||
23
dmpl
03.06.13
✎
09:07
|
(22) Ну так определи тип этой т.н. "пустой ссылки".
|
|||
24
SatansClaws
03.06.13
✎
09:25
|
А куда делся ответ №2? о_0
Короче, этот способ помог. ХМЛ-ом даже не баловался - выплюнул ГУИДы+виды объектов в файл, загрузил из файла. |
|||
25
МихаилМ
03.06.13
✎
09:26
|
(0)
если "в скулевую базу" = ms sql и версия больше 2000, то отключите индекс с помощью ddl триггера и удалите записи включите пересоздайте индекс. |
|||
26
Defender aka LINN
03.06.13
✎
09:26
|
(23) Тип в другом поле какбе
|
|||
27
SatansClaws
03.06.13
✎
09:35
|
(25) а как это сделать?
|
|||
28
МихаилМ
03.06.13
✎
10:31
|
(27)
набрать в набрать в строке писка поисковой службы "ddl триггер" я приводил пример на этом сайте |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |