0. YPermitin 3014 25.02.19 02:40 Сейчас в теме

Cannot insert duplicate key. Кто виноват и что делать

Ошибка "CANNOT INSERT DUPLICATE KEY" в базах 1С и связанная с ней "магия".

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. lunjio 61 25.02.19 06:28 Сейчас в теме
Не мешало бы ещё вариант, пересоздание индексов добавить, все таки имеет место быть и такое.
YPermitin; +1 Ответить
3. YPermitin 3014 25.02.19 12:07 Сейчас в теме
(1) а можете привести конкретный кейс, когда пересоздание индекса помогло? На моей практике вообще никогда не давпло результат.
5. lunjio 61 25.02.19 13:20 Сейчас в теме
(3) Конечно )) К примеру свертываешь большую базу, удаление приходится делать напрямую, если индексы не пересоздать, ошибки при вставке, описанные вами.
6. YPermitin 3014 25.02.19 13:49 Сейчас в теме
(5) не исключаю, конечно, что это могло бы помочь, но как?

Перестроение индекса не меняет данные и не удаляет дубли строк. Вы упомянули свертку. На самом деле пример с регистром бухгалтерии как-раз родился из-за свертки, а в статье я показал что дело было в аналитике. Перестроение индекса бы не помогло.

Возможно Вы имеете ввиду не перестроение, что-то другое? Файловая или клиент-серверная база?

Может под перестроением понимается запуск утилиты тестировпния и исправления?
7. lunjio 61 25.02.19 14:17 Сейчас в теме
(6) Нет, понимаю пересоздание индексов через скульное обслуживание, либо да, через тестирование исправление, хотя там по-моему реорганизует, т.е фрагментирует а не создает ,верно ?
В общем ситуация следующая, удалил из таблицы все документы, с движениями и т.п, изредка возникает ошибка описанная вами, при попытке перенести в эту базу документ удаленный раннее, т.е индекс не удалился при удалении строки, из разряда фантастики конечно, но имело место.
YPermitin; +1 Ответить
8. YPermitin 3014 25.02.19 15:25 Сейчас в теме
(7) действительно, фантастика.

Хотелось бы взглянуть на базу с ошибкой и воспроизвести. Трудно вериться, хочется эксперементировать.

Если сможете как-то на демоданных сделать, то цены этой базе не будет.
2. vano-ekt 1175 25.02.19 11:55 Сейчас в теме
сегодня есть, что плюсануть на ИС)
kuzyara; YPermitin; +2 Ответить
4. YPermitin 3014 25.02.19 12:08 Сейчас в теме
9. acanta 56 26.02.19 14:22 Сейчас в теме
Документ из прошлого периода, 2014 года, поэтому при изменении платформа не удаляет записи из таблицы итого, а сторнирует их!

По какому принципу платформа отличает прошлый период от текущего?
Например при рассчитанных итогах на 2020 год закрывать периоды с перепроведением документов начиная с 2014 в бухгалтерии - записи будут сторнироваться или удаляться и пересоздаваться заново?
Исходя из этого, насколько часто имеет смысл пересчитывать итоги?
10. YPermitin 3014 26.02.19 15:05 Сейчас в теме
(9) главное следить, чтобы NULL не появлялось в аналитике проводок там, где не следует.

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

В примере платформа сторнирует записи из-за ошибки в запросе,т.к. не нашла уже существующую запись итогов. Сторно быть не должно.

По поводу старого периода - если есть записи итогов в следующих датах, то период прошлый.
11. nytlenc 273 10.06.19 05:06 Сейчас в теме
Платформа 1С автоматически создает множество индексов в зависимости от типа метаданного. Подробнее об индексах можно прочитать на ИТС, там есть подробная информация.


Метаданного???? о_О Вы серьёзно?
Кстати вы в курсе, что ваша статья - это прямое нарушение лицензионного соглашения 1С? (п. 64)
Прикрепленные файлы:
12. YPermitin 3014 10.06.19 06:40 Сейчас в теме
(11) что Вы хотите всем этим сказать и какого ответа ожидаете? :)
13. nytlenc 273 10.06.19 06:54 Сейчас в теме
(12) Юрий, ничего злонамеренного :) Просто. Знаете ли Вы, что это нарушение лицензии (скорее всего знаете) и думаю стоит об этом упомянуть в статье (хотя может и есть, каюсь мог проглядеть).
И второе конечно, что режет глаз, слово "Метаданного", к сожалению такого слова нет, Метаданные всегда пишутся и произносятся во множественном числе, даже если идет речь о какой-то одной сущности конфигурации. То есть правильно будет писать:

Платформа 1С автоматически создает множество индексов в зависимости от типа метаданного метаданных. Подробнее об индексах можно прочитать на ИТС, там есть подробная информация.


Ваша статья довольно обширная и интересная. Но когда встречаешь подобные моменты за которые "цепляется глаз", доверие к источнику слегка падает.
Спасибо :)

Или как вариант так :

Платформа 1С автоматически создает множество индексов в зависимости от типа метаданных объекта конфигурации. Подробнее об индексах можно прочитать на ИТС, там есть подробная информация.
14. YPermitin 3014 10.06.19 07:07 Сейчас в теме
(13) Пусть статья остаенется как есть для истории.

Ваш коммментарий больше похож на троллинг, поэтому просто рекомендую почитать другие подобные статьи.

Удачного вам дня и хорошего настроения! Держитесь там! :)
15. nytlenc 273 10.06.19 08:48 Сейчас в теме
(14) )))))) Статья отличная бесспорно. Спасибо. И Вам хорошего дня.
YPermitin; +1 Ответить
16. YPermitin 3014 10.06.19 12:16 Сейчас в теме
(15) и за минус спасибо :)
17. nytlenc 273 10.06.19 12:39 Сейчас в теме
(16) Пусть останется как есть для истории. (шучу... кнопки спутал спросонья, прошу прощения) :)
YPermitin; +1 Ответить
18. YPermitin 3014 10.06.19 15:46 Сейчас в теме
(17) никого не хотел обидеть...

I am sorry!
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижневартовск
зарплата от 60 000 руб.
Полный день

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Москва
Полный день