Услуги частного программиста 1С удаленно по РФ и с выездом по Москве

 
Пятница, 02 Июнь 2023 12:36

Как ускорить обмен в два раза между базами 1с

Автор
Оцените материал
(0 голосов)

В типовой обработке КонвертацияОбъектовИнформационныхБаз есть кусок код где определяется режим записи объекта.

Если в данном куске режим записи встает на 

РежимЗаписи = РежимЗаписиДокумента.Проведение;

То данный объект попадает в таблицу отложенного проведения при этом отложенное проведение выполняется в той же транзакции, что и обмен данными 

Поэтому нужно найти кусок кода в данной обработке и установить режим записи объекта только на записать. В таком случае документы не будут попадать в таблицу отложенного проведения, что значительно ускорит обмен.

 

Данный метод подходит, если у вас документы переносятся с проводками и проведенными. 

 

Было:

Если ИмяТипаОбъекта = "Документ" Тогда

Если РежимЗаписи = "Проведение" Тогда

РежимЗаписи = РежимЗаписиДокумента.Проведение;

ИначеЕсли РежимЗаписи = "ОтменаПроведения" Тогда

РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения;

ИначеЕсли РежимЗаписи = "Запись" Тогда

РежимЗаписи = РежимЗаписиДокумента.Запись;

Иначе

// Определим как записывать документ.
Если Объект.Проведен Тогда

РежимЗаписи = РежимЗаписиДокумента.Проведение;

Иначе

// А документ вообще может проводиться или нет.
ДокументМожетПроводиться = (Объект.Метаданные().Проведение = РазрешитьПроведениеДокумента);

Если ДокументМожетПроводиться Тогда
РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения;
Иначе
РежимЗаписи = РежимЗаписиДокумента.Запись;
КонецЕсли;

КонецЕсли;

КонецЕсли;

 

Стало:

Если ИмяТипаОбъекта = "Документ" Тогда

Если РежимЗаписи = "Проведение" Тогда

РежимЗаписи = РежимЗаписиДокумента.Проведение;

ИначеЕсли РежимЗаписи = "ОтменаПроведения" Тогда

РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения;

ИначеЕсли РежимЗаписи = "Запись" Тогда

РежимЗаписи = РежимЗаписиДокумента.Запись;

Иначе

// Определим как записывать документ.
Если Объект.Проведен Тогда

РежимЗаписи = РежимЗаписиДокумента.Проведение;

Иначе

// А документ вообще может проводиться или нет.
ДокументМожетПроводиться = (Объект.Метаданные().Проведение = РазрешитьПроведениеДокумента);

Если ДокументМожетПроводиться Тогда
РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения;
Иначе
РежимЗаписи = РежимЗаписиДокумента.Запись;
КонецЕсли;

КонецЕсли;
#Вставка
//
РежимЗаписи = РежимЗаписиДокумента.Запись;
//
#КонецВставки

КонецЕсли;

Прочитано 605 раз
Другие материалы в этой категории: « Источники данных Microsoft Open Database Connectivity (ODBC)