Доброго дня!

После обновления до 8.3.18.1289 (Обычные формы), перестала работать запись реквизита справочника.
Есть Справочник, CMS1C_Категории, в нём хранится список категорий, которые выгружаются на сайт.
Есть ФормаЭлемента, в которой существует реквизит "Описание". Судя по всему, в коде используется JS, который форматировал текст в пригодный для выгрузки на сайт.

После обновления, при записи, вылетает ошибка {Справочник.CMS1C_Категории.Форма.ФормаЭлемента.Форма(45)}: Значение не является значением объектного типа (Closed).
Т.е. изменения реквизита объекта справочника CMS1C_Категории, не сохраняется.

Участок кода отвечающий за сохранение.

```1c
    Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    ЗаписатьИзображения();
    ЗаполнитьТЧКатегорииПоФильтрам();
    ЗаполнитьСтрокуConditions();
    #Если Не ВебКлиент Тогда
    Попытка
    // Если данные в редакторе "TinyMCE" не изменялись, получить текст мы не можем.
    Если Не Элементы.ОписаниеHTML.Документ.parentWindow.Closed Тогда
    ТекстСообщения = Элементы.ОписаниеHTML.Документ.parentWindow.eval ("tinyMCE.activeEditor.getContent()");
    КонецЕсли;
    Исключение
    ТекстСообщения = Неопределено;
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

    Если ТекстСообщения = Неопределено Тогда
    Возврат;
    КонецЕсли;
```
---
Попробуйте вместо parentWindow DefaultView
и вместо eval теперь тоже надо по-другому: Элементы.ОписаниеHTML.Document.DefaultView.НазваниеМетодаJS();
т.е. как-то так:

```1c
    Если Не Элементы.ОписаниеHTML.Документ.DefaultView.Closed Тогда
    ТекстСообщения = Элементы.ОписаниеHTML.Документ.DefaultView.tinyMCE.activeEditor.getContent();
    КонецЕсли;
```
---
Так не срабатывает?

```1c
    Body.Документ.DefaultView.CKEDITOR.instances.editor1.setData( '"+html+"', function()
    |{
    | this.checkDirty(); // true
    |});
```
---
Вот так заработало:

```1c
    Body.Документ.DefaultView.CKEDITOR.instances.editor1.setData( html , "function()
    |{
    | this.checkDirty(); // true
    |});");
```
---
Так же, есть внешняя обработка, которая так же работала до обновления.
Обработка предназначена для форматирования описания товара.

Ошибка обработки:

```1c
    {ВнешняяОбработка.HTMLредактор.МодульОбъекта(148)}: Значение не является значением объектного типа (Eval)
    Body.Документ.parentWindow.Eval("CKEDITOR.instances.editor1.setData( '"+html+"', function()
```
---
По этой причине никогда не бегу ставить суперновую платформу...
---
Попробуйте вместо parentWindow DefaultView
и вместо eval теперь тоже надо по-другому: Элементы.ОписаниеHTML.Document.DefaultView.НазваниеМетодаJS();
т.е. как-то так:

```1c
    Если Не Элементы.ОписаниеHTML.Документ.DefaultView.Closed Тогда
    ТекстСообщения = Элементы.ОписаниеHTML.Документ.DefaultView.tinyMCE.activeEditor.getContent();
    КонецЕсли;
```
---
Огромное спасибо, Ваш код работает.
---
Микроскопическая просьба, как победить это?

```1c
    Процедура УстановитьКодHtmlJS(Знач html, мBody) Экспорт

    Body = мBody;

    html = СтрЗаменить(html,Символы.ПС," ");

    Body.Документ.parentWindow.Eval("CKEDITOR.instances.editor1.setData( '"+html+"', function()
    |{
    | this.checkDirty(); // true
    |});");

    КонецПроцедуры
```

Текст ошибки:
{ВнешняяОбработка.HTMLредактор.МодульОбъекта(148)}: Значение не является значением объектного типа (Eval)
    Body.Документ.parentWindow.Eval("CKEDITOR.instances.editor1.setData( '"+html+"', function()
---
Так не срабатывает?

```1c
    Body.Документ.DefaultView.CKEDITOR.instances.editor1.setData( '"+html+"', function()
    |{
    | this.checkDirty(); // true
    |});
```
---
Вот так заработало:

```1c
    Body.Документ.DefaultView.CKEDITOR.instances.editor1.setData( html , "function()
    |{
    | this.checkDirty(); // true
    |});");
```
---
здравствуйте, вот у меня тоже не сохраняются изображения и описание, выгружаю на сайт ничего нет, а как эти коды делать и куда вписывать))))))