Имя: Пароль:
1C
1C 7.7
v7: Наименование подчиненного справочника не печатается..
,
0 AnnaSon
 
25.09.17
03:15
ТИС 9.2

Справочник "Комплектация" подчинен справочнику "Номенклатура". В справочнике есть три реквизита: Наименование(Справочник.Номенклатура), Количество(Число), ЦеновойКоэфф(Число).

//**************
Процедура Сформировать()
    
    спрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
    спрКомплектация = СоздатьОбъект("Справочник.Комплектация");
    
    текЭлемент = спрНоменклатура.НайтиПоКоду(Ввод_код, 0);
    спрКомплектация.ИспользоватьВладельца(спрНоменклатура.ТекущийЭлемент());
    
    спрКомплектация.ВыбратьЭлементы();    
        Пока спрКомплектация.ПолучитьЭлемент() = 1  Цикл             
            Сообщить(спрКомплектация.ПолучитьАтрибут("Наименование"));
            Сообщить(спрКомплектация.ПолучитьАтрибут("Количество"));
            Сообщить(спрКомплектация.ПолучитьАтрибут("ЦеновойКоэфф"));    
        КонецЦикла;
КонецПроцедуры
//********************

Атрибут "наименование" выдает пустую строку. Что не так?
1 Zamestas
 
25.09.17
03:20
(0) Какба:
текЭлемент = спрНоменклатура.НайтиПоКоду(Ввод_код, 0);
спрКомплектация.ИспользоватьВладельца(спрНоменклатура.ТекущийЭлемент());
Не?
2 Злопчинский
 
25.09.17
03:29
смотри метаданные - в спр.Комплектация реквизит "наименование" - просто отсутствует, а ссылка на номенклатуру не в реквизите "наименование", а в другом
3 Злопчинский
 
25.09.17
03:31
ну и при поиске по коду быть уверенным что ВСЕГДА будет найдено и не отрабатывать ветку "не найдено" - бяка
4 Злопчинский
 
25.09.17
03:33
Сообщить(спрКомплектация.ПолучитьАтрибут("Наименование")); //реквизит длина=0
Сообщить(спрКомплектация.ПолучитьАтрибут("Номенклатура")); //так правильно, ссылка на номенклатуру, которая есть комплектующая
5 AnnaSon
 
25.09.17
04:01
(3) Это учебный вариант, чтобы понять как извлечь название. Смысла не отрабатывать ветку "не найдено", нет, так как "Ввод_код" по умолчанию стоит на номенклатуре у которой комплектация прописана.
(4) - точно. Неверно реквизит написан
*****
Может тогда сможете помочь еще с одной проблемой? (Из-за нее постоянные неудобства)
При копировании русские буквы превращаются в "??????". Язык ввода стоит русский. При этом скопируешь первый-второй раз получаешь при вставке "??????", на третий русские буквы отображаются корректно. При том что язык ввода остается неизменным.
6 Злопчинский
 
25.09.17
04:06
Перед тем как взять в карман - раскладку клавиатуры поставить в русский
7 AnnaSon
 
25.09.17
04:09
(6) в том то и дело - в трее она подсвечена как русская.
8 AnnaSon
 
27.09.17
03:37
(6) Интересное дело. При выключении LiteManager (программы удаленного администрирования) проблема с "??????" пропадает.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший