Обновление на УТ для РБ 3.5.8.383 с модулем CRM 3.1.23.5
Приветствую, коллеги!
Наконец дошли руки до обновления и вот опять ошибка в обработчиках обновления:
Раскопав код пришел к данным приводящим ошибку.
Реквизит справочника ПапкиЭлектронныхПисем.CRM_Вид не заполнен.
Проанализировав все хранилище с 2016 года не нашел, чтобы был косяк в заполнении этого реквизита, но возможно проблема была еще ранее!
Заполнение этого реквизита поиском по конфигурации идет из модуля CRM_УправлениеЭлектроннойПочтой.СоздатьПредопределенныеПапкиЭлектронныхПисемДляУчетнойЗаписи
1С:Предприятие 8.3 (8.3.20.1789)
Управление торговлей для Беларуси, редакция 3.5.8.383
CRMМодуль 3.1.23.5
Наконец дошли руки до обновления и вот опять ошибка в обработчиках обновления:
Запись не верна! Значение поля "Вид папки" не может быть пустым!: Папка учетной записи: X@XXX.XX, (Регистр сведений: Папки учетных записей; Номер строки: 4)
Технические подробности:
Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента с идентификатором 2ed2dadf-27df-47a0-a632-f73bf03c53b7 по причине
Запись не верна! Значение поля "Вид папки" не может быть пустым!: Папка учетной записи: X@eXXX.XX, (Регистр сведений: Папки учетных записей; Номер строки: 4)
{РегистрСведений.CRM_ПапкиУчетныхЗаписей.МодульМенеджера(107)}:НаборЗаписей.Записать();
{РегистрСведений.CRM_ПапкиУчетныхЗаписей.МодульМенеджера(82)}:РегистрыСведений.CRM_ПапкиУчетныхЗаписей.ЗаполнитьПоУмолчанию();
{(1)}:РегистрыСведений.CRM_ПапкиУчетныхЗаписей.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4628)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенныйОбработчик(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1290)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1280)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
по причине:
Запись не верна! Значение поля "Вид папки" не может быть пустым!: Папка учетной записи: X@XXX.XX, (Регистр сведений: Папки учетных записей; Номер строки: 4)
См. также журнал регистрации.
{ОбщийМодуль.ДлительныеОперации.Модуль(861)}:ВызватьИсключение ТекстОшибки;
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(5108)}:ЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(5201)}:Если ЗавершитьПотокиВыполнившиеФЗ(Потоки, Группы) Тогда
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(3522)}:ОжидатьСвободныйПоток(Группы);
ПоказатьТехнические подробности:
Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента с идентификатором 2ed2dadf-27df-47a0-a632-f73bf03c53b7 по причине
Запись не верна! Значение поля "Вид папки" не может быть пустым!: Папка учетной записи: X@eXXX.XX, (Регистр сведений: Папки учетных записей; Номер строки: 4)
{РегистрСведений.CRM_ПапкиУчетныхЗаписей.МодульМенеджера(107)}:НаборЗаписей.Записать();
{РегистрСведений.CRM_ПапкиУчетныхЗаписей.МодульМенеджера(82)}:РегистрыСведений.CRM_ПапкиУчетныхЗаписей.ЗаполнитьПоУмолчанию();
{(1)}:РегистрыСведений.CRM_ПапкиУчетныхЗаписей.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4628)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенныйОбработчик(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1290)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1280)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
по причине:
Запись не верна! Значение поля "Вид папки" не может быть пустым!: Папка учетной записи: X@XXX.XX, (Регистр сведений: Папки учетных записей; Номер строки: 4)
См. также журнал регистрации.
{ОбщийМодуль.ДлительныеОперации.Модуль(861)}:ВызватьИсключение ТекстОшибки;
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(5108)}:ЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(5201)}:Если ЗавершитьПотокиВыполнившиеФЗ(Потоки, Группы) Тогда
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(3522)}:ОжидатьСвободныйПоток(Группы);
Раскопав код пришел к данным приводящим ошибку.
Реквизит справочника ПапкиЭлектронныхПисем.CRM_Вид не заполнен.
Проанализировав все хранилище с 2016 года не нашел, чтобы был косяк в заполнении этого реквизита, но возможно проблема была еще ранее!
Заполнение этого реквизита поиском по конфигурации идет из модуля CRM_УправлениеЭлектроннойПочтой.СоздатьПредопределенныеПапкиЭлектронныхПисемДляУчетнойЗаписи
1С:Предприятие 8.3 (8.3.20.1789)
Управление торговлей для Беларуси, редакция 3.5.8.383
CRMМодуль 3.1.23.5
Прикрепленные файлы:
Найденные решения
Проанализировав все данные конфигураций понял, что проблема вылезла еще раньше.
Управление торговлей для Беларуси, редакция 3.4.7.155 на этой версии она была уже.
Написал 2 скрипта в ИР:
Для Справочник.ПапкиЭлектронныхПисем:
Чтобы очистить ошибки и потом записать правильные данные в случае чего!
Для Справочник.УчетныеЗаписиЭлектроннойПочты:
В УТ 3.5.8 появляется новый регистр сведений CRM_ПапкиУчетныхЗаписей. Чтобы скрипт запустить до установки этого обновления и не получать ошибок. Но если уже обновились, то он сделает все как типовая обработка и даже лучше! Код взят как раз из разных версий обновлений.
Управление торговлей для Беларуси, редакция 3.4.7.155 на этой версии она была уже.
Написал 2 скрипта в ИР:
Для Справочник.ПапкиЭлектронныхПисем:
Если ТипЗнч(Объект.Ссылка) = Тип("СправочникСсылка.ПапкиЭлектронныхПисем") Тогда
Объект.ОбменДанными.Загрузка = Истина;
Объект.CRM_Вид = Перечисления.CRM_ВидыПапокЭлектроннойПочты.ПустаяСсылка();
Объект.Записать();
КонецЕсли;
Чтобы очистить ошибки и потом записать правильные данные в случае чего!
Для Справочник.УчетныеЗаписиЭлектроннойПочты:
Если ТипЗнч(Объект.Ссылка) = Тип("СправочникСсылка.УчетныеЗаписиЭлектроннойПочты") Тогда
ЭтоОбновление3_5_8 = Метаданные.РегистрыСведений.Найти("CRM_ПапкиУчетныхЗаписей") <> Неопределено;
УчетнаяЗапись = Объект.Ссылка;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Владелец", УчетнаяЗапись);
Запрос.Текст = "ВЫБРАТЬ
| ПапкиЭлектронныхПисем.Наименование,
| ПапкиЭлектронныхПисем.CRM_Вид,
| ПапкиЭлектронныхПисем.РеквизитДопУпорядочивания,
| ПапкиЭлектронныхПисем.Ссылка
|ИЗ
| Справочник.ПапкиЭлектронныхПисем КАК ПапкиЭлектронныхПисем
|ГДЕ
| ПапкиЭлектронныхПисем.Владелец = &Владелец
| И ПапкиЭлектронныхПисем.ПредопределеннаяПапка";
//МассивИмеющихсяПапок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Наименование");
ТаблицаИмеющихсяПапок = Запрос.Выполнить().Выгрузить();
Для Индекс = 0 По Перечисления.CRM_ВидыПапокЭлектроннойПочты.Количество()-1 Цикл
ВидПапки = Перечисления.CRM_ВидыПапокЭлектроннойПочты[Индекс];
ИмяПапки = Строка(ВидПапки);
СтрокаТаблицы = ТаблицаИмеющихсяПапок.Найти(ИмяПапки, "Наименование");
//Если МассивИмеющихсяПапок.Найти(ИмяПапки) = Неопределено Тогда
Если СтрокаТаблицы = Неопределено Тогда
ПапкаОбъект = Справочники.ПапкиЭлектронныхПисем.СоздатьЭлемент();
ПапкаОбъект.УстановитьНовыйКод();
ПапкаОбъект.ОбменДанными.Загрузка = Истина;
ПапкаОбъект.Владелец = УчетнаяЗапись;
ПапкаОбъект.Наименование = ИмяПапки;
ПапкаОбъект.CRM_Вид = ВидПапки;
ПапкаОбъект.РеквизитДопУпорядочивания = Индекс + 1;
ПапкаОбъект.ПредопределеннаяПапка = Истина;
ПапкаОбъект.Записать();
Если ЭтоОбновление3_5_8 Тогда
РегистрыСведений.CRM_ПапкиУчетныхЗаписей.УстановитьПапку(УчетнаяЗапись, ВидПапки, ПапкаОбъект.Ссылка);
КонецЕсли;
Иначе
ПапкаОбъект = СтрокаТаблицы.Ссылка.ПолучитьОбъект();
//ПапкаОбъект.УстановитьНовыйКод();
ПапкаОбъект.ОбменДанными.Загрузка = Истина;
//ПапкаОбъект.Владелец = УчетнаяЗапись;
//ПапкаОбъект.Наименование = ИмяПапки;
ПапкаОбъект.РеквизитДопУпорядочивания = Индекс + 1;
ПапкаОбъект.ПредопределеннаяПапка = Истина;
ПапкаОбъект.CRM_Вид = ВидПапки;
ПапкаОбъект.Записать();
Если ЭтоОбновление3_5_8 Тогда
РегистрыСведений.CRM_ПапкиУчетныхЗаписей.УстановитьПапку(УчетнаяЗапись, ВидПапки, ПапкаОбъект.Ссылка);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ПоказатьВ УТ 3.5.8 появляется новый регистр сведений CRM_ПапкиУчетныхЗаписей. Чтобы скрипт запустить до установки этого обновления и не получать ошибок. Но если уже обновились, то он сделает все как типовая обработка и даже лучше! Код взят как раз из разных версий обновлений.
После этого вылезла еще одна проблема.
Обновление выполняется более 12 часов.
В ЖР обнаружил проблему с
РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию
Почему то постоянно падало в конфликт блокировок. Возможно пересекалось с другими объектами и выполнялось в 1 поток.
Я решил просто отменить фоновые задания и по новой запустить их. Конфликты сразу ушли и обработка запустилась в многопоточном режиме! Хотя спустя 10 минут вылезло еще парочку блокировок, но уже почти все объекты были обработаны, если затормозит, то в течении часа перезапустите еще раз.
Успехов в обновлении!
Не удалось записать данные в регистр РегистрНакопления.РасчетыСКлиентамиПоДокументам , по причине: Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки
{ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(113)}:НаборЗаписей.Записать(Замещать);
{РегистрНакопления.РасчетыСКлиентамиПоДокументам.МодульМенеджера(340)}:ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
{(1)}:РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4628)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенныйОбработчик(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1290)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1280)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
по причине:
Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки
ПоказатьПревышено максимальное время ожидания предоставления блокировки
{ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(113)}:НаборЗаписей.Записать(Замещать);
{РегистрНакопления.РасчетыСКлиентамиПоДокументам.МодульМенеджера(340)}:ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
{(1)}:РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4628)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенныйОбработчик(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1290)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1280)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
по причине:
Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки
Обновление выполняется более 12 часов.
В ЖР обнаружил проблему с
РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию
Почему то постоянно падало в конфликт блокировок. Возможно пересекалось с другими объектами и выполнялось в 1 поток.
Я решил просто отменить фоновые задания и по новой запустить их. Конфликты сразу ушли и обработка запустилась в многопоточном режиме! Хотя спустя 10 минут вылезло еще парочку блокировок, но уже почти все объекты были обработаны, если затормозит, то в течении часа перезапустите еще раз.
Успехов в обновлении!
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Проанализировав все данные конфигураций понял, что проблема вылезла еще раньше.
Управление торговлей для Беларуси, редакция 3.4.7.155 на этой версии она была уже.
Написал 2 скрипта в ИР:
Для Справочник.ПапкиЭлектронныхПисем:
Чтобы очистить ошибки и потом записать правильные данные в случае чего!
Для Справочник.УчетныеЗаписиЭлектроннойПочты:
В УТ 3.5.8 появляется новый регистр сведений CRM_ПапкиУчетныхЗаписей. Чтобы скрипт запустить до установки этого обновления и не получать ошибок. Но если уже обновились, то он сделает все как типовая обработка и даже лучше! Код взят как раз из разных версий обновлений.
Управление торговлей для Беларуси, редакция 3.4.7.155 на этой версии она была уже.
Написал 2 скрипта в ИР:
Для Справочник.ПапкиЭлектронныхПисем:
Если ТипЗнч(Объект.Ссылка) = Тип("СправочникСсылка.ПапкиЭлектронныхПисем") Тогда
Объект.ОбменДанными.Загрузка = Истина;
Объект.CRM_Вид = Перечисления.CRM_ВидыПапокЭлектроннойПочты.ПустаяСсылка();
Объект.Записать();
КонецЕсли;
Чтобы очистить ошибки и потом записать правильные данные в случае чего!
Для Справочник.УчетныеЗаписиЭлектроннойПочты:
Если ТипЗнч(Объект.Ссылка) = Тип("СправочникСсылка.УчетныеЗаписиЭлектроннойПочты") Тогда
ЭтоОбновление3_5_8 = Метаданные.РегистрыСведений.Найти("CRM_ПапкиУчетныхЗаписей") <> Неопределено;
УчетнаяЗапись = Объект.Ссылка;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Владелец", УчетнаяЗапись);
Запрос.Текст = "ВЫБРАТЬ
| ПапкиЭлектронныхПисем.Наименование,
| ПапкиЭлектронныхПисем.CRM_Вид,
| ПапкиЭлектронныхПисем.РеквизитДопУпорядочивания,
| ПапкиЭлектронныхПисем.Ссылка
|ИЗ
| Справочник.ПапкиЭлектронныхПисем КАК ПапкиЭлектронныхПисем
|ГДЕ
| ПапкиЭлектронныхПисем.Владелец = &Владелец
| И ПапкиЭлектронныхПисем.ПредопределеннаяПапка";
//МассивИмеющихсяПапок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Наименование");
ТаблицаИмеющихсяПапок = Запрос.Выполнить().Выгрузить();
Для Индекс = 0 По Перечисления.CRM_ВидыПапокЭлектроннойПочты.Количество()-1 Цикл
ВидПапки = Перечисления.CRM_ВидыПапокЭлектроннойПочты[Индекс];
ИмяПапки = Строка(ВидПапки);
СтрокаТаблицы = ТаблицаИмеющихсяПапок.Найти(ИмяПапки, "Наименование");
//Если МассивИмеющихсяПапок.Найти(ИмяПапки) = Неопределено Тогда
Если СтрокаТаблицы = Неопределено Тогда
ПапкаОбъект = Справочники.ПапкиЭлектронныхПисем.СоздатьЭлемент();
ПапкаОбъект.УстановитьНовыйКод();
ПапкаОбъект.ОбменДанными.Загрузка = Истина;
ПапкаОбъект.Владелец = УчетнаяЗапись;
ПапкаОбъект.Наименование = ИмяПапки;
ПапкаОбъект.CRM_Вид = ВидПапки;
ПапкаОбъект.РеквизитДопУпорядочивания = Индекс + 1;
ПапкаОбъект.ПредопределеннаяПапка = Истина;
ПапкаОбъект.Записать();
Если ЭтоОбновление3_5_8 Тогда
РегистрыСведений.CRM_ПапкиУчетныхЗаписей.УстановитьПапку(УчетнаяЗапись, ВидПапки, ПапкаОбъект.Ссылка);
КонецЕсли;
Иначе
ПапкаОбъект = СтрокаТаблицы.Ссылка.ПолучитьОбъект();
//ПапкаОбъект.УстановитьНовыйКод();
ПапкаОбъект.ОбменДанными.Загрузка = Истина;
//ПапкаОбъект.Владелец = УчетнаяЗапись;
//ПапкаОбъект.Наименование = ИмяПапки;
ПапкаОбъект.РеквизитДопУпорядочивания = Индекс + 1;
ПапкаОбъект.ПредопределеннаяПапка = Истина;
ПапкаОбъект.CRM_Вид = ВидПапки;
ПапкаОбъект.Записать();
Если ЭтоОбновление3_5_8 Тогда
РегистрыСведений.CRM_ПапкиУчетныхЗаписей.УстановитьПапку(УчетнаяЗапись, ВидПапки, ПапкаОбъект.Ссылка);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ПоказатьВ УТ 3.5.8 появляется новый регистр сведений CRM_ПапкиУчетныхЗаписей. Чтобы скрипт запустить до установки этого обновления и не получать ошибок. Но если уже обновились, то он сделает все как типовая обработка и даже лучше! Код взят как раз из разных версий обновлений.
После этого вылезла еще одна проблема.
Обновление выполняется более 12 часов.
В ЖР обнаружил проблему с
РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию
Почему то постоянно падало в конфликт блокировок. Возможно пересекалось с другими объектами и выполнялось в 1 поток.
Я решил просто отменить фоновые задания и по новой запустить их. Конфликты сразу ушли и обработка запустилась в многопоточном режиме! Хотя спустя 10 минут вылезло еще парочку блокировок, но уже почти все объекты были обработаны, если затормозит, то в течении часа перезапустите еще раз.
Успехов в обновлении!
Не удалось записать данные в регистр РегистрНакопления.РасчетыСКлиентамиПоДокументам , по причине: Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки
{ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(113)}:НаборЗаписей.Записать(Замещать);
{РегистрНакопления.РасчетыСКлиентамиПоДокументам.МодульМенеджера(340)}:ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
{(1)}:РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4628)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенныйОбработчик(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1290)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1280)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
по причине:
Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки
ПоказатьПревышено максимальное время ожидания предоставления блокировки
{ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(113)}:НаборЗаписей.Записать(Замещать);
{РегистрНакопления.РасчетыСКлиентамиПоДокументам.МодульМенеджера(340)}:ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
{(1)}:РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4628)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенныйОбработчик(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5287)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1290)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1280)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
по причине:
Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки
Обновление выполняется более 12 часов.
В ЖР обнаружил проблему с
РегистрыНакопления.РасчетыСКлиентамиПоДокументам.ОбработатьДанныеДляПереходаНаНовуюВерсию
Почему то постоянно падало в конфликт блокировок. Возможно пересекалось с другими объектами и выполнялось в 1 поток.
Я решил просто отменить фоновые задания и по новой запустить их. Конфликты сразу ушли и обработка запустилась в многопоточном режиме! Хотя спустя 10 минут вылезло еще парочку блокировок, но уже почти все объекты были обработаны, если затормозит, то в течении часа перезапустите еще раз.
Успехов в обновлении!
(3) еще добавлю, что иногда обработка 1 объекта шла более 5 минут. Итог все остальные задачи в дедлок падали. Выход вижу только в отмене точечно через кластер длительных обработчиков, чтобы не мешали обрабатывать данные остальным. Иначе это 17 часов обрабатывалось и то не факт, что закончилось без помощи и ручного перезапуска!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот