Имя: Пароль:
1C
1С v8
Com-соединение не получается получить перечисление
0 web_profiler
 
12.05.13
21:39
Осуществляю перенос справочников из 7.7 в 8. В 7.7 есть реквизит-перечисление, так вот его немогу никак  получить в восьмерке. ПолучитьАтрибутпробывал, также пробывал через Идентификатор() - нет результата.
Подскажите, пожалуйста, где ошибся.

app = Новый COMОбъект("V77.Application");
   иниц = "";
   отк = app.Initialize(app.RMTrade, иниц, "");
           СпрБлюда7 = app.CreateObject("Справочник.Блюда");
           СпрБлюда7.ВыбратьЭлементы();
           Пока СпрБлюда7.ПолучитьЭлемент() = 1 Цикл

   СписокТМЦ = app.CreateObject("СписокЗначений"); // список ТМЦ для запроса

   СписокСкладов = app.CreateObject("СписокЗначений");

   //Калькуляция.УдалитьСТроки();

   //Калькуляция = app.CreateObject("ТаблицаЗначений");

   Калькуляция = Новый ТаблицаЗначений;
   Калькуляция.Колонки.Добавить("Владелец",,"Владелец");
   Калькуляция.Колонки.Добавить("КодВладельца",,"КодВладельца");
   Калькуляция.Колонки.Добавить("Продукт",,"Продукт");
   Калькуляция.Колонки.Добавить("ВидПродукта",,"ВидПродукта");
   Калькуляция.Колонки.Добавить("КодПродукта",,"КодПродукта");
   Калькуляция.Колонки.Добавить("Брутто",,"Брутто");
   Калькуляция.Колонки.Добавить("Нетто",,"Нетто");
   _состав = app.CreateObject("Справочник.Калькуляции");
   _состав.ИспользоватьДату(ТекущаяДата());
   _состав.ИспользоватьВладельца(СпрБлюда7.ТекущийЭлемент());
   _состав.ВыбратьЭлементы();
   Пока _состав.ПолучитьЭлемент() = 1 Цикл
       Если (_состав.ПометкаУдаления() = 0) и (ЗначениеЗаполнено(_состав.продукт.наименование)) Тогда
           СтрКалькуляция = Калькуляция.Добавить();
           СтрКалькуляция.Владелец = СпрБлюда7.Наименование;
           СтрКалькуляция.КодВладельца = СпрБлюда7.Код;
           СтрКалькуляция.Продукт = _состав.Продукт.Наименование;
           СтрКалькуляция.КодПродукта = _состав.Продукт.Код;
Ном = app.Перечисление.СтатьяКалькуляции.Индекс(_состав.Вид);        
//Имя = COM_ОбъектБД.Метаданные().Перечисления.ВидПеречисления.EnumValues.Get(Ном).Name;            

           СтрКалькуляция.Брутто = _состав.Количество;
           СтрКалькуляция.Нетто = _состав.Нетто;
       КонецЕсли;
   КонецЦикла;
1 1Сергей
 
13.05.13
07:39
нифига не понял. Какой реквизит перечисление?
2 Mitriy
 
13.05.13
07:52