UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: rauschen от 17 Ноября 2011, 19:17:08

Название: Синхронизация с 1С
Отправлено: rauschen от 17 Ноября 2011, 19:17:08
Доброго времени суток всем!

Я настроил синхронизацию с 1С. Выгрузил весь каталог на сайт.
Переименовал разделы и товары как нужно мне. Но при следующей синхронизации с 1С все названия разделов и товаров возвращаются к 1Совским.

Как сделать так, чтобы значение поля name у разделов каталога и товаров не менялось после выгрузки данных из 1С?
Спасибо.
Название: Re:Синхронизация с 1С
Отправлено: admin от 17 Ноября 2011, 22:29:20
перезапись название товара происходит в виду алгоритма синхронизации, либо надо править xsl файл (/xsl/import/custom/commerceML.xsl), хотя не факт что можно пойти таким путем, либо дописывать event который будет пересохранять после синхронизации ваше кастомное название поля
Название: Re:Синхронизация с 1С
Отправлено: rauschen от 17 Ноября 2011, 22:51:15
А вам никогда не приходилось такого делать?

я сделал так сейчас

<xsl:param name="is_exist" select="document(concat('udata://system/getFilteredPages/72/1c_product_id/', Ид))/udata/items/item" />
...
<xsl:if test="not($is_exist)">
   <name>
      <xsl:value-of select="$name" />
   </name>
</xsl:if>

Но при большом кол-ве товаров скрипт валится. С чем связано - проследить не удается...
Название: Re:Синхронизация с 1С
Отправлено: admin от 18 Ноября 2011, 06:25:02
скорее всего время выполнение скрипта сильно возрастает, попробуй в config.ini уменьшить кол-во элементов импортируемых за раз (параметр exchange.splitter.limit подробнее http://help-dev.umi-cms.ru/part.Config.modules.html)
Название: Re:Синхронизация с 1С
Отправлено: rauschen от 18 Ноября 2011, 10:55:48
Сделал через эвент - exchangeOnUpdateElement. В режиме before беру имя элемента из базы (если он есть) и присваиваю его суперглобальной переменной. А затем в режиме after присваиваю имени элемента значение этой суперглобальной переменной.
Решение конечно кривое, т.к. скорее всего при всех типах импорта будет оставаться прежнее имя элементов и разделов.
Но если кому будет интересно выложу сюда листинг кода.

з.ы. надо писать в саппорт чтобы подсказали грамотное решение. имхо все должно делаться на уровне commerceML2.xsl
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 21 Ноября 2011, 14:11:25
Здравствуйте всем!

Столкнулся с некоторыми проблемами при обмене данными с 1C.

1. Такая же проблема, как у rauschen. При обмене данными с 1C названия уже существующих объектов и разделов приобретают первоначальный вид (как в 1C). Как этого избежать? Пробовал добавлять строку exchange.commerceML.renameFiles = "0" в config.ini, как указано здесь (http://help-dev.umi-cms.ru/part.Config.modules.html) (по умолчанию в файле ее вообще не было), переопределять присвоение названий в /xsl/import/custom/commerceML.xsl, однако это не принесло никаких результатов. Каким образом лучше разграничить процесс полной выгрузки и процесс выгрузки изменений? rauschen, как ты в конечном итоге вышел из данной ситуации? Если через event, выложи, пожалуйста, листинг кода.
Т.к. h1 остается прежним, то на крайний случай, как вариант можно добавить присвоение названия из h1 (что, конечно, не рационально).

2. Мне нужно, чтобы разделам и объектам каталога при полной выгрузке и обмене ставились в соответствие определенные tpl шаблоны, отличные от заданного по умолчанию.

В config.ini указал следующее:

exchange.translator.catalog_item_template = "catalogitem.tpl"
exchange.translator.catalog_rubric_template = "catalogrubric.tpl"

В таком случае и разделам, и объектам каталога по-прежнему ставится в соответствие шаблон по умолчанию (даже для новых добавляемых страниц).
Помимо этого, при каждом обмене в корне сайта создается страница Основной каталог товаров, которая не содержит в себе никаких объектов.
Воспользовался данным решением (http://wiki.umisoft.ru/%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86,_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5_%D1%82%D0%BE%D0%B3%D0%BE_%D0%BA%D0%B0%D0%BA_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D1%83%D0%B6%D0%B5_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B_%D0%B8%D0%B7_1%D0%A1).
Теперь для всех разделов каталога используется шаблон catalogrubric.tpl (который мне и нужен), однако для объектов каталога по-прежнему применяется шаблон по умолчанию, и также создаются пустые страницы osnovnoi_katalog_tovarov, osnovnoi_katalog_tovarov1, osnovnoi_katalog_tovarov2 и т.д. в корне сайта. Как быть? И возможно ли задать исключения для ряда разделов каталога, для которых применяется другой шаблон, скажем catalogrubric_1.tpl?
Есть еще один альтернативный вариант - переопределить действия при выгрузке изменений таким образом, чтобы шаблоны страниц не менялись вообще (как и в ситуации 1). Тогда, на крайний случай, нужные шаблоны можно переопределить вручную (все равно каждый объект будет редактироваться отдельно). Понимаю, что это не рационально, но все же рассматриваю это, как один из вариантов.

3. Мне нужно применить данный шаблон (http://wiki.umisoft.ru/%D0%95%D0%B4%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0,_%D0%BF%D1%80%D0%B8_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B5_%D0%B8%D0%B7_1%D0%A1) с учетом ситуаций 1 и 2. Отдельно он работает нормально.

Очень надеюсь на вашу помощь!
Название: Re:Синхронизация с 1С
Отправлено: admin от 21 Ноября 2011, 14:51:37
Alexey

1. Эту задачу можно решить написанием своего варианта экспорта, который будет проверять импортируется ли товар в первый раз (и ему надо прописать имя), либо товар уже существует в системе и его имя менять не надо.
Можно написать код, который при преобразовании cml документа от 1с в umidump xml документ, будет проверять есть ли уже в системе товар и соответсвенно проставлять или нет узел "name" (этот вариант описывал rauschen выше) и можно написать свой обработчик события "exchangeOnUpdateElement".
Пример обработчика который вешаем на событие "exchangeOnUpdateElement"
public function RenameAllItems($e) {
if($e->getMode() == "after") {
$element = $e->getRef('element');
if (!$element instanceof umiHierarchyElement || $element->getMethod() != 'object') return false; // ести объект не страница и не объект каталога, то выходим

/*у типа данных "объект каталога добавил поле "резервное имя" (reserv_name) куда я сохраняю нужное мне имя товара*/
$element_reserv_name=$element->reserv_name;
if(strlen(trim($element_reserv_name))>0)$element->setName($element_reserv_name); //переименовываем имортированный товар обратно к "своему" варианту названия
$element->setTplId(4); //назначаем странице шаблон с id =4 (смотрел id в коде страницы в админке "настройки модуля структура")
$element->commit(); // сохраняем изменения
}
}

2.
Насчет создания пустого раздела
Цитировать
Помимо этого, при каждом обмене в корне сайта создается страница Основной каталог товаров, которая не содержит в себе никаких объектов.
не встречал такого, если вы пользовались модифицированным /xsl/import/custom/commerceML2.xsl то может ошибка в нем.

Насчет назначения шаблона страницам.
Действительно можно отключить назначение шаблона. Для этого просто проследите чтобы в /xsl/import/commerceML2.xsl  и /xsl/import/custom/commerceML2.xsl  файлах не формировался тег  <default-template>. А еще, шаблон можно назначать через event, так же как и в коде выше
$element->setTplId(4); 
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 21 Ноября 2011, 15:22:14
admin, спасибо за оперативный ответ!

Насчет назначения шаблона страницам.
Действительно можно отключить назначение шаблона. Для этого просто проследите чтобы в /xsl/import/commerceML2.xsl  и /xsl/import/custom/commerceML2.xsl  файлах не формировался тег  <default-template>.

Заменил все вхождения default-template на template в файле /xsl/import/commerceML2.xsl, из файла /xsl/import/custom/commerceML2.xsl данные блоки удалил вообще, т.к. фактически получается дублирование данных. Результат - всем страницам каталога (и разделам, и объектам) по-прежнему присваивается дефолтный шаблон и создается пустая страница "Основной каталог товаров" в корне сайта.

Насчет создания пустого раздела
не встречал такого, если вы пользовались модифицированным /xsl/import/custom/commerceML2.xsl то может ошибка в нем.

Небольшое пояснение. Единственная модификация файла /xsl/import/commerceML2.xsl - замена всех вхождений default-template на template;
В файл /xsl/import/custom/commerceML2.xsl добавлено только это (http://wiki.umisoft.ru/%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%95%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D1%8B_%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BD%D0%BE%D0%BC%D0%B5%D0%BD%D0%BA%D0%BB%D0%B0%D1%82%D1%83%D1%80%D0%BD%D0%BE%D0%B9_%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D0%B8).

Можно поподробнее насчет события "exchangeOnUpdateElement", где применить эту функцию?
Название: Re:Синхронизация с 1С
Отправлено: admin от 21 Ноября 2011, 15:28:57
Цитировать
Можно поподробнее насчет события "exchangeOnUpdateElement", где применить эту функцию?

в папке /classes/module/exchange 

добавляете custom_events.php:
<?php
new umiEventListener('exchangeOnUpdateElement', 'exchange  ', 'RenameAllItems');
?>

в __custom.php вкладываем мою функцию
public function RenameAllItems($e) {
if($e->getMode() == "after") {
$element = $e->getRef('element');
if (!$element instanceof umiHierarchyElement || $element->getMethod() != 'object') return false; // ести объект не страница и не объект каталога, то выходим

/*у типа данных "объект каталога добавил поле "резервное имя" (reserv_name) куда я сохраняю нужное мне имя товара*/
$element_reserv_name=$element->reserv_name;
if(strlen(trim($element_reserv_name))>0)$element->setName($element_reserv_name); //переименовываем имортированный товар обратно к "своему" варианту названия
$element->setTplId(4); //назначаем странице шаблон с id =4 (смотрел id в коде страницы в админке "настройки модуля структура")
$element->commit(); // сохраняем изменения
}
}

event подключен
Название: Re:Синхронизация с 1С
Отправлено: rauschen от 21 Ноября 2011, 22:14:08
Парни, я сделал через событие, как писал Даниил.
Вот метод, который вызывается по эвенту exchangeOnUpdateElement:

public function setCustomName($e) {
if($e->getMode() == "before") {
$hierarchy = umiHierarchy::getInstance();
$element = $e->getRef('element');
if (!$element instanceof umiHierarchyElement || $element->getMethod() != 'object') return false;
$source_id = $e->getParam('source_id');

$GLOBALS["custom_name"] = $element->getName();
}

if($e->getMode() == "after") {
$hierarchy = umiHierarchy::getInstance();
$element = $e->getRef('element');
if (!$element instanceof umiHierarchyElement || $element->getMethod() != 'object') return false;
$source_id = $e->getParam('source_id');

$element->setName($GLOBALS["custom_name"]);
}
}

Не уверен что хорошо использовать глобальные переменные для этого, но работает исправно и я не стал терять время на поиск другого решения.

А еще есть такой метод:

public function getNewIdRelation($old_id){
//if(!$old_id) return;
$relation = umiImportRelations::getInstance();
$source_id = $relation->getSourceId('commerceML2');
$old_id = htmlspecialchars($old_id);       
if($old_id && $source_id){                 
return $element_id = $relation->getNewIdRelation($source_id, $old_id);

}

Он возвращает id элемента каталога или раздела, если такой есть в системе. Методу передаем id товара или раздела из 1С.
Использовать этот метод можно прямо в /xsl/import/custom/commerceML2.xsl Но с этим методом у меня при импорте товаров (3600шт) сервер возвращает ошибку после 1200 импортированных объектов. Не знаю в чем соль - забил.

Если кто разберется, буду признателен за ответный листинг кода :)
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 22 Ноября 2011, 09:49:18
admin, rauschen, спасибо за ответы! Я немного изменил и доработал функцию, которую предложил admin. Аналогично добавил переопределение имени и шаблона для разделов каталога (было только для объектов каталога). Все работает нормально. Таким образом, названия остаются прежними, и страницам назначаются нужные шаблоны в зависимости от их типа (раздел или объект каталога).

Попытки реализовать это путем редактирования файла /xsl/import/commerceML2.xsl результата не дают.

Загвоздка в том, что у меня для разных разделов каталога заданы разные шаблоны. В связи с этим возникает вопрос - можно ли как-то получить ID шаблона, который был у страницы изначально в if($e->getMode() == "before") {} и потом в if($e->getMode() == "after") {} присвоить этот шаблон уже известным способом $element->setTplId(ID шаблона). Или, может быть, есть еще какие-нибудь варианты? В любом случае, нужно, чтобы после ручной смены шаблона страницы раздела каталога при обмене шаблон оставался таким же.

И, раз уж все делается через event, можно ли  в данной функции назначить всем объектам каталога тип данных "Объект каталога"?
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 22 Ноября 2011, 11:08:49
Нашел ответ на свой вопрос:

Цитата: http://api.umi-cms.ru/
getTplId() — Получить id шаблона дизайна (класс template), по которому отображается страница.

С получением нужных данных проблем нет, установить шаблон дизайна можно посредством setTplId(). А вот как быть с получением и установкой типа данных, пока не совсем понятно.

Более подробно можно ознакомиться здесь (http://api.umi-cms.ru/).

Попробую доделать функцию с учетом этого и протестировать, о результатах отпишу позже.
Название: Re:Синхронизация с 1С
Отправлено: rauschen от 23 Ноября 2011, 00:49:27
Alexey, а получилось у тебя избавится от пустого раздела в корне сайта? Теперь для меня это актуально)

Я тут еще один сайт подключаю и в 1С дебильная структура у номенклатуры - большая вложенность :)
Соответственно все разделы которые выше нужного мне тоже выгружаются, а они мне не нужны - в них нет товаров.
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 23 Ноября 2011, 07:06:55
rauschen, пока нет. У меня тоже большая вложенность. Разбираюсь с этим.

P.S. Проверь ЛС.
Название: Re:Синхронизация с 1С
Отправлено: admin от 23 Ноября 2011, 07:53:43
при выгрузке пробовали указать фильтр какие разделы номенклатуры выгружать? или это не поможет?
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 23 Ноября 2011, 08:35:55
У меня указано, вплоть до конечных папок и отдельных позиций, но это не помогает. При каждом обмене по-прежнему в корне сайта создается пустая страница "Основной каталог товаров". Папки, которые мне не нужны, не выгружаются, т.к.:

1. В фильтре по номенклатуре указаны папки, содержащие только нужные товары.
2. Если в какой-либо папке мне нужны не все товары, выделяю их и добавляю отдельно в общий список.

rauschen, попробуй так. Это, разумеется, повлечет дополнительные временные затраты, но зато ненужные папки создаваться не будут. Еще один минус такого подхода в том, что, при добавлении товаров в папки, в которых элементы указывались выборочно, на сайт они автоматически не выгрузятся (т.е. предварительно их придется добавить в фильтре). Кроме этого, в добавленных в общий список папках и элементах довольно трудно ориентироваться, и при достаточно большом количестве товаров это доставляет определенные неудобства. Переместить или отсортировать элементы в списке фильтра не представляется возможным.

Возможно, существует другой, более удобный способ установки фильтров обмена. Тем не менее, те варианты, о которых я думал, не работают, например:

1. Установка сразу двух фильтров по номенклатуре - в одном содержатся папки, в другом - товары, которые не нужны. Можно было бы задать и несколько фильтров, и более гибко настроить, но созданные дополнительно фильтры (помимо имеющихся по умолчанию) автоматически удаляются после сохранения изменений.
2. Задание фильтра с сохранением папочной структуры - т.е. добавляем папки, но внутри них убираем элементы, которые не нужны. Так сделать тоже не представляется возможным.

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

Если кто-то сталкивался с такими проблемами, посоветуйте что-нибудь.
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 23 Ноября 2011, 08:57:20
У меня еще одна проблема. Дорабатываю event. Разумеется, приходится править файл /classes/modules/exchange/__custom.php  Работоспособность не проверишь, пока не запустишь обмен в 1C. Запускаешь обмен, выдается ошибка: "Соединение с сайтом не установлено. Выгрузка товаров отменена. Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль." Все настройки заданы верно, синтаксис файла вроде бы в порядке. Или иногда бывает ошибка "Получен пустой ответ сервера", но это, как я понимаю, уже явно свидетельствует о наличии ошибок в файле.

Странность в том, что при откате на предыдущее рабочее состояние или вообще при возврате /classes/modules/exchange/__custom.php в дефолтное состояние, выдается та же самая ошибка. Перезагрузка 1С не помогает, и лишь через некоторое время ошибка пропадает.

Подскажите, пожалуйста, что это может быть.

P.S. admin, проверь ЛС.
Название: Re:Синхронизация с 1С
Отправлено: rauschen от 23 Ноября 2011, 10:58:42
при выгрузке пробовали указать фильтр какие разделы номенклатуры выгружать? или это не поможет?
В 1С выбираем именно вложенный раздел, иначе будет выгружаться вся целиком номенклатура. Но все равно верхние разделы ее выгружаются.
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 19 Декабря 2011, 10:49:50
Проблема с разделом "Основной каталог товаров", создаваемым при каждом обмене данными с 1C в корне структуры сайта, по-прежнему актуальна. Подскажите, пожалуйста, как справиться с данной проблемой.
Название: Re:Синхронизация с 1С
Отправлено: admin от 19 Декабря 2011, 11:09:58
Цитировать
Проблема с разделом "Основной каталог товаров", создаваемым при каждом обмене данными с 1C в корне структуры сайта, по-прежнему актуальна. Подскажите, пожалуйста, как справиться с данной проблемой.
обычно его просто выключенным оставляют в системе
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 19 Декабря 2011, 11:15:43
Он и так выключен и особо не мешает. Если бы он создавался только один раз... А так, сколько было обменов - столько и разделов "Основной каталог товаров" в корне сайта. То есть, если их не удалять, их число неуклонно растет. Мало того, что захламляется структура, так еще и ID расходуются под них.
Название: Re:Синхронизация с 1С
Отправлено: admin от 19 Декабря 2011, 11:39:02
а вот так не должно быть. Какая версия? какие-нибудь странности или модификации файла импорта есть?
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 19 Декабря 2011, 12:15:55
Версия 2.8.4.

Изменения производились в файле /xsl/import/custom/commerceML2.xsl. Добавил вот это (http://wiki.umisoft.ru/%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%95%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D1%8B_%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BD%D0%BE%D0%BC%D0%B5%D0%BD%D0%BA%D0%BB%D0%B0%D1%82%D1%83%D1%80%D0%BD%D0%BE%D0%B9_%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D0%B8).

Плюс к этому, добавил и немного доработал предложенные выше тобой обработчик и функцию в /classes/module/exchange (__custom.php и custom_events.php).

Файле /xsl/import/commerceML2.xsl тоже изменял, но, так как эти изменения эффекта не дали, вернул его в исходное состояние.
Название: Re:Синхронизация с 1С
Отправлено: admin от 19 Декабря 2011, 12:32:40
я бы откатил все на дефолт и попробовал импортнуть.
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 19 Декабря 2011, 13:27:04
Я вроде бы так уже пробовал, все сбрасывал, как было по умолчанию и делал импорт. Дубликаты по-прежнему создавались. Завтра на работе попробую еще раз, но мне кажется, проблема не в этом. Тем не менее, спасибо, за советы.
Название: Re:Синхронизация с 1С
Отправлено: admin от 21 Декабря 2011, 20:13:44
попробовали?
Название: Re:Синхронизация с 1С
Отправлено: Alexey от 30 Декабря 2011, 09:26:37
Разобрался с данными проблемами.

Цитировать
Проблема с разделом "Основной каталог товаров", создаваемым при каждом обмене данными с 1C в корне структуры сайта, по-прежнему актуальна.

Задал в настройках задания по обмену данными соответствие групп классификатора каталога на сайте:

(http://s2.ipicture.ru/uploads/20111230/ILSA0pMM.jpg)

Таким образом, при обмене данными с 1С в корне сайта создастся пустой каталог товаров с названием "Основной каталог товаров, нужно просто его оставить скрытым. Повторно он больше не создается.

Загвоздка в том, что такой каталог будет создаваться отдельно на каждое задание по обмену. У меня на каждую группу товаров настроен отдельный обмен (всего их 6), соответственно в корне сайта - 6 пустых каталогов. Далее дубликаты не создаются.

Необходимость создания отдельного обмена на каждую группу товаров возникла из-за следующих причин:
1. Большое количество товаров в номенклатуре.
2. Сложности в организации и структуре номенклатуры.
3. Большое количество ненужных позиций.
Соответственно, надо добавлять много исключений в отбор. Если бы я добавил все в одну кучу, было бы крайне тяжело ориентироваться, и обмен бы проходил долго, а так есть возможность обновлять группы товаров по очереди, и работать с ними намного удобнее.

Если кто-то может предложить более элегантное решение - буду очень рад. А пока только так.

Цитировать
У меня еще одна проблема. Дорабатываю event. Разумеется, приходится править файл /classes/modules/exchange/__custom.php  Работоспособность не проверишь, пока не запустишь обмен в 1C. Запускаешь обмен, выдается ошибка: "Соединение с сайтом не установлено. Выгрузка товаров отменена. Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль." Все настройки заданы верно, синтаксис файла вроде бы в порядке. Или иногда бывает ошибка "Получен пустой ответ сервера", но это, как я понимаю, уже явно свидетельствует о наличии ошибок в файле.

Странность в том, что при откате на предыдущее рабочее состояние или вообще при возврате /classes/modules/exchange/__custom.php в дефолтное состояние, выдается та же самая ошибка. Перезагрузка 1С не помогает, и лишь через некоторое время ошибка пропадает.

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