Попытка сделать обмен на управляемых блокировках. Обмен между УТ 10.3 и БП 3.0

1. German_Tagil 43 20.07.23 10:19 Сейчас в теме
При запуске закрытие месяца или обработка формирование отчетов производства за смену (ОПС) при работающем обмене
сыпались ошибки конфликт блокировок. Сначала увеличил время ожидания блокировки данных до 300 с.
Закрытие месяца и обработка по формированию ОПС стали работать корректно с друг другом.
А вот с обменом так и не работали.
Сначала написал в ПКО после загрузки
Объект.ОбменДанными.Загрузка = Ложь;
не помогло.
в конце концов написал следующий код.

требование-накладная ПКО при загрузке.
Объект.ОбменДанными.Загрузка = Ложь;
НачатьТранзакцию();
		попытка                                
								Объект.Записать(РежимЗаписиДокумента.запись);
								ЗафиксироватьТранзакцию();
							исключение
									Если ТранзакцияАктивна() Тогда
      								  ОтменитьТранзакцию();
    								КонецЕсли;
    						ВызватьИсключение;
							конецпопытки;

Показать



требование-накладная ПКО после загрузки.
НачатьТранзакцию();
		попытка                                
								Объект.Записать(РежимЗаписиДокумента.Проведение);
								ЗафиксироватьТранзакцию();
							исключение
									Если ТранзакцияАктивна() Тогда
      								  ОтменитьТранзакцию();
    								КонецЕсли;
    						ВызватьИсключение;
							конецпопытки;
Отказ = Истина;
Показать


Обмен заработал - ошибок пока не было 1 час прошел тестирую....
Насколько правильно я сделал?
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dyahon 20.07.23 11:04 Сейчас в теме
Вот здесь оч хорошо этот момент освещен
https://habr.com/ru/articles/419715/

А до 25 числа, покуда бухи не сдадут НДС - они будут исправлять 1 документ из 100 и перезакрывать месяц и переформировывать книгу, вообщем жизни не будет :)
3. German_Tagil 43 20.07.23 12:03 Сейчас в теме
(2) С этого все и начиналось - сначала в обработке проставил все транзакции , а затем уже за обмен взялся...
4. dyahon 20.07.23 15:41 Сейчас в теме
на самом деле странно, что в момент загрузки проводятся документы

Обычно сначала записывают все режиме загрузки, запоминают что загрузили, потом выстраивают все загруженные документы в хронологии, а только потом проводят (особенно когда грузим взаиморасчеты, кассу и товары), чтобы в нужном порядке зачлись авансы, списались партии и прочее
5. German_Tagil 43 20.07.23 19:04 Сейчас в теме
(4) поменял после выгрузки
Обьект.записать(режимзаписидокумета.запись);
Работает...
6. German_Tagil 43 21.07.23 06:48 Сейчас в теме
(4) Поэтому и задал вопрос - когда добавлял документ реализация, поступление, корректировка реализации - столкнулся с этим.

сегодня буду дальше проверять - уж больно много документов у нас проходит. Минимизировать потери на обмене
7. German_Tagil 43 25.07.23 08:58 Сейчас в теме +0.5 $m
В итоге пока сделал так:

Объект.ОбменДанными.Загрузка = Ложь;
НачатьТранзакцию();
		попытка                                
						Объект.Записать(РежимЗаписиДокумента.запись);
								ЗафиксироватьТранзакцию();
							исключение
									Если ТранзакцияАктивна() Тогда
      								  ОтменитьТранзакцию();
    								КонецЕсли;
    						ВызватьИсключение;
			
						конецпопытки;

						если объект.проведен    тогда
								НачатьТранзакцию();
		попытка                                
					            
        ДобавитьОбъектДляОтложенногоПроведения(Объект.Ссылка, Объект.Дата, Новый Структура());
    								ЗафиксироватьТранзакцию();
							исключение
									Если ТранзакцияАктивна() Тогда
	  								  ОтменитьТранзакцию();
									КонецЕсли;
							ВызватьИсключение;
			
						конецпопытки;

						конецесли;
	отказ=истина;
Показать



В этом случае документы проводятся и все работает корректно.

Если убираем отказ=истина то конфликт блокировок
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот