Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Проблема с записью справочника (число прочтений - 5690 )
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Проблема с записью справочника
22. Января 2010 :: 11:28
Печать  
заранее сорри если не в тот раздел написал

вобщем проблема в следующем
есть справочник с периодическими реквизитами
пользователи обратились, говорят есть два элемента
в которые нельзя сохранить изменения - посмотрел
и правда не сохраняются . Полез в профайлер
там наблюдаю такую ситуацию
устанавливается режим
set implicit_transactions on
после этого идет апдейт и тут же идет чтение из 1sconst
так вот для этик "кривых" элеметов при чтении открывалается еще одна транзакция в результате в коце коммит идет не "по той " транзакции и данные не апдейтятся

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

кто что подскажет присоветует ??
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Проблема с записью справочника
Ответ #1 - 22. Января 2010 :: 11:37
Печать  
_1sconst триггеров нет?
  

1&&2&&3
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Проблема с записью справочника
Ответ #2 - 22. Января 2010 :: 11:39
Печать  
Самое простое выгрузи значения этих двух элементов(их периодику ) в два файла сотри их периодичность.
Загрузи из файлов периодичность заново.

Распиши (если не будешь делать как написано выше) боле подробней проблему т.е. трассу событий
предположим что запускаешь 1с с того же sql сервера
Далее что при этом происходит в t-sql операторах.
  
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #3 - 22. Января 2010 :: 11:43
Печать  
тригеров на _1sconst нету
по поводу выгрузки / загрузки

для начала сейчас попробую определиться
это в кол-ве возвращаемых строк или
в значениях
  
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #4 - 22. Января 2010 :: 12:17
Печать  
вобщем с кол-вом записей нет четкой зависимости
нашел вроде запись после добавления которой
возникает проблема, но похоже что такая запись
не одна...
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Проблема с записью справочника
Ответ #5 - 22. Января 2010 :: 13:10
Печать  
kir писал(а) 22. Января 2010 :: 11:28:
устанавливается режим
set implicit_transactions on
после этого идет апдейт и тут же идет чтение из 1sconst
так вот для этик "кривых" элеметов при чтении открывалается еще одна транзакция в результате в коце коммит идет не "по той " транзакции и данные не апдейтятся

врядли там остается открытая транзакция. В режиме mplicit_transactions on select(insert/update) не отроет новую транзакцию, если она уже отрыта(если ее явно не отрывать begin tran). Т.е. закоммитится инсерт в _1sconst должен если он там есть.
  
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #6 - 22. Января 2010 :: 13:40
Печать  
там нету инсерта в _1sconst
открывается новая транзакция
на
exec sp_executesql N'Select * from _1SCONST(NOLOCK) where ID=@P1 and OBJID=@P2 and DATE<=@P3 order by ID DESC, OBJID DESC, DATE DESC, TIME DESC, DOCID DESC', N'@P1 int,@P2 varchar(9),@P3 datetime', 52722, '     1   ', 'Jan 22 2010 12:00:00:000AM'

причем если выборка "небольшая" до 170 строк (или от объма зависит не понял до конца)
не открывается
если больше - начинает открываться новая транзакция
  
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #7 - 22. Января 2010 :: 13:53
Печать  
попробовал на другой базе
нагенерировал 1000 значений периодич
реквизита для этого же справочника
получил ту же проблему...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Проблема с записью справочника
Ответ #8 - 22. Января 2010 :: 14:09
Печать  
kir писал(а) 22. Января 2010 :: 11:28:
при чтении открывалается еще одна транзакция

А как это выглядит в профайлере? что прямо таки явно begin tran?

Можно взглянуть на .trc начиная с
set implicit_transactions on
заканчивая
IF @@TRANCOUNT > 0 COMMIT TRAN
  

1&&2&&3
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #9 - 22. Января 2010 :: 14:40
Печать  
а как вложить файл , подскажите пожалуйста кто нибудь ??
(ни разу не делал)
  
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #10 - 22. Января 2010 :: 14:42
Печать  
все, раскрыл глаза...увидел

трасса во вложении
  

trace.trc ( 50 KB | Загрузки )
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #11 - 22. Января 2010 :: 14:55
Печать  
по поводу того что "как определяю что открывается новая транзакция", это мои предположения т.к. после этой инструкции изменяется transactionID
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Проблема с записью справочника
Ответ #12 - 22. Января 2010 :: 15:28
Печать  
хм, но там и коммитится нечему: Writes для этого батча 0 Озадачен Запись с ROW_ID = 1 есть в таблице?
  
Наверх
 
IP записан
 
kir
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 60
Зарегистрирован: 19. Мая 2006
Re: Проблема с записью справочника
Ответ #13 - 25. Января 2010 :: 06:56
Печать  
да, есть , этот как раз запись которая апдейтится
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Проблема с записью справочника
Ответ #14 - 25. Января 2010 :: 07:25
Печать  
да, фигня какая то наблюдается.
для порядка приведи версии 1с77, odbc драйвера, sql сервера
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать