Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: нарушение ограничения primary key

Ø [Волшебник, 20.09.21 - 13:36]
v7: нарушение ограничения primary key
Я
   OnePrg
 
20.09.21 - 11:15
База SQL

На копии удалил из регистра несколько измерений.
Объединением поставил на рабочую базу, теперь время от времени при перепроведении документов ругается на этот регистр и 1С-ка вылетает.

http://imagizer.imageshack.com/img923/7088/7k7H4C.png

Что я не так сделал?
Как это исправить?
   SiAl-chel
 
1 - 20.09.21 - 11:19
(0) Тестирование и исправление в Конфигураторе со всеми галками сделай. И хорошо бы в SQL сделать DBCC CHECKDB.
https://docs.microsoft.com/ru-ru/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15
   SiAl-chel
 
2 - 20.09.21 - 11:22
(0) Удаление измерений регистра делает записи неуникальными, скорее всего из-за этого первичный ключ и стал неуникальным. Можно еще попробовать в дереве метаданных измерения между собой подвигать, потом вернуть ка было, чтобы при сохранении конфигурации запустилась реструктуризация, это может привести к пересчету первичного ключа.
   ДенисЧ
 
3 - 20.09.21 - 11:23
Было
а, б, в, е
а, б, в, д

Последнее удаляем. Имеем две записи а,б,в. Вот и нарушение уникальности.
   OnePrg
 
4 - 20.09.21 - 11:25
(1) CHECKDB обнаружил 0 ошибок размещения и 0 ошибок согласованности в базе данных
   youalex
 
5 - 20.09.21 - 11:37
По хорошему надо бы отловить это "время от времени"
Если бы были дубли в существующих данных по новому составу PK, то реструктуризация бы не прошла с аналогичной ошибкой. 
Значит скорее всего где-то надо изменить логику проведения документов (зачем удалил измерения - не спрашиваю)
   Mikeware
 
7 - 20.09.21 - 11:40
(5) опередил.
надо отловить эту "время от времени", посмотреть, какой набор данных в этот момент пишется, и подумать...
впрочем, основная причина - в отношении радиусов...
   SiAl-chel
 
14 - 20.09.21 - 12:11
(11) Нет, соглашусь. Чушь - удаление измерений регистров. Потому требуется пересчет итогов. ТиИ со всеми галками это и делает.
(12) Миша, не хами. Не стоит.
   ДенисЧ
 
15 - 20.09.21 - 12:12
(14) "Чушь - удаление измерений регистров". Правильно. Давайте не будем удалять измерения.
Замечу - при удалении измерения регистра пересчёт сделается сам. При сохранении.
   SiAl-chel
 
16 - 20.09.21 - 12:12
(4) Круто, чо. Только сначала-то ТиИ со всеми галками надо было сделать. Удаление метаданных всегда чревато.
   Mikeware
 
17 - 20.09.21 - 12:13
(14) Пересчет итогов сделается автоматически при удалении. Но это еще ладно. Ты реально не видишь, что ограничения первичного ключа срабатывают на записи _движений_?
   SiAl-chel
 
19 - 20.09.21 - 12:16
(15) А ты руку на отсечение дашь, что у автора не было какого-нибудь аппаратного или программного сбоя при реструктуризации и пересчете? Поэтому всегда с ТиИ и надо начинать.
(17) Вижу. А ты видишь, что разработчик 1С не влияет на формированиt PKey при создание записей движений в коде 1С? У него уже сейчас есть неуникальные первичные ключи в базе.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.