Имя: Пароль:
1C
1С v8
v8: как получить значение перечисления из Com соединения
0 manti
 
31.01.13
14:48
Коннектор = Новый COMОбъект("V82.COMConnector");
   Попытка        
       База = Коннектор.Connect("Srvr="................");
       Сообщить("Соединение с базой успешно установлено");
   Исключение
       Сообщить("Произошла ошибка подключения к базе"+ОписаниеОшибки());
       Возврат;
   КонецПопытки;

СпрКонтраг = База.Справочники.Контрагенты;
Выборка = СпрКонтраг.ВыбратьИерархически();
Пока Выборка.Следующий() Цикл
НовЭлСпр = Выборка.ЮрФизЛицо;
КонецЦикла

В отладчике нет ЮрФизЛица, как получить можно?
1 aka AMIGO
 
31.01.13
14:49
..Наименование = это строка..
2 aka AMIGO
 
31.01.13
14:51
Выборка.ЮрФизЛицо.Наименование
и присвой какой-нибудь переменной с "этой стороны"
3 manti
 
31.01.13
14:54
(2) в отладчике Выборка.ЮрФизЛицо.Наименование - дает полне объекта не обнаружено
4 aka AMIGO
 
31.01.13
14:55
(3) а просто Выборка.ЮрФизЛицо что дает?
и при нажатии на (+) в списке в отладчике есть "Наименование" ?
5 Wobland
 
31.01.13
14:56
(4) там - перечисление, тут - тупо нет перечисления
6 aka AMIGO
 
31.01.13
14:57
(5) эх.. точно..
7 Wobland
 
31.01.13
14:57
надо заставить тот конец возвращать строку, к примеру
8 aka AMIGO
 
31.01.13
14:59
тогда, поскольку Выборка=справочник, то Выборка.Наименование
должно прокатить..
жаль, 8-ки под руками нет..
9 Wobland
 
31.01.13
15:00
(8) "ака Амиго" - это юрлицо или физлицо? ;)
10 aka AMIGO
 
31.01.13
15:00
(9) опять ты прав :)
11 aka AMIGO
 
31.01.13
15:01
+10 у перечислений есть свойства, с реквизитами.. мож так?
12 manti
 
31.01.13
15:07
В отладчике у ЮрФизЛица есть только IsEmpty и Metadata
13 aka AMIGO
 
31.01.13
15:19
(12) поищи тут:
http://help1c.com/help/list.html
14 aka AMIGO
 
31.01.13
15:22
например, тут http://help1c.com/help/view/7666.html
15 aka AMIGO
 
31.01.13
15:44
ИмяПеречисленияCOM= СсылкаНаПеречислениеCOM.Метаданные().Имя;
16 wowik
 
31.01.13
15:55
17 manti
 
31.01.13
16:13
Ном = База.Перечисления.ЮрФизЛицо.Индекс(Выборка.ЮрФизЛицо);
           Имя = База.Метаданные().Перечисления.ЮрФизЛицо.EnumValues.Get(Ном).Name;

НовЭлСпр.ЮрФизЛицо = Перечисления.ЮрФизЛицо.Получить(ном);

только как вот теперь в своей базе куда переношу обратиться к перечислению, зная его имя??
18 Wobland
 
31.01.13
16:14
Перечисления[строка]
19 manti
 
31.01.13
16:31
Для Каждого метпер Из Метаданные.Перечисления.ЮрФизЛицо.ЗначенияПеречисления Цикл
               Если метпер.Имя = Имя   тогда
               НовЭлСпр.ЮрФизЛицо = Перечисления.ЮрФизЛицо[метпер.Имя];    
               КонецЕсли;    
           КонецЦикла;

вот так он тянет только значение перечисления НО не его имя((
20 НЕА123
 
31.01.13
16:36
21 manti
 
31.01.13
16:44
(14), (20)спасиб, разберусь
еще тяну из com данные из рег сведеий контактная инфа, но что то отбор не могу установить. Ругается на него

РегСведКонтактИнфа = База.РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();

пер = РегСведКонтактИнфа.Отбор.Объект.Выборка.Наименование;
           
           Пока пер.Следующий() Цикл
               //Выборка.ссылка.наименование
               //создаем новые записи в нашей конфе
               НаборКонтактнойИнформации = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
               НаборКонтактнойИнформации.Объект = Выборка.Наименование;
               //НаборКонтактнойИнформации.Объект.Использование = Истина;
               
               НаборКонтактнойИнформации.Тип            = пер.Тип;
               НаборКонтактнойИнформации.Вид            = пер.Вид;
               НаборКонтактнойИнформации.Представление = пер.Представление;
               НаборКонтактнойИнформации.Записать();
           КонецЦикла;
22 zladenuw
 
31.01.13
16:52
(21) я бы в источнике это все получал. а в приемник ТЗ и уже по нему загружать.
23 zladenuw
 
31.01.13
16:54
(21) что бы установить отбор. надо ссылка. а ты наименование передаешь.
24 zladenuw
 
31.01.13
16:59
(21)

Запрос=База.NewObject("Запрос");
   запрос.текст ="ВЫБРАТЬ
|    КонтактнаяИнформация.Объект,
|    КонтактнаяИнформация.Тип,
|    КонтактнаяИнформация.Вид.Наименование КАК Вид,
|    КонтактнаяИнформация.Представление
|ИЗ
|    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
|        ПО КонтактнаяИнформация.Объект = Контрагенты.Ссылка
|ГДЕ
|    Контрагенты.Наименование = &Наименование";
25 hhhh
 
31.01.13
17:05
(0) на самом деле вот эта строчка бредовая

Выборка = СпрКонтраг.ВыбратьИерархически();

то есть ты у группы смотришь ЮрФизЛицо, а не у контрагента.
26 manti
 
31.01.13
18:03
нет это просто кусок кода я дал как пример, так то я все это бело обрабатываю))
Основная теорема систематики: Новые системы плодят новые проблемы.