14 сент. 2018 г.

Дополнительная обработка в безопасном режиме

При попытке сделать дополнительную обработку и добавить её в конфигруацию: "Бухгалтерия для украины, редакция 2.0", версия 2.0.11.1 или "Бухгалтерія для України, редакція 2.0", версія 2.0.11.1 - столкнулся с ошибками при добавлении в справочник дополнительных обработок в режиме 1С:Предприятие.

Вот так выглядит моя процедура регистрации:

Чтобы исправить пришлось снять конфигурацию с поддержки и в двух местах внести изменения. Не считаю этот путь правильным, но он рабочий, поэтому кому интересно какие конкретно изменения я внес - сообщите мне любым доступным способом свои контакты, вышлю эту информацию.

В результате сделал так:
1. В исправленной конфигурации загрузил обработку в справочник "Дополнительные отчеты и обработки".
2. Используя обработку ВыгрузкаЗагрузкаДанныхXML.epf выгрузил элемент справочника "Дополнительные отчеты и обработки" в файл.
3. Запустил рабочую базу с оригинальной конфигурацией поставщика в режиме толстый клинет (обычное приложение).
4. Используя обработку ВыгрузкаЗагрузкаДанныхXML.epf загрузил данные из файла, полученного на шаге 2. (ВНИМАНИЕ! В справочнике ИдентификаторыОбъектовМетаданных появился дубль. Моя обработка работает с документом СчетНаОплатуПокупателю. Система понимает с каким объектом метаданных работает дополнительная обработка через элемент справочника ИдентификаторыОбъектовМетаданных. Ссылка на этот справочник есть в элементе справочника "Дополнительные отчеты и обработки", который я переношу через файл, поэтому он также переносится, а в базе-приемнике уже есть такой элемент, поэтому получается дубль. ВНИМАНИЕ! Дубль создается не всегда, был случай, когда он не создался и шаг 5. не понадобился).
5. Используя доработанную обработку "Поиск и замена дублирующихся элементов", ищу дубли по объекту метаданных Справочник.ИдентификаторыОбъектовМетаданных. Будет найдено много дублей, но я ищу тот объект метаданных, к которому подключается моя дополнительная обработка. В моем случае это Документ.СчетНаОплатуПокупателю. Копирую наименование, заполняю отбор Наименование = [то что я скопировал], выполняю поиск дублей повторно. Получаю в таблице дублей только те метаданные, которые я точно знаю что задублировались в результате переноса данных через файл. В настройках обработки ставлю флажки "Выполнять в транзакции", "Отключать контроль записи".
(ВНИМАНИЕ! Внес изменение  в эту обработку, при удалении после замены анализирую "Отключать контроль записи", если да, тогда перед удалением делаю Объект.ОбменДанными.Загрузка = Истина. Если этого не сделать то не получиться удалить задублированный элемент справочника, поскольку перед удалением выполняется проверка на то чтоб элемент был помечен на удаление, а прав помечать на удаление интерактивно нет). На закладке "Результаты поиска" нажимаю "Автоопределение правильных", затем "Автозамена", затем "Да". Готово.




Комментариев нет:

Отправить комментарий