Не получается подключить обработку

1. militisa 28.11.22 12:33 Сейчас в теме
Добрый день, форумчане. Помогите, пожалуйста с подключением обработки как внешней. Есть база Бухгалтерия БП 2.1 Локализация для Беларуси. Понадобилось встроенную обработку Универсальный обмен данными в формате XML подключить в эту базу как внешнюю (пожалуйста, не смейтесь, так сказано было сделать). Но оказалось все не просто, потому что не пропускает система. Пишет ошибку. При этом в коде подключения все, как и в других обработках... Только-то там есть в модуле объекта этой обработки много кода и весь предназначен для работы на сервере, или толстом клиенте или во внешнем соединении... просто подставить условие работы в тонком клиенте не получится. Что мне может помочь, подскажите, пожалуйста. Как адаптировать эту обработку. Через функции для технического специалиста "открывается без проблем"
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. RustamZz 28.11.22 12:55 Сейчас в теме
(1) Ругается на безопасный режим в вашем сеансе. Возможно у вас нет нужных полномочий в этой базе.
4. militisa 28.11.22 13:06 Сейчас в теме
(3)Полномочия есть... я проверила... Другие обработки, самостоятельно написанные, подключаю
6. RustamZz 28.11.22 13:26 Сейчас в теме
(4)
Прикрепленные файлы:
2. EvgeniyOlxovskiy 65 28.11.22 12:51 Сейчас в теме
Может проблема в версиях программ? У вас в параметрах регистрации в СведеньяОВнешнейОбработке указана версия программы как я понимаю. Попробуйте не заполнять это поле. Просто ().
5. militisa 28.11.22 13:11 Сейчас в теме
(2)
Прикрепленные файлы:
7. RustamZz 28.11.22 13:27 Сейчас в теме
(5) Это на сервере должно быть
10. militisa 28.11.22 14:51 Сейчас в теме
(7)Но у меня во всех допобработках Функция СведенияОВнешнейОбработке() прописывается в Модуле объекта
14. RustamZz 28.11.22 15:01 Сейчас в теме
9. user5300 1063 28.11.22 13:49 Сейчас в теме
(5) Попробуй добавить разрешения:

Функция СведенияОВнешнейОбработке() Экспорт
			    
    РегистрационныеДанные = РегистрационныеДанные();
    РегистрационныеДанные.Вид                 = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ///-----------------
	
	
    // Добавим Разрешения
    МассивРазрешений = РегистрационныеДанные.Разрешения;
    //МассивРазрешений.Добавить(РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса("Excel.Application", "{00024500-0000-0000-C000-000000000046}"));
    Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима();
	МассивРазрешений.Добавить(Разрешение);

    Возврат РегистрационныеДанные;
	
КонецФункции
Показать
8. EvgeniyOlxovskiy 65 28.11.22 13:36 Сейчас в теме
У Вас написано вверху:
# Если тонкий клиент тогда
#Конец если

Скорей всего из-за этого не работает...
11. militisa 28.11.22 14:52 Сейчас в теме
(8)Эта конструкция не помогает... увы... я уже пробовала
12. militisa 28.11.22 14:54 Сейчас в теме
(11)Но может она поможет в купе с предыдущим советом... сейчас попробую
13. militisa 28.11.22 15:00 Сейчас в теме
Не нравится программе что-то...
Прикрепленные файлы:
15. glek 120 28.11.22 16:23 Сейчас в теме
(13) Если запустить в отладке с остановкой по ошибке. Что-то говорит?
16. mrSallivan 78 28.11.22 16:26 Сейчас в теме
А попробуйте данные регистрации заменить на это:

////////////////////////////////////////////////////////////­/////////////
// РЕГИСТРАЦИЯ ВНЕШНЕЙ ОБРАБОТКИ

Функция СведенияОВнешнейОбработке() Экспорт 
    
    ИмяОтчета = ЭтотОбъект.Метаданные().Имя; 
    Синоним = ЭтотОбъект.Метаданные().Синоним + " " + ЭтотОбъект.Метаданные().Комментарий; 
    Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета); 
    РегистрационныеДанные = Новый Структура();
    РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка");
    РегистрационныеДанные.Вставить("Наименование", Синоним);
    РегистрационныеДанные.Вставить("Версия", "1.0");
    РегистрационныеДанные.Вставить("БезопасныйРежим", Ложь);
    РегистрационныеДанные.Вставить("Информация", "Обработка "+Синоним);
        
    ТаблицаКоманд = ПолучитьТаблицуКоманд();

    // Добавим команду в таблицу
    ДобавитьКоманду(ТаблицаКоманд, Синоним, "1" , "ОткрытиеФормы", Истина, );
        
       // Сохраним таблицу команд в параметры регистрации обработки
    РегистрационныеДанные.Вставить("Команды", ТаблицаКоманд);

    Возврат РегистрационныеДанные;

КонецФункции

Функция ПолучитьТаблицуКоманд()
    
    // Создадим пустую таблицу команд и колонки в ней
    Команды = Новый ТаблицаЗначений;

    // Как будет выглядеть описание печатной формы для пользователя
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); 

    // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

    // Тут задается, как должна вызваться команда обработки
    // Возможные варианты:
    // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
    // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
    // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

    // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

    // Для печатной формы должен содержать строку ПечатьMXL 
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
   
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор)
    
    // Добавляем команду в таблицу команд по переданному описанию.
    // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;

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

Показать
17. WasiliyMay 8 28.11.22 16:39 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот