|  | v8: Как получить реквизит из СОМ объекта | ☑ | 
    
        | 0
    
        makfromkz   18.10.11✎ 17:27 | 
        [code]
 Процедура КнопкаВыполнитьНажатие(Кнопка)
 Путь = "C:\Базы1С82\ФМР3_82";
 V82 = Новый COMОбъект("V82.Application");
 
 Попытка
 Открытие = V82.Connect("File=""" + Путь + """;Usr=""Бухгалтер"";");
 Исключение
 Предупреждение("База данных не открыта!!!");
 Возврат;
 КонецПопытки;
 
 тзРаботники = V82.РегистрыСведений.РаботникиОрганизаций.СрезПоследних(ТекущаяДата());
 Для Каждого СтрФизлицо Из тзРаботники Цикл
 Сообщить( "" + СтрФизлицо.ФизЛицо.Код + СтрФизлицо.ФизЛицо.Наименование + " --  " + СтрФизлицо.ПричинаИзмененияСостояния);
 КонецЦикла
 КонецПроцедуры
 [/code]
 СтрФизлицо.ПричинаИзмененияСостояния - имеет тип перечисление и возвращает СОМ объект, как вернуть его текстом?
 |  | 
    
        | 1
    
        ssh2006   18.10.11✎ 17:32 | 
        COM-соединение
 String (String)
 Синтаксис:
 String(<Параметр>)
 Параметры:
 <Параметр> (обязательный)
 Тип: Произвольный. Выражение произвольного типа.
 Возвращаемое значение:
 Тип: Строка.
 Описание:
 Получает строковое представление значения произвольного типа.
 |  | 
    
        | 2
    
        Kreont   18.10.11✎ 17:35 | 
        Аналогично:
 Document.ВидОперації = СокрЛП(ОЛЕ8.Метаданные().Перечисления.ВидыОперацийРегистрацияВходящегоНалоговогоДокумента.EnumValues.Get(ОЛЕ8.Перечисления.ВидыОперацийРегистрацияВходящегоНалоговогоДокумента.Индекс(Выборка.ВидОперации)).Name);
 |  | 
    
        | 3
    
        makfromkz   18.10.11✎ 17:37 | 
        (1)вот первые три строчки выдачи :
 000000901Иманбетов Бостандык Иманусенович --  COMОбъект
 000000219Камерер Александр Александрович --  COMОбъект
 00000946 Злобин Юрий Михайлович --  COMОбъект
 |  | 
    
        | 4
    
        Reset   18.10.11✎ 17:41 | 
        (3) те ж сказали, напиши V82.String(СтрФизлицо.ПричинаИзмененияСостояния)     |  | 
    
        | 5
    
        makfromkz   18.10.11✎ 17:54 | 
        (2) СПАСИБО, РАХМЕТ, DANKE, THANKS, GRACIA, MERCI !!!
 работает :
 
 [code]
 ввв = V82.Метаданные().Перечисления.ПричиныИзмененияСостояния.ЗначенияПеречисления.Получить(V82.Перечисления.ПричиныИзмененияСостояния.Индекс(СтрФизлицо.ПричинаИзмененияСостояния)).Имя;
 [/code]
 (3) щас проверю
 |  | 
    
        | 6
    
        makfromkz   18.10.11✎ 18:07 | 
        (3) СПАСИБО, РАХМЕТ, DANKE, THANKS, GRACIA, MERCI !!! 
 
 в начале я решил V82.Строка() - но 1Ска покрыла матом, пришлось вернуться на
 V82.String(
 
 (1) сорри, твою подсказку я не вразумил, хотя она верная, потому СПАСИБО!!
 |  | 
    
        | 7
    
        makfromkz   18.10.11✎ 18:07 | 
        тема закрыта!!!     |  | 
        Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший