Имя: Пароль:
1C
1C 7.7
v7: Как получить доступ к реквизиту справочника, ссылающемуся на перечисление. ☑
0 Lamme2
 
19.01.12
✎
12:03
Платформа 7.7 (7.70.025)
Конфигурация "Хронограф:Школа 2.5 (7.70.316).

Требуется вывести реквизит "Квалификационная категория" (КвалКатегорияПед) из справочника Кад_АттестацияСотрудника, но этот реквизит ссылается на перечисление. И как вывести значение этого перечисления - не знаю. Кусок листинга:

//***** Выясняем ПЕДАГОГИЧЕСКУЮ категорию сотрудника
  Категория = "";
  СпрАттестация = СоздатьОбъект("Справочник.Кад_АттестацияСотрудника");
     СпрАттестация.ИспользоватьВладельца(Сотр.ТекущийЭлемент());
     Если СпрАттестация.ВыбратьЭлементы() = 1 Тогда
        лГодАттестации = 0;
        лКатегория = "";
        Пока СпрАттестация.ПолучитьЭлемент() = 1 Цикл
              лГодАттестации = ДатаГод(СпрАттестация.ДатаАттестации);
// В следующей строке переменной присваивается нужный мне реквизит, но он не выводится, потому что реквизит
// КвалКатегорияПед ссылается на перечисление КвалификационныеКатегории.
// Как сделать вывод значения пункта перечисления?
              лКатегория = СокрЛП(СпрАттестация.КвалКатегорияПед);
        КонецЦикла;
        Иначе Продолжить
     КонецЕсли;
        Категория = лКатегория;
  Сообщить(СокрЛП("Педагогическая категория -"+Категория));
1 SnarkHunter
 
19.01.12
✎
12:08
Он не выводится не потому, что это перечисление, а потому что сообщение размещено не пойми где... И что это за "Продолжить" вне цикла?
2 Эльниньо
 
19.01.12
✎
12:34
Жуть!
3 povar
 
19.01.12
✎
12:37
что то сегодня клоуны до пятницы дотерпеть не могут...
4 Lamme2
 
19.01.12
✎
13:42
Про "Продолжить" - цикл начинается задолго до этого фрагмента, на этот оператор можно не обращать внимания (я бы отредактировал сообщение, но, похоже, тут такой возможности нет). Какой смысл выкладывать весь листинг?

Про клоунов - если хотите позабавиться, отмочу что-нибудь и в пятницу. Это которая сразу после четверга - правильно?

А по существу есть ответы?
5 viktor_vv
 
19.01.12
✎
13:47
На последнем элементе категория незаполнена.

Проверь так.

 лКатегория = СпрАттестация.КвалКатегорияПед;
Сообщить("Педагогическая категория -" +СокрЛП(лКатегория));
        КонецЦикла;
6 SnarkHunter
 
19.01.12
✎
13:48
(4)По существу ответ дан выше...
7 SnarkHunter
 
19.01.12
✎
13:49
(+6) ... а именно: сообщение размещено не пойми где...
8 SnarkHunter
 
19.01.12
✎
13:51
>> Про "Продолжить" - цикл начинается задолго до этого фрагмента, на этот оператор можно не обращать внимания

В таком случае создание объекта в цикле, а именно:

СпрАттестация = СоздатьОбъект("Справочник.Кад_АттестацияСотрудника");

не является кошерным кодом...
9 Lamme2
 
19.01.12
✎
13:56
Спасибо! Разобрался.
Вот видите - и клоуны в моем лице иногда приходят в себя.
Главное, чтобы шаг вперед являлся следствием пинка под зад...
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс