Что-то непонятное происходит. Продолжаю работать в консоли кода с указанными рекомендациями об отключении автозаполнения параметров. Но сегодня с утра забыл автозаполнение выключить, выполнил код на сервере, ии...
Код
Параметр _ВыборкаВерсий на выходе имел мутабельное значение (Выборка из результата запроса) и был очищен
Параметр _ВыборкаОбъектов на выходе имел мутабельное значение (Выборка из результата запроса) и был очищен
Параметр _Запрос на выходе имел мутабельное значение (Запрос) и был очищен
Портативные инструменты тоже очищают мутабельные значения на выходе, оказываццо. Может я просто на какую-то багу наткнулся случайно ? Немного поэкспериментировал, и вот какие результаты получил. Ошибка эта возникает при разборе версий документа "Экземпляр бюджета" в ERP 2.4 и не возникает при разборе какого-нибудь другого документа. Поэтому видоизменил слегка код на такой:
Код
СведенияОВерсии = ВерсионированиеОбъектов.СведенияОВерсииОбъекта(Ссылка, НомерВерсии);
Результат = ВерсионированиеОбъектов.РазборПредставленияОбъектаXML(СведенияОВерсии.ВерсияОбъекта, Ссылка);
Результат.Вставить("ИмяОбъекта", Строка(Ссылка));
Результат.Вставить("АвторИзменения", СокрЛП(Строка(СведенияОВерсии.АвторВерсии)));
Результат.Вставить("ДатаИзменения", СведенияОВерсии.ДатаВерсии);
Результат.Вставить("Комментарий", СведенияОВерсии.Комментарий);
ХЗ1 = Новый ХранилищеЗначения(СведенияОВерсии);
ХЗ2 = Новый ХранилищеЗначения(Результат);
СведенияОВерсии = Неопределено;
Результат = Неопределено;
И посмотрел, в чём была разница в возвращаемых структурах. Разница оказалась в том, что у экземпляра бюджета в структурах добавились табличные документы. Тогда у меня возникла мысль сделать вот такую простую проверку в консоли кода:
Код
Результат = Новый ТабличныйДокумент;
Выполняется в контексте клиента и выдаёт ошибку в контексте сервера в портативных инструментах:
Код
{ВнешняяОбработка.ирПортативный.МодульОбъекта(2926)}: Ошибка при вызове метода контекста (ВыполнитьКоманду)
мДополнительныеОтчетыИОбработки.ВыполнитьКоманду(Параметры);
по причине:
Попытка передачи с сервера клиенту мутабельного значения 1-го параметра метода ВыполнитьКоманду ().
Если портативные инструменты всё-таки очищают мутабельные значения, может табличные документы тоже есть смысл обработать за компанию ?