Имя: Пароль:
1C
1С v8
Как починить синхронизацию УТ11-БП3.0?
,
0 al_zzz
 
10.10.20
06:37
Дано: УТ 11.4.12.102 + БП 3.0.83.25. Почти типовые(в УТ внесены незначительные изменения расширениями). Синхронизация между ними сломалась больше месяца назад(5.09), но обратились с проблемой только сейчас, накануне сдачи отчетности. Документы вводятся интенсивно и синхронизация занимает 8-10 часов. Я нашел два проблемных документа и снял с регистрации. Запустил синхронизацию на ночь. В 6 утра получил такую ошибку: "Событие: Отправка.
Обработчик: ПриОтправкеДанных.
Объект: Документ объект: Приобретение товаров и услуг, Приобретение товаров и услуг 00ЦБ-001408 от 08.10.2020 12:30:28 (e1cib/data/Документ.ПриобретениеТоваровУслуг?ref=811e003048cacdc511eb09275f305697).

Ошибка выполнения обработчика.
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 11.0: Превышено время ожидания запроса на блокировку.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1

{ОбщийМодуль.ДоходыИРасходыСервер.Модуль(661)}:    МассивРезультатов = Запрос.ВыполнитьПакет();
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(53262)}:    РасшифровкаДопРасходов = ДоходыИРасходыСервер.РаспределениеРасходовНаСебестоимостьТоваров(ДанныеИБ.Ссылка);
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(18546)}:    РасширенныеДанныеИБ = ПТиУ_РасширенныеДанныеИБ(КомпонентыОбмена, ДанныеИБ);
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(54963)}:        ПКО_Документ_ПоступлениеТоваровУслуг_Отправка_ПриОтправкеДанных(
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6297)}:        МенеджерОбмена.ВыполнитьПроцедуруМодуляМенеджера(ИмяОбработчика, СтруктураПараметров);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1121)}:            ПриОтправкеДанных(Источник, Приемник, ПравилоКонвертации.ПриОтправкеДанных, КомпонентыОбмена, СтекВыгрузки);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(691)}:                ДанныеXDTO = ДанныеXDTOИзДанныхИБ(КомпонентыОбмена, Объект, ПравилоКонвертации, Неопределено);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(3632)}:                    ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Данные);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(529)}:        ВыполнитьВыгрузкуЗарегистрированныхДанных(КомпонентыОбмена, НомерОтправленного);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(216)}:            ОбменДаннымиXDTOСервер.ПроизвестиВыгрузкуДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(7191)}:                ОбработкаОбменаДаннымиXML.ВыполнитьВыгрузкуДанных();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6964)}:            ЗаписатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена.ИмяФайлаСообщенияОбмена());
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(381)}:    ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена, ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(3891)}:            ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(Отказ, УзелИнформационнойБазы,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(34)}:    ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:    Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:        ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}:        ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Ошибка выполнения запроса
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 11.0: Превышено время ожидания запроса на блокировку.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1
.
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6308)}:        ВызватьИсключение ТекстОшибки;
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1121)}:            ПриОтправкеДанных(Источник, Приемник, ПравилоКонвертации.ПриОтправкеДанных, КомпонентыОбмена, СтекВыгрузки);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(691)}:                ДанныеXDTO = ДанныеXDTOИзДанныхИБ(КомпонентыОбмена, Объект, ПравилоКонвертации, Неопределено);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(3632)}:                    ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Данные);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(529)}:        ВыполнитьВыгрузкуЗарегистрированныхДанных(КомпонентыОбмена, НомерОтправленного);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(216)}:            ОбменДаннымиXDTOСервер.ПроизвестиВыгрузкуДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(7191)}:                ОбработкаОбменаДаннымиXML.ВыполнитьВыгрузкуДанных();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6964)}:            ЗаписатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена.ИмяФайлаСообщенияОбмена());
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(381)}:    ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена, ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(3891)}:            ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(Отказ, УзелИнформационнойБазы,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(34)}:    ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:    Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:        ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}:        ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);"
1 al_zzz
 
10.10.20
06:44
Ошибка возникла в 3 часа ночи, когда никто уже не работал. У меня есть следующие соображения на счет решения проблемы: 1. Возможно, стоит попробовать ещё раз запустить на ночь выгрузку, предварительно отключив все регламентные задания в УТ11(этого я не делал) и отключив зависшие сеансы все пользователей(это рисковано, так как времени до дедлайна всё меньше). 2. Надо как-то выгружать частями зарегистрированные данные. По второму случаю я думал начать писать обработку, которая будет сохранять все изменения где-то в буфере, которые были изначально зарегистрированы. Порциями регистрировать и выгружать. Возможно, у вас есть такая или подобная обработка - буду очень признателен, если поделитесь.
2 Ёпрст
 
10.10.20
09:28
(0) ну и перепиши запрос, выкинь в нём для изменения, не будет блокироки
3 al_zzz
 
14.10.20
19:23
(2) Спасибо большое! Совет помог.
Но при загрузке возникла проблема:
"Обработка: ТранспортСообщенийОбменаFILE: Ошибка при копировании файла из \\SQL-KM-01\Distr\Message_ЦБ_6a714e4a-f743-4cda-80fb-588ada36d716_2ea07d9c-e7fd-4d42-a26b-b7dd19322c02.xml в C:\Users\USR1CV83\AppData\Local\Temp\Exchange82 {23B8EC1F-8BD2-4AE9-92A9-A4AED567827D}\Message_6a714e4a-f743-4cda-80fb-588ada36d716_2ea07d9c-e7fd-4d42-a26b-b7dd19322c02.xml. Описание ошибки: Ошибка копирования файлов из '\\SQL-KM-01\Distr\Message_ЦБ_6a714e4a-f743-4cda-80fb-588ada36d716_2ea07d9c-e7fd-4d42-a26b-b7dd19322c02.xml' в 'C:\Users\USR1CV83\AppData\Local\Temp\Exchange82 {23B8EC1F-8BD2-4AE9-92A9-A4AED567827D}\Message_6a714e4a-f743-4cda-80fb-588ada36d716_2ea07d9c-e7fd-4d42-a26b-b7dd19322c02.xml' : На устройстве нет свободного места"
Подключил админа. Он посмотрел права, место - всё нормально.
Запустил ещё раз - ошибка та же.
Посмотрел внимательно - ошибка при загрузке показывается старая(вчерашняя). Т.е. при запуске синхронизации загрузка больше не выполняется, а результат загрузки показывается старый.
Как заставить 1С снова пытаться выполнить загрузку?
Вот так выглядит сообщение о результате загрузки после завершения обмена в ЖР: http://snap.ashampoo.com/RfSrkRkaoAgVRrOyUJSXZOG3pt4OMxG96zQHL2H14oQoaahUJ1NEJuAY­i6ivvOUS
Показывает сообщение за вчерашнюю дату, хотя запускал синхронизацию сегодня.