Показать сообщение отдельно
Старый 14.03.2008, 12:48   #1  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
работа 1С из Аксапты через COM
Вот простенький джобик:
X++:
static void Job(Args _args)
{
    Com connect;
    Com base;
    Com ref,ref1;
    str tmp;
    ;
    connect = new COM("V81.COMConnector");
    base =  connect.Connect("bla-bla-bla");
    ref = base.NewObject("СправочникМенеджер.Контрагенты");
    ref1 = ref.FindByCode("00000153");
    tmp = ref1.Description();
    print(tmp);
    pause;
}
Так все работает.
Есть несколько вопросов:
1. Description у справочника Конрагентов это не метод, а поле. Если написать без скобок, то аксапта ругается. Работает конечно, но интересно можно как-нибудь все таки по правильному написать?
2. С системными полями в 1С все вроде бы получается - у них есть англоязычные аналоги. А вот как быть не с системными? Если я напишу например
X++:
tmp = ref1.();
то аксапта естественно ругается на русские буквы. В 1С v7.7 бы метод GetAttrib(ИмяРеквизита). В 1С v8.1 я такого метода не нашел. Вот собственно и вопрос: каким образом из аксапты можно достучаться до полей справочников, у которых нет англоязычного названия? Вопрос наверно больше к знатокам 1С, но может кто сталкивался, задачка-то типовая...

Последний раз редактировалось _scorp_; 14.03.2008 в 12:50. Причина: опечатка