diadoc / diadoc1cpro-docs

7 stars 8 forks source link

Инициализация контекста в 4.27 #160

Open Mikhail1C opened 1 year ago

Mikhail1C commented 1 year ago

Здравствуйте!

После обновления обработки для обмена данными между 1С и Диадок на версию 4.27 у нас возникли вопросы по коду обработок:

  1. В модуле объекта обработки Ядро в процедуре ИнициализироватьКонтекстФоновогоЗадания появилась строка ПараметрыКонтекста.Вставить("ЭтоДлительнаяОперация", Истина); она приводит к тому, что не отрабыватывает следующая за этим процедура ХранилищеКэш_Инициализировать(УИД); и попытка получить экземпляр объекта - обработку, например, ХранениеДанных приводит к аварийному завершению.

Возможно ли вместо безусловного присвоения реквизиту ПараметрыКонтекста.ЭтоДлительнаяОперация поместить в это место код вида:

Если ПараметыОперации.Свойство("ЭтоДлительнаяОперация") Тогда ПараметрыКонтекста.Вставить("ЭтоДлительнаяОперация", ПараметыОперации.ЭтоДлительнаяОперация); Иначе ПараметрыКонтекста.Вставить("ЭтоДлительнаяОперация", Истина); КонецЕсли;

  1. В модуле объекта обработки Диадок_КонтурЭДО в процедуре ВыполнитьРегламентныеДействия() появилась строка Модуль_Ядро.ЗавершитьРаботуЯдра(); При использовании предыдущих версий обработки возможно было использовать экземпляр объекта - обработки Ядро после завершения работы процедуры ВыполнитьРегламентныеДействия().

Возможно ли также вместо безусловного исполнения этой процедуры вставить в это место следующий код?:

Если ПараметрыВыполненияКоманды.Свойство("ЗавершитьРаботуЯдра") И ПараметрыВыполненияКоманды.ЗавершитьРаботуЯдра = Истина Тогда Модуль_Ядро.ЗавершитьРаботуЯдра(); КонецЕсли;