Имя: Пароль:
1C
1С v8
Конфликт блокировок при выполнении транзакции
,
0 Flyd-s
 
25.04.12
13:47
Не проводятся документы поступления, пишет

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.РасширеннаяАналитикаУчета.Модуль(792)}: Ошибка при вызове метода контекста (Прочитать)
по причине:
по причине:
Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки

База комплексная 1.1.20.2, MSSQL. Никто ничего не проводит, в базе я один
1 Лоботряс
 
25.04.12
13:52
А сисадмин че щас делает?
2 Flyd-s
 
25.04.12
13:55
(1) , понятия не имею, его сейчас нет на месте
3 Лоботряс
 
25.04.12
13:56
И че никаких роботов, ежесекундных обменов не крутится?
4 Flyd-s
 
25.04.12
13:58
(3), Нет
5 Лоботряс
 
25.04.12
14:04
Ну если ты точно один в базе, то позови сисадмина и детачните, аттачните  базу.
6 Кроха
 
25.04.12
14:07
мож проще сервер предприятия перезапустить, для начала?
7 Лоботряс
 
25.04.12
14:10
(6) Зато гарантированно все заработает:)) А пререзагрузка сервера приложений может и не помочь.
8 Кроха
 
25.04.12
14:12
(7) обычно помогает
9 Maxus43
 
25.04.12
14:12
сеанс какойто завис и лочит объекты, перезапуск службы помогает в 99% случаев
10 х86
 
25.04.12
14:13
(0)Регламентные задания?
11 Flyd-s
 
25.04.12
14:20
(10), не думаю, ничего не запускалось такого. Ошибка появилась после того, как после зависания базы была перезапущена из конфигуратора
12 Flyd-s
 
25.04.12
14:20
(6), людей много придется из других баз выгонять
13 Кроха
 
25.04.12
14:23
(12) тогда на сервере предприятия посмотри сеансы в своей базе и сбрось лишние
14 Flyd-s
 
25.04.12
14:26
(13) , там нет никого, кроме меня. Себя выбросил, не помогло
15 Flyd-s
 
25.04.12
14:26
Если аттачнуть/детачнуть - как выполнить и сколько времени займет?
16 Кроха
 
25.04.12
14:27
в SQL манагере посмотри
17 Flyd-s
 
25.04.12
16:15
Не помогло.Х.з. что с ней
18 Flyd-s
 
26.04.12
14:51
Чорт, вторую копию базы убиваю. Пишу значит вот такую штуку:

//Учет затрат
           НовУчетЗатрат = НовыйДокумент.Движения.УчетЗатрат.ДобавитьПриход();
           НовУчетЗатрат.Период = Дата;
           
           НовАналитикаВидаУчета = Справочники.КлючиАналитикиВидаУчета.СоздатьЭлемент();
           НовАналитикаВидаУчета.Наименование = "МПЗ; " + ВыборкаДетальныеЗаписи.Склад;
           НовАналитикаВидаУчета.Записать();
           НовУчетЗатрат.АналитикаВидаУчета = НовАналитикаВидаУчета.Ссылка;
           
           МенеджерАналитикаВидаУчета = РегистрыСведений.АналитикаВидаУчета.СоздатьМенеджерЗаписи();
           МенеджерАналитикаВидаУчета.Организация = Организация;
           МенеджерАналитикаВидаУчета.Период = Дата;
           МенеджерАналитикаВидаУчета.Ссылка = НовАналитикаВидаУчета.Ссылка;
           МенеджерАналитикаВидаУчета.Записать();
           
           НовАналитикаУчетаПартий = Справочники.КлючиАналитикиУчетаПартий.СоздатьЭлемент();
           НовАналитикаУчетаПартий.Наименование = "Купленный";
           НовАналитикаУчетаПартий.Записать();
           
           НовУчетЗатрат.АналитикаУчетаПартий = НовАналитикаУчетаПартий.ссылка;
           
           МенеджерАналитикаУчетаПартий = РегистрыСведений.АналитикаУчетаПартий.СоздатьМенеджерЗаписи();
           МенеджерАналитикаУчетаПартий.Ссылка = НовАналитикаУчетаПартий.Ссылка;
           МенеджерАналитикаУчетаПартий.СтатусПартии = перечисления.СтатусыПартийТоваров.Купленный;
           МенеджерАналитикаУчетаПартий.Записать();
           
           НовАналитикаУчетаЗатрат = Справочники.КлючиАналитикиУчетаЗатрат.СоздатьЭлемент();
           НовАналитикаУчетаЗатрат.Наименование = ВыборкаДетальныеЗаписи.Номенклатура.Наименование +"; " + "Новый";
           НовАналитикаУчетаЗатрат.Записать();
           НовУчетЗатрат.АналитикаУчетаЗатрат = НовАналитикаУчетаЗатрат.Ссылка;
           
           
           МенеджерАналитикаУчетаЗатрат = РегистрыСведений.АналитикаУчетаЗатрат.СоздатьМенеджерЗаписи();
           МенеджерАналитикаУчетаЗатрат.Затрата = ВыборкаДетальныеЗаписи.Номенклатура;
           МенеджерАналитикаУчетаЗатрат.Качество = Справочники.Качество.Новый;
           МенеджерАналитикаУчетаЗатрат.Период = Дата;
           МенеджерАналитикаУчетаЗатрат.Ссылка = НовАналитикаУчетаЗатрат.Ссылка;
           МенеджерАналитикаУчетаЗатрат.Записать();
           
           НовАналитикаУчетаРаспределений = Справочники.КлючиАналитикиРаспределенияЗатрат.СоздатьЭлемент();
           НовАналитикаУчетаРаспределений.Наименование ="";
           НовАналитикаУчетаРаспределений.Записать();
           НовУчетЗатрат.АналитикаРаспределенияЗатрат = НовАналитикаУчетаРаспределений.Ссылка;
           
           МенеджерАналитикаУчетарасп = РегистрыСведений.АналитикаРаспределенияЗатрат.СоздатьМенеджерЗаписи();
           МенеджерАналитикаУчетарасп.Ссылка = НовАналитикаУчетаПартий.Ссылка;
           //МенеджерАналитикаУчетарасп.СтатусПартии = перечисления.СтатусыПартийТоваров.Купленный;
           МенеджерАналитикаУчетарасп.Записать();

И всё, аминь, конфликт блокировок, перезапуск не помогает, в базе нет никого
19 Лоботряс
 
26.04.12
19:07
Ну так ты в одной транзакции записываешь движения документа в котором имеется ссылка на элемент справочника, который записывается в этой же транзакции.
20 Flyd-s
 
26.04.12
19:29
(19), всё что можно и нельзя в результате записывается и документ и регистры накопления и справочники и регистры сведений. Но после этого финта блокировка не снимается и в базе не проводятся документы. Удаление сеансов, перезагрузка сервера 1с не помогает. Только если выгрузить базу и заново загрузить
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший