Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Помогите! Cannot insert duplicate key (число прочтений - 14752 )
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Помогите! Cannot insert duplicate key
01. Февраля 2008 :: 14:25
Печать  
Звиняюсь за крики, но осталась последняя надежда на здешних гуру...  Нерешительный

При записи документа выскакивает:
Cannot insert duplicate key in object DT1404
Этот документ подвергался модификациям по 1С++, но там задействованы свои таблички, без особых извратов, таблицы 1С не затрагиваются, запись штатная
Настораживает совпадение такое Печаль
Своих блокировок не применялось
Куда копнуть лучше?
Как отловить, можно ли обработать такое с помощью хп или еще как?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #1 - 01. Февраля 2008 :: 14:28
Печать  
А в документе есть строки с одинаковыми значениями в атрибуте НомерСтроки?
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #2 - 01. Февраля 2008 :: 14:39
Печать  
К сожалению происходит не у меня на глазах
Думаю что такого нет
И происходит это не всегда (у меня не получалось воспроизвести)
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #3 - 01. Февраля 2008 :: 14:44
Печать  
Цитата:
Думаю что такого нет

У DTxxx всего один индекс из двух полей - там запутаться негде. Либо есть одинаковые номера строк, либо DBCC DBREINDEX.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #4 - 01. Февраля 2008 :: 14:52
Печать  
Я тоже эпизодически наблюдаю такую картину.  Это похоже связано с нагрузкой на базу у меня вылазиет при загрузке доков. Повторная загрузка отрабатывает нормально
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #5 - 01. Февраля 2008 :: 14:56
Печать  
Как показал запрос нет
Я думаю что вставляется какая-то хрень в момент записи именно
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #6 - 01. Февраля 2008 :: 14:59
Печать  
Дык вот...
Нагрузка недецкая на скл-сервер
Загрузка процов 2-хпроцессорного сервака достигает в часы пик 90-100%
А это - самый массовый документ
Но до оптимизации и реорганизации такого вроде и не наблюдалось Улыбка
В общем кроме ТиИ, реиндексации пока мыслей нет наверное...

  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #7 - 01. Февраля 2008 :: 14:59
Печать  
Цитата:
Как показал запрос нет
Я думаю что вставляется какая-то хрень в момент записи именно

Да понятно что запрос тебе ни чего не покажет, исключение вываливается при попытке вставить дубликат, сам дубликат естественно не записывается
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #8 - 01. Февраля 2008 :: 15:01
Печать  
Ну г-н berezdetsky спрашивал, или я туплю?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #9 - 01. Февраля 2008 :: 15:01
Печать  
Кстати говоря по поводу нагрузки на сервер, с тех пор как база переехала на новый SQL сервак помоему это не повторялось. Хотя работает на новом сервере всего месяца 2
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #10 - 01. Февраля 2008 :: 15:04
Печать  
У нас планируют отсадить несколько малоактивных баз на другой сервер  Круглые глаза
Жду с нетерпением
Однако хочется победить траблу

Nick, спасибки
Пишите плиз еще свой опыт, товарищи
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #11 - 01. Февраля 2008 :: 15:22
Печать  
Nick писал(а) 01. Февраля 2008 :: 14:59:
Да понятно что запрос тебе ни чего не покажет, исключение вываливается при попытке вставить дубликат, сам дубликат естественно не записывается

+1
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #12 - 01. Февраля 2008 :: 15:30
Печать  
Ну и как предлагалось это посмотреть?  Подмигивание
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #13 - 01. Февраля 2008 :: 15:35
Печать  
Вадим, имхо, от тебя такая тема уже была? Или я гоню?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #14 - 01. Февраля 2008 :: 15:40
Печать  
Цитата:
Ну и как предлагалось это посмотреть?  Подмигивание

Ну можешь повесить триггер на табличку instead of и в нём проверять на дубляж, а уж потом самомоу делать вставку, но тлько при каждом обновлении метаданных он будет грохаться
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #15 - 01. Февраля 2008 :: 15:47
Печать  
Цитата:
Ну и как предлагалось это посмотреть?  Подмигивание

Невооружённым взглядом на экране монитора перед записью.   Класс
Автонумерацию строк включи, если выключена. На переполнение проверь, если строк там десятки тысяч.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #16 - 01. Февраля 2008 :: 15:55
Печать  
2(spock) Через минут десять после создания вроде вспомнил... вроде была, извиняюсь

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


  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #17 - 01. Февраля 2008 :: 16:00
Печать  
Цитата:
Трабла в том, что звонят когда уже срубило естественно (посмотреть не удается) 
Раньше автонумерация была выключена, я включил (вот тоже подозрительное совпадение)


Я смотрел на табличку и что толку? Переполнения ни какого нет
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #18 - 01. Февраля 2008 :: 16:09
Печать  
На несколько часов врубить профайлер, если?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #19 - 01. Февраля 2008 :: 16:17
Печать  
spock писал(а) 01. Февраля 2008 :: 16:09:
На несколько часов врубить профайлер, если?

В профайлер попадают уже выполненые команды
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #20 - 01. Февраля 2008 :: 16:26
Печать  
Неправда
На самом деле запускал я профайлер - накопились миллионы строк
Кирилл подсказал как найти можно проще Улыбка
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #21 - 01. Февраля 2008 :: 16:28
Печать  
Цитата:
Неправда
На самом деле запускал я профайлер - накопились миллионы строк
Кирилл подсказал как найти можно проще Улыбка

Чего неправда? как по твоему он время выполнения считает?
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #22 - 01. Февраля 2008 :: 16:28
Печать  
Nick писал(а) 01. Февраля 2008 :: 16:17:
В профайлер попадают уже выполненые команды

Не поленился я.

Код
Выбрать все
if object_id(N'test') is not null drop table test
go

create table test (
	id int identity(1,1) not null,
	string char(2) not null

)
go

create unique index ix_test on test (string)
go

insert into test (string) values ('01')
insert into test (string) values ('02')
insert into test (string) values ('03')
go

-- тут будет ошибка - я поймаю ее профайлером
insert into test (string) values ('01')
go
 

  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #23 - 01. Февраля 2008 :: 16:31
Печать  
Да зачем было столько писать?  Подмигивание
В рабочей базе можно что-то типа такого и хватит

insert into _1sjourn values (1,2)
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #24 - 01. Февраля 2008 :: 16:33
Печать  
У меня сейчас SQL под рукой нет, чего пишет профайлер?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #25 - 01. Февраля 2008 :: 16:34
Печать  
Если это лвится профайлер. То нужно настроить чтоб он события писал куданить в табличку, а потом уже обычными запросами из неё дергать данные
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #26 - 01. Февраля 2008 :: 16:37
Печать  
Я по совету сделаю так
Выполню запрос с каментом, например

--ПОПЫТКА ЗАПИСИ Тут имя пользователя прямо в виде 'Иванов'
тут spid

Потом позырю после звонка Иванова и доложу
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #27 - 09. Марта 2008 :: 17:04
Печать  
Цитата:
Я по совету сделаю так
Выполню запрос с каментом, например

--ПОПЫТКА ЗАПИСИ Тут имя пользователя прямо в виде 'Иванов'
тут spid

Потом позырю после звонка Иванова и доложу

Ну как есть какие - нибудь результаты?
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #28 - 09. Марта 2008 :: 19:27
Печать  
Все приготовил...
Но звонили только пару раз... когда я не включал профайлер  Смех
Трабла в том что за несколько часов профайлером сжирается много гигабайт на диске Цы и держать его долго открытым нет возможности
Предупрежу еще раз...
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #29 - 10. Марта 2008 :: 03:44
Печать  
Цитата:
Все приготовил...
Но звонили только пару раз... когда я не включал профайлер  Смех
Трабла в том что за несколько часов профайлером сжирается много гигабайт на диске Цы и держать его долго открытым нет возможности
Предупрежу еще раз...


Возникла ещё одна идея почему это происходит. Возможно проблема с файловыми блокировками которые делает 1с. Тут на днях была такая фигня: При попытки записать любой новый документ появлялась наша ошибка. Закрыл  файлы блокировок (*.LCK), документ записался. Правда потом выяснилось что при этом куда то пропал уже распечатанный расходник и в журнале операций появилась операция без номера и даты  Смех
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Помогите! Cannot insert duplicate key
Ответ #30 - 10. Марта 2008 :: 18:55
Печать  
Пардон!
А база случаем не распределенная?
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #31 - 10. Марта 2008 :: 19:38
Печать  
ДА!
Распределенная
Когда-то была база, счас нету
Но УРБД нужен будет для других, мегакреативных целей  Улыбка
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #32 - 26. Мая 2008 :: 06:20
Печать  
Очередная бага:
При попытки проведения документа 1с валится с ошибкой немогу вставить дубликат первичного ключа...
Оказалось что не проведенный документ имеет движения в по регистру Печаль.
Лечится удалением этих движений.

Внимание вопрос:
Если регистр оборотный после такой операции итоги пересчитывать нужно?
  
Наверх
ICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #33 - 27. Мая 2008 :: 04:54
Печать  
если новые движения дока отличаются от тех что удалил, то конечно пересчитывать итоги нужно
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #34 - 27. Мая 2008 :: 06:08
Печать  
Nick писал(а) 26. Мая 2008 :: 06:20:
Очередная бага:
При попытки проведения документа 1с валится с ошибкой немогу вставить дубликат первичного ключа...
Оказалось что не проведенный документ имеет движения в по регистру Печаль.
Лечится удалением этих движений.

Внимание вопрос:
Если регистр оборотный после такой операции итоги пересчитывать нужно?


Есть такая фича (т.е. была), когда документ делается непроведенным, а движения остаются. Другая фича - движения удаляются а итоги не пересчитываются.
Первая лечиться удалением движений по непроведенным докам, вторая - перенос ТА на период ранее и обратно (ну или SQL-скриптами, есть обработки).
  
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #35 - 27. Мая 2008 :: 06:12
Печать  
А для отслеживания того что хочет вставить 1С - использовать профайлер от SQL 2005 и старше (он показывает запросы как ушедшие на SQL сервер, так и выполненные), или же вести трассировку ODBC (не уверен что ведеться трассировка того что отправлено на сервер), но это очень сильно замедляет работу (не забудте помто обратно включить) (включать: Администрирование - Источники данных ODBC - Трассировка, поставить галочку и включить трассировку).
  
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #36 - 28. Мая 2008 :: 14:36
Печать  
Сегодня почти отловил...
Но в профайлере мелькала строка
"Some trace events have not been reported to SQL Profiler because the server has reached its maximum amount of available memory for the process."
И еще
"Attention"

  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #37 - 28. Мая 2008 :: 14:37
Печать  
Предсмертный текст:

exec _1sp__1SJOURN_TLockX
exec _1sp__1SJOURN_TLockX
exec _1sp__1SJOURN_TLockX

declare @P1 int
set @P1=7448
declare @P2 int
set @P2=180158052
declare @P3 int
set @P3=2
declare @P4 int
set @P4=1
declare @P5 int
set @P5=-1
exec sp_cursorprepexec @P1 output, @P2 output, N'@P1 varchar(18),@P2 varchar(11)', N'Select * from _1SJOURN(NOLOCK INDEX=DOCNO) where DNPREFIX=@P1 and DOCNO=@P2 order by DNPREFIX, DOCNO, ROW_ID', @P3 output, @P4 output, @P5 output, '      14042008    ', 'Зл-0019835 '
select @P1, @P2, @P3, @P4, @P5

exec sp_cursorfetch 180158052, 1, 0, 1
select VERSTAMP from _1SJOURN(NOLOCK) where ROW_ID=323533
exec sp_executesql N'Update _1SJOURN set  IDJOURNAL=@P1, IDDOC=@P2, IDDOCDEF=@P3, APPCODE=@P4, DATE_TIME_IDDOC=@P5, DNPREFIX=@P6, DOCNO=@P7, CLOSED=@P8, ISMARK=@P9, ACTCNT=@P10, VERSTAMP=@P11, RF1191=@P12, RF2673=@P13, RF1199=@P14, RF1332=@P15, RF13781=@P16, RF1044=@P17, RF19440=@P18, RF13152=@P19, RF1122=@P20, RF18764=@P21, RF15055=@P22, RF22033=@P23, SP21666=@P24, SP13198=@P25, SP13224=@P26, SP13199=@P27, SP21914=@P28 where  ROW_ID=@P29', N'@P1 int,@P2 varchar(9),@P3 int,@P4 smallint,@P5 varchar(23),@P6 varchar(18),@P7 varchar(11),@P8 tinyint,@P9 bit,@P10 int,@P11 int,@P12 bit,@P13 bit,@P14 bit,@P15 bit,@P16 bit,@P17 bit,@P18 bit,@P19 bit,@P20 bit,@P21 bit,@P22 bit,@P23 bit,@P24 varchar(17),@P25 varchar(9),@P26 numeric(1,0),@P27 varchar(9),@P28 varchar(9),@P29 int', 0, '  FJN7001', 1404, 1, '200805289HTT9C  FJN7001', '      14042008    ', 'Зл-0019835', 1, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, '10192850003130395', '    62001', 0, '    62001', '     1   ', 323533
exec _1sp_RegisterUpdate '002', 1404, '  FJN7001', ' '
exec sp_executesql N'Update DH1404 set  SP1405=@P1, SP1407=@P2, SP13501=@P3, SP13500=@P4, SP14383=@P5, SP1408=@P6, SP1409=@P7, SP1410=@P8, SP1413=@P9, SP1415=@P10, SP1412=@P11, SP1672=@P12, SP1673=@P13, SP1906=@P14, SP2062=@P15, SP1954=@P16, SP2405=@P17, SP2521=@P18, SP3053=@P19, SP3054=@P20, SP3184=@P21, SP3222=@P22, SP3427=@P23, SP14347=@P24, SP14896=@P25, SP15024=@P26, SP15025=@P27, SP15277=@P28, SP18028=@P29, SP18052=@P30, SP18691=@P31, SP19165=@P32, SP21363=@P33, SP22134=@P34, SP22135=@P35, SP22305=@P36, SP22336=@P37, SP22449=@P38, SP22480=@P39, SP22682=@P40, SP14510=@P41, SP1420=@P42, SP14508=@P43, SP15685=@P44, SP3064=@P45, SP22148=@P46 where  IDDOC=@P47', N'@P1 varchar(9),@P2 varchar(9),@P3 varchar(9),@P4 varchar(9),@P5 varchar(9),@P6 varchar(40),@P7 numeric(3,0),@P8 datetime,@P9 varchar(9),@P10 numeric(9,2),@P11 varchar(9),@P12 numeric(3,0),@P13 varchar(1),@P14 varchar(13),@P15 varchar(9),@P16 numeric(3,0),@P17 numeric(1,0),@P18 numeric(1,0),@P19 numeric(5,2),@P20 numeric(5,2),@P21 numeric(2,0),@P22 numeric(1,0),@P23 varchar(9),@P24 numeric(1,0),@P25 varchar(2),@P26 numeric(15,0),@P27 numeric(6,4),@P28 varchar(9),@P29 numeric(1,0),@P30 varchar(9),@P31 varchar(9),@P32 datetime,@P33 numeric(4,2),@P34 numeric(17,0),@P35 numeric(5,0),@P36 varchar(9),@P37 numeric(1,0),@P38 varchar(9),@P39 numeric(1,0),@P40 varchar(14),@P41 numeric(17,3),@P42 numeric(18,3),@P43 numeric(14,2),@P44 numeric(14,2),@P45 numeric(1,0),@P46 text,@P47 varchar(9)', '     1   ', '   190   ', '   EZJ001', '   1LH   ', '   190   ', '                                        ', 0, 'Jan  1 1753 12:00:00:000AM', '     1   ', 1.00, '    XK   ', 60, '*', '   0     0   ', '     0   ', 2, 0, 0, 10.00, 10.00, 0, 0, '     0   ', 0, '  ', 0, 0.0000, '     2   ', 0, '   18J   ', '     0   ', 'Jan  1 1753 12:00:00:000AM', 0.00, 0, 0, '    62001', 0, '     0   ', 0, '              ', 379586.000, 379586.000, 0.00, 0.00, 0, '', '  FJN7001'
exec sp_executesql N'Insert into DT1404 values( )', N'@P1 varchar(9),@P2 smallint,@P3 varchar(9),@P4 varchar(9),@P5 varchar(9),@P6 numeric(14,3),@P7 numeric(17,3),@P8 numeric(18,3),@P9 numeric(11,3),@P10 varchar(1),@P11 numeric(4,2),@P12 numeric(15,0),@P13 varchar(9),@P14 numeric(14,2),@P15 numeric(14,2),@P16 varchar(8),@P17 varchar(9),@P18 numeric(4,2)', '  FJN7001', 7, '   C6H   ', '  8RJY001', '    26   ', 2258.000, 18064.000, 18064.000, 8.000, ' ', 10.00, 2053, '     0   ', 0.00, 0.00, 'C-09    ', '     0   ', 0.00
exec sp_executesql N'Insert into DT1404 values( )', N'@P1 varchar(9),@P2 smallint,@P3 varchar(9),@P4 varchar(9),@P5 varchar(9),@P6 numeric(14,3),@P7 numeric(17,3),@P8 numeric(18,3),@P9 numeric(11,3),@P10 varchar(1),@P11 numeric(4,2),@P12 numeric(15,0),@P13 varchar(9),@P14 numeric(14,2),@P15 numeric(14,2),@P16 varchar(8),@P17 varchar(9),@P18 numeric(4,2)', '  FJN7001', 8, '   BZL   ', '  8QYG001', '    26   ', 8562.000, 25686.000, 25686.000, 3.000, ' ', 10.00, 7784, '     0   ', 0.00, 0.00, 'A-09    ', '     0   ', 0.00
exec sp_executesql N'Insert into DT1404 values( )', N'@P1 varchar(9),@P2 smallint,@P3 varchar(9),@P4 varchar(9),@P5 varchar(9),@P6 numeric(14,3),@P7 numeric(17,3),@P8 numeric(18,3),@P9 numeric(11,3),@P10 varchar(1),@P11 numeric(4,2),@P12 numeric(15,0),@P13 varchar(9),@P14 numeric(14,2),@P15 numeric(14,2),@P16 varchar(8),@P17 varchar(9),@P18 numeric(4,2)', '  FJN7001', 6, '    72   ', '  916O001', '    26   ', 21822.000, 21822.000, 21822.000, 1.000, ' ', 10.00, 19838, '     0   ', 0.00, 0.00, 'G-04    ', '     0   ', 0.00
exec sp_executesql N'Insert into DT1404 values( @P1,@P2,@P3,@P4,@P5,@P6,@P
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #38 - 28. Мая 2008 :: 14:38
Печать  
exec sp_cursorclose 180158052
exec sp_cursorunprepare 7448
IF @@TRANCOUNT > 0 ROLLBACK TRAN
set implicit_transactions off
exec sp_cursorclose 180157851
exec sp_cursorunprepare 7260
exec sp_unprepare 7265
exec sp_cursorclose 180157800
exec sp_cursorunprepare 7
exec sp_unprepare 172
exec sp_cursorclose 180156569
exec sp_cursorunprepare 6241
exec sp_unprepare 6244
exec sp_cursorclose 180157937
exec sp_cursorunprepare 6242

declare @P1 int
set @P1=180158053
declare @P2 int
set @P2=2
declare @P3 int
set @P3=2
declare @P4 int
set @P4=-1
exec sp_cursorexecute 1, @P1 output, @P2 output, @P3 output, @P4 output
select @P1, @P2, @P3, @P4

exec sp_cursorfetch 180158053, 2, 0, 1
exec sp_cursor 180158053, 1, 1, N'', @USRSCNT = 61, @NETCHGCN = 9832
exec sp_cursorclose 180158053
exec sp_cursorunprepare 1
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #39 - 28. Мая 2008 :: 14:38
Печать  
Дальше логаут и фсе...
Странно как-то строки не по порядку вставлялись и часть проглочена что ли
В общем куда копать хез...
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #40 - 29. Мая 2008 :: 08:19
Печать  
Сейчас решил проверить только по одному человеку (с жалобами), поставил фильтр на spid
Должно взлететь  Круглые глаза
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Помогите! Cannot insert duplicate key
Ответ #41 - 29. Мая 2008 :: 08:59
Печать  
была у нас как-то проблема со скулем. Как позднее оказалось, дурковал блок питания, который в конце концов и отошел от дел. После того, как установили новый БП, ни одной проблемы. Серв до сих пор жив в качестве тестового.
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #42 - 29. Мая 2008 :: 14:03
Печать  
Странно...
Отловил еще одно падение

Увидел вставку строк (снова хаотичную), но не встретил delete from dt1404 для этого документа!
В то же время по этому документу в таблице данные есть, значит он был записан
Юзверь подтвердила что это был уже записанный док
Куда делась инструкция по удалению?
Записывается документ штатно

Вот и не знаю... мот самому написать ее если не разберусь (дел других еще много)
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #43 - 11. Июня 2008 :: 09:16
Печать  
Странности в общем
Получается при записи уже записанного ранее документа выполняется код:

1. exec sp_executesql N'Update DH1404 set  SP1405=@P1 ...

2. declare @P1 int
set @P1=42
exec sp_prepexec @P1 output, N'@P1 varchar(9)', N'Delete from DT1404 where IDDOC=@P1', '  F5AA001'
select @P1

3. exec sp_executesql N'Insert into DT1404 values( @P1 ...

Так вот в некоторых случаях инструкция с удалением отсутствует
Буду благодарен за советы как это лучше побороть (желательно не заплаткой)

  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите! Cannot insert duplicate key
Ответ #44 - 17. Июля 2008 :: 16:03
Печать  
Периодически возвращаюсь к этой проблеме  Подмигивание
При добавлении позиций подбором и дальнейшей записи документа инструкция по удалению строк не выполняется, выполняется лишь инсерт измененных строк
Непонятно отчего одинэсина пытается вставить уже имеющуюся строку (стоит автонумерация строк, раньше не было)
Вот отсюда и ноги растут
Поэтому решил попробовать насильно модифицировать строку документа при подборе, надеюсь трабла исчезнет:

Код
Выбрать все
			//Для решения проблемы вставки неуникального ключа iddoc+lineno_
			ПолучитьСтрокуПоНомеру(1);
			Количество = Количество;
			ПолучитьСтрокуПоНомеру(КоличествоСтрок());

 

  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать