Попытка вставки неуникального значения в уникальный индекс:

  1. 7 г. назад

    Странный сбой. ТИИ рабочей базы:
    Попытка вставки неуникального значения в уникальный индекс:
    Microsoft SQL Server Native Client 11.0: Не удается вставить повторяющуюся строку ключа в объект "dbo._InfoRgSL19491NG"
    с уникальным индексом "_InfoRgS19491_ByDims_RRRNG". Повторяющееся значение ключа:
    (0, 0xae8d000c2938c61711e6c62fedab6bb7, 0x9ce5000c2938c61711e65436b164a95c, 0xae8d000c2938c61711e6c630543fb898).
    HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native..

    Вроде как все знакомо, а воткуй.
    Таблицы _InfoRgSL19491NG в базе SQL нет, есть _InfoRgSL19491. Которая есть Регистр сведений цены номенклатуры, срез последних.
    Повторяющихся значений (0xae8d000c2938c61711e6c62fedab6bb7, 0x9ce5000c2938c61711e65436b164a95c, 0xae8d000c2938c61711e6c630543fb898) в этой таблице, _InfoRgSL19491, нет (от слова совсем). По индексным или другим полям - без разницы.
    Что это за таблица _InfoRgSL19491NG? Откуда?
    После выгрузки в файловый формат, ошибка исчезает. То есть ТИИ проходит полностью, без этой ошибки. После загрузки в SQL "леченой" - все по новой.
    Шо делать?

    Ответы: (22) (43)
  2. А индекс _InfoRgS19491_ByDims_RRRNG есть в БД?

  3. 1. посмотреть какой регистр сведений
    2. посмотреть какие записи в регистре сведений и/илли убрать неуникальное значение
    и/или сделать реструктуризацию для этого регистра (хотя реструктуризация скорее всего не пройдет)

  4. _InfoRgS19491_ByDims_RRR присутствует

    Ответы: (4)
  5. (3) отлично, и что сидит в прекрасной ddl этого индекса? На какую таблицу он смотрит свои взором?

    Ответы: (9)
  6. 03.07.2017 15:48:26 отредактировано sf

    NG - это "временная" таблица при ТИИ с флагом "сжимать таблицы", имхо

    Ответы: (9)
  7. Повторяю. ТИИ (реструктуризация) в SQL валится с этой ошибкой.

    Ответы: (7)
  8. (6) да хоть три раза повтори, дубли почисти

    Ответы: (12)
  9. я, надеюсь, с объяснения, что такое индекс и почему его нет, не надо начинать?

    Ответы: (10) (12)
  10. (5) В скульной 1С сжимать не получится (нет пункта в ТИИ).
    (4) где этот оператор смотреть?

    Ответы: (11)
  11. (8) не надейся, обяснять придется, я слушаю, попивая чек на воем квартале

  12. Идун В скульной 1С сжимать не получится (нет пункта в ТИИ).

    это и есть реструктуризация жеж:
    создаются копии таблиц, создаются копии индексов, переносятся данные <тут у тебя сейчас ошибка и откат транзакции>, старые таблицы удаляются, новые переименовываются в правильные имена.

    у тебя ошибка потому у тебя индекса правильного сейчас нет, когда 1с делает реструктуризацию - создается индекс, вставляются данные, которые с этим индексом не совместимы.
    посмотреть ты можешь только по своим данным в таблице и "догадаться" какой индекс вставляется, т.к. сейчас его нет.

    Ответы: (13) (15)
  13. (7) Повторяю в третий раз. После выгрузки в файловую - 1с НИКАКИХ ДУБЛЕЙ НЕ ВИДИТ, и не ругается.
    (8) Таблицы нет, ошибка есть.

  14. 03.07.2017 16:02:45 отредактировано Идун

    (11) Я уже час, через select догадываюсь. Нет таких значений в дублях. Самих дублей нет.

  15. ессно, что скрипты по удалению дублей как веерочком в 0 отмахали.

    Ответы: (17)
  16. (11) Хорошо, тогда _InfoRgSL19491NG - это временная таблица. А что будет, если я этот срез последних грохну? Как потом?

    Ответы: (19)
  17. че-то поциент мало того, что технически не подкован, еще и хамоват

  18. Идун ессно, что скрипты по удалению дублей как веерочком в 0 отмахали.

    дубль в твоем понимании - это что?

    Ответы: (21)
  19. ты вычислил какой регистр?

    Ответы: (20) (23)
  20. Идун тогда _InfoRgSL19491NG - это временная таблица. А что будет, если я этот срез последних грохну?

    это не такая "временная" таблица. я имел в виду, что она создается во время реструктуризации.

  21. (18) я те порно с негритянками скину, расскажи все что знаешь для братвы!

  22. (17) Дубль в моем понимании - это две или более записей, со значениями полей в столбцах (0xae8d000c2938c61711e6c62fedab6bb7, 0x9ce5000c2938c61711e65436b164a95c, 0xae8d000c2938c61711e6c630543fb898)

    Ответы: (24)
  23. давай по порядку. у тебя база скульная в (0) есть. запусти "получитьСтруктуруХраненияИБ" или как-то там и найди какая таблица на InfoRg*19491

  24. (18) Я мож и хамоват, но в первом посте : Регистр сведений цены номенклатуры, срез последних..

    Ответы: (25)
  25. (21) нет. 1С пытается создать индекс, который у тебя в конфигурации есть, а в ИБ нет.

    Ответы: (27)
  26. (23) ща

  27. Сами цены "сидят" в четырех таблицах. _InfoRg19480 - основная, _InfoRgOpt19490 - настройки хранения итогов, _InfoRgSL19491 - итоги срез последних, _InfoRgChngR19492 - регистрация изменений.

  28. (24) это как? Незавершенная реструктуризация, после внесенных изменений в конфиг? Это (с трудом) но допускаю. Но почему её в файловой не видно?

    Ответы: (28) (31)
  29. блеать, при сталине такого не было. а с каких релизов "срез последних" как таблица хранится? да и пофиг.

    Идун Но почему её в файловой не видно?

    в файловой свой движок и вполне себе дубли могут быть.

  30. 03.07.2017 16:29:59 отредактировано sf

    вот тебе рецепт:
    создай пустую базу sql со своей конфигурации. возьми индекс (он там будет), на который ругается. посмотри поля и сделай по ним запрос по номенклатуре

  31. второй рецепт. если платформа хранит итоги по срезу последних - почисти таблицу к херам и попробуй реструктуризацию или пересчет итогов (хз что там придумали по регистрам сведений)

  32. Идун Незавершенная реструктуризация, после внесенных изменений в конфиг? Это (с трудом) но допускаю.

    динамически обновляешься?
    я как минимум два способа знаю как заставить 1с работать с разной конфигурацией базы данных и самой базой данных.

    Ответы: (33)
  33. Ну я и спрашиваю, тупой, что будет, если эту таблицу грохнуть? оттрункатить, восстановится там само, или перепроводить чего придется?

    Ответы: (34)
  34. (31) Я админ, такого давно не делаю. Прог сц.. нехороший человек, последние разы точно динамически обновлял.

    Ответы: (34)
  35. 03.07.2017 16:53:02 отредактировано andrewks

    Идун Ну я и спрашиваю, тупой

    да иди , дед.
    я тебе уже и так все расписал, еще твои портянки читать внимательно. я у тебя денег занял, что ли?

    Идун Прог сц.. нехороший человек, последние разы точно динамически обновлял.

    жалуйся, кому-нть другому.
    удачи

    Ответы: (36)
  36. идун ты зачем сфа назвал? онтебе помочь хотел!

    Ответы: (37)
  37. 03.07.2017 16:52:54 отредактировано andrewks

    (34) Больной? Я Идун, соответственно иду туда постоянно. Денег ты мне не должен, но и знаний особо мощных, увы, тоже не имеешь. Кароче, все в стиле мисты. Про хз сам в курсе. Поэтому: за ответы = большое спасибо, за советы: да .

  38. (35) Я себя назвал. Не его. Если угадал - случайность.

    Ответы: (38)
  39. (37) ты напоминаешь мне зеленую прозрачную сферу с двумя стенками, между стенками сферы - устота, внутри она ткаже пуста, но смотря сквозь нее мы по другому видим предметы

    Ответы: (42)
  40. Бухаешь?

  41. Нехило sf дали от ворот поворот [smile=:D]

    Ответы: (42) (47)
  42. вот что от недопонимания бывает - Идун обозвал себя, а sf принял на свой счёт.

    Практически сюжет по Гоголю

  43. (40) ну а чо, я я цепочка от буя, ищи дубли. Умный. Я этих дублей сотнями , тысячами, миллионами....
    (38) двойная бутылка клейна

  44. Идун Таблицы _InfoRgSL19491NG в базе SQL нет

    эта таблица создаётся при реструктуризации

    Ответы: (46)
  45. думаю, дубли нужно искать в смежных таблицах, которые Регистр сведений цены номенклатуры

  46. срез последних перестраивается при реструктуризации на основании исходных данных - оттуда и приходит дубль

    Ответы: (49)
  47. (43) Это я уже понял. Трункейт ей сделал. Сейчас пересчет итогов и реструктуризацию делаю.

  48. jsmith82 Нехило sf дали от ворот поворот [smile=:D]

    где? граф, ты мог бы и отличиться. тыж все хвастаешься познаниями в 1С

  49. Очистка таблицы не помогла.
    Чешу репу. Что еще придумать, грохну.

    Ответы: (52)
  50. (45) нет в данных этой таблицы дублей, или они не там
    уже и этим отшерстил

    with x as
    (
    select row_number() over (partition by _RecorderTRef, _RecorderRRef, _Fld19481RRef order by (select 1)) as rn from _InfoRgSL19491
    )
    delete from x where rn > 1;

    с разным сочетанием колонок, благо их там не много. Чисто.

    Ответы: (53)
  51. Проверяю смежные таблицы. О которых в тексте ошибки ни слова... Это давно придумали срезы последних в отдельной таблице хранить?

  52. У тебя повторяются значения неужно непонятно? Сделай выгрузку быза, потом загрузку опять, или восстанови бекап. плюс есть метод Конфигурация= проверка целостности конфигурации, либо индексы пересчитай

    Ответы: (59)
  53. Идун Очистка таблицы не помогла.
    Чешу репу. Что еще придумать, грохну.

    я ж написал - ищи в основных таблицах этого регистра

    Ответы: (54)
  54. (49) оракл что ли?

    Ответы: (54) (55)
  55. (52) andre, понятно, что где-то там. Вопрос что искать? В некую временную таблицу, индекс которой прямо не определен, вливаются некие ссылочные данные и... получаем неуникальное значение из четырех параметров.
    Информативно. В связанных таблицах тоже "дублей" нет. В останках мозга мыслей, как это отловить, пока тоже. Завтра профайлером ловить буду. Надеюсь, что ТИИ таки запросами делается.

    (53) какая разница?

    Ответы: (55)
  56. (53) скорее скуль 2012
    (54) вот ты дерево...
    Сними уже флажок в конфигураторе с итогов регистра, сохранись, поставь обратно.
    Или не ставь, оставь эту работу профессионалам

    Ответы: (59)
  57. Должен констатировать , что ЦФ намного профессиональнее Идуна

    Ответы: (58) (59)
  58. Идун в ремиссии ж.

  59. NewTesla Должен констатировать

    Идун на другой ступени эволюции, тебе пока не допрыгнуть.

  60. В самом крайнем случае есть два инструмента: технологический журнал и профайлер бд

  61. (56) уважаемый, после сентенций из (51) понятно, что ты вообще не в теме. Займись другим.
    (55) Сам ты дерево. Добавить нечего. В профессиональном колочении понтов не соревнуюсь, далёк, глуп и ленив.

  62. давно бы уже переименовал таблички от этого регистра во что угодно, сделал реструктуризацию без них и потом импортнул обратно значения, и пофик там на дубли, пусть кодер разбирается со своим г..ом

    Ответы: (63)
  63. 04.07.2017 10:30:59 отредактировано Идун

    Проблема решена. Выдернуты заменой 4 таблицы с содержимым из "живой" скульной копии ( в которой ошибки еще нет). Перепроведены документы изменения цен от даты копии. Все.
    Советчикам изменять конфиг галочками использования итогов регистра = успокойтесь, вы неправы.
    Разработчикам временных "невидимых" таблиц, как всегда большое спасибо. Кто найдет способ как обойти или вылечить такие таблицы - будет мой поклон и уважение.
    Тему можно закрыть.

  64. то есть, другими словами, восстановил 4 таблицы из бэкапа

    Ответы: (64)
  65. (60) кодер сам гамно. но не я его на работу брал.

  66. (62) да

или зарегистрируйтесь чтобы ответить!