Имя: Пароль:
1C
1С v8
COM соединение ИспользоватьВладельца
,
0 Janna26
 
14.05.12
10:41
доброе время суток.
Процедура СоздатьХарактеристикиНоменклатуры(Ссылка, Массив)
   СпрХар = V7.CreateObject("Справочник.РазмерыТовара");    
   ТаблицаХарактеристик = новый ТаблицаЗначений;
   ТаблицаХарактеристик.Колонки.Добавить("Характеристика");
   ТаблицаХарактеристик.Колонки.Добавить("Номенклатура82");
   Стр = Массив.Найти(Ссылка.Артикул,"Артикул");
   Ном77.НайтиПоКоду(Стр.Код77);
   Номен77 =  Ном77.ТекущийЭлемент();
   Сообщить(Номен77.Наименование);
   СпрХар.ИспользоватьВладельца(Номен77);
   Пока СпрХар.ПолучитьЭлемент(1)= 1 Цикл
   СтрХар = ТаблицаХарактеристик.Добавить();
   СтрХар.Характеристика = СпрХар.Наименование;
   СТрХар.Номенклатура82 = Ссылка;
   КонецЦикла;    
   
   а=0;    
КонецПроцедуры

Есть вот такой код. Не могу через ком соединение получить подчененый справочник. Как передать ссылку в метод ИспользоватьВладельца?
1 alkov
 
14.05.12
10:47
Что такое Ном77? Что выводится в окно сообщений? В чём ошибка, в конце концов?
2 Vesa
 
14.05.12
10:51
(0) Ссылку между базами не передашь. Только примитивные типы. Получай ссылку на стороне семерочной базы.
3 palpetrovich
 
14.05.12
10:59
(2) а где там передача ссылки?
что такое Ном77 ?
(0) проверяй находит-ли по коду:
Если Ном77.НайтиПоКоду(Стр.Код77, ФлагПоиска) = 1 Тогда
4 Janna26
 
14.05.12
11:18
(2) у меня есть ком объект. Ном77 это глобальная переменаая. А как мне тогда на стороне ссылку получить?
5 Janna26
 
14.05.12
11:18
(3) Номенклатуру я нахожу. А вот использовать ее не могу мне надо подчиненный справочник выбрать. Использовать эту номенклатуру как владельца.
6 Janna26
 
14.05.12
11:21
(3)  СпрХар.ИспользоватьВладельца(Номен77); вот тут передача ссылки в 7.7 для поиска по владельцу.
7 Janna26
 
14.05.12
11:30
Спасибо разобралась.

   СпрХар = V7.CreateObject("Справочник.РазмерыТовара");    
   ТаблицаХарактеристик = новый ТаблицаЗначений;
   ТаблицаХарактеристик.Колонки.Добавить("Характеристика");
   ТаблицаХарактеристик.Колонки.Добавить("Номенклатура82");
   Стр = Массив.Найти(Ссылка.Артикул,"Артикул");
   Ном77.НайтиПоКоду(Стр.Код77);
   Номен77 =  Ном77.ТекущийЭлемент();
   СпрХар.ИспользоватьВладельца(Номен77.ТекущийЭлемент());
   СпрХар.ВыбратьЭлементы();
   Пока СпрХар.ПолучитьЭлемент(1)= 1 Цикл
   СтрХар = ТаблицаХарактеристик.Добавить();
   СтрХар.Характеристика = СпрХар.Наименование;
   СТрХар.Номенклатура82 = Ссылка;
   КонецЦикла;    
вот так нужно было сделать.
8 hhhh
 
14.05.12
11:30
(6) по идее нужно

СпрХар.ИспользоватьВладельца(Ном77);

но мы не понимаем, что такое Ном77 у тебя.
9 Janna26
 
14.05.12
11:49
(8) Ном77 =V7.CreateObject("Справочник.Номенклатура");
10 palpetrovich
 
14.05.12
11:52
вопрос про "Ном77" глобальная каой базы? надо как в (9)
11 palpetrovich
 
14.05.12
11:54
+(10) кста, в (7) - некая чушь образовлась :)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший