После обновления платформы на версию 8.3.22, стала периодически (примерно раз в 2 дня) возникать ошибка при запуске обработки Диадок "Неизвестное имя формы" или Сеанс отсутствует или удален, а если конфигурация запускается в режиме совместимости платформы 8.2, то ошибка может звучать так: выбранный файл не является внешней обработкой, либо данная обработка не предназначена для запуска в этой конфигурации. Причем особенность при запуске в режиме совместимости платформы 8.2, ошибка возникает только если обработка добавлена в справочник внешних обработок, если же запускать просто как внешний файл, то ошибка не возникает.
При детальном изучении ошибки стало понятно, что она возникает в тот момент, когда пытается открыть одну из форм обработки или открыть двоичный файл обработки, содержащийся в макете, после сохранения ее из Хранилища во временные файлы. В момент сохранения формы или обработки из Хранилища во временные файлы записывается кэш 1С во "всеми нами любимую папку" "C:\Program Files\1cv8\srvinfo\reg_1541\snccntxdcXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", а еще точнее в одну из категорий структуры категорий:
По какому принципу создаются эти категории, мне не известно, поисковики выдают лишь поверхностную информацию, но удалить эти категории при запущенной службе Агента 1С нельзя. Ошибка возникает в момент попытки создания отсутствующей категории, причем возникает так, как будто бы у пользователя, под которым запущена служба 1С, пропали права на создание категорий, хотя, интерактивно категории под этим пользователем создаются.
В интернете "все как один" говорят, что нужно очистить кэш путем остановки службы удаления папки snccntxdcXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX и запуска службы.
Но что делать, если эта ошибка возникает достаточно часто и перезапускать службу крайне нежелательно?
Вариант чистить кэш каждую ночь тоже не подходит, потому что ошибка начала возникать по несколько раз в день.
Выход не скажу, что идеальный, скорее это какое то временное решение до выяснения истинных причин данной ошибки.
Выход заключается в том, чтобы в папке snccntxdcXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX создавать дерево категорий по алгоритму полученным эмпирическим путем, проверяем каждые 10-15 минут на наличие категорий и создаем недостающие.
Скрипт приложил.