Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

COMОбъект. Ошибка при обращении.

COMОбъект. Ошибка при обращении.
Я
   SantaIsAbsent
 
04.03.21 - 22:30
Доброго дня.
Возникла проблема при работе с COMОбъектом. Вот кусок кода:
BASE64_TYPE = 0;
    DER_TYPE = 1;
    REGISTRY_STORE = 0;
    PLAIN_DATA = 0;
    DT_SIGNED_DATA = 2;
    ADD_SIGN_WIZARD_TYPE = 2;
    ALL_OK = 0;
    SIGN_DATA_FILE = "C:\tmp1\1.sigm";
    OUTPUT_DATA_FILE = "C:\tmp1\1.sigm";
    Попытка
        objProfileStore = Новый COMОбъект("DigtCrypto.ProfileStore");
        objProfileStore.Open(REGISTRY_STORE);
        objProfiles = objProfileStore.Store;
        Если objProfiles.Count > 0 Тогда
            Для Счетчик = 1 По objProfiles.Count - 1 Цикл
                Сообщить(objProfiles.Item(Счетчик).Name);
                Если objProfiles.Item(Счетчик).Name = "Счет_Руководитель_прикрепленная" Тогда
                    objProfile = objProfiles.Item(Счетчик);
                    Прервать;
                Иначе
                    objProfile = objProfiles.DefaultProfile;
                КонецЕсли;
            КонецЦикла;
        Иначе
            objProfile = Новый COMОбъект("DigtCrypto.Profile");
        КонецЕсли;  
        oPKCS7Message = Новый COMОбъект("DigtCrypto.PKCS7Message");
        oPKCS7Message.Load(2, SIGN_DATA_FILE, "");
        oSigners = oPKCS7Message.Signers;
        Если oSigners.Count > 0 Тогда
            oPKCS7Message.Profile = objProfile;
            objProfile.CollectData(ADD_SIGN_WIZARD_TYPE);
            CheckResult = -10;
            CheckResult = objProfile.CheckData(ADD_SIGN_WIZARD_TYPE);
            Если CheckResult = ALL_OK Тогда
                oPKCS7Message.Sign();
                oPKCS7Message.Save(DT_SIGNED_DATA, BASE64_TYPE, OUTPUT_DATA_FILE);
                oPKCS7Message = NULL;
            Иначе
                Сообщить("Профиль имеет некорректные параметры.");
            КонецЕсли;
        Иначе
            
        КонецЕсли;
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;

oPKCS7Message содержит в себе как обычные типы данных, так и COMОбъект. Вот возникает проблема, что "вложенные" COMОбъекты не удается получить. НО!!! Если в отладке выполнить "Вычислить выражение..." oPKCS7Message, то вложенные COMОбъекты удается получить и обратиться к ним. В чем косык понять не могу.
Помогите люди добрые!!!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.