Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 17:34

Как обратиться к перечислениям?

Автор mdn, 27 дек 2011, 10:28

0 Пользователей и 1 гость просматривают эту тему.

mdn

Подскажите, как обратиться к перечислениям с модуля документа в платформе 8.2?
при варианте -   Перечисления.(Имя перечисления).(Значение перечисления)
выдает, что  "Переменная не определена (Перечисления)  "

chuevsf

КакаяВажность = Перечисления.Важность.Высокая;
В вашем случае может быть неопределена переменная "КакаяВажность". А с обращением в перечислению должно быть всё ОК!

mdn

текст ошибки:
{Документ.СбросВредныхВеществ.Форма.ФормаДокумента.Форма(20,51)}: Переменная не определена (Перечисления)
      Если  СтрокаТаблЧасти.Вещество.КлассОпасности = <<?>>Перечисления.КлассОпасности.I  (Проверка: Тонкий клиент)

chuevsf

Что за конфигурация, а то в УПП я не вижу такого?

Так вы еще и тонкий клиент используете?

mdn

это конфа с нуля написанная

chuevsf

А вот это о чем-нибудь говорит? Я это взял из Синтаксис-помощника.... Тип перечисления у Вас какой? Посмотрите в отладчике? Если будет перечислениеСсылка, тогда доступа на тонком клиенте не будет!

ПеречислениеСсылка.<Имя перечисления>.Метаданные (EnumRef.<Имя перечисления>.Metadata)
ПеречислениеСсылка.<Имя перечисления> (EnumRef.<Имя перечисления>)
Метаданные (Metadata)
Синтаксис:

Метаданные()
Возвращаемое значение:

Тип: ОбъектМетаданных: Перечисление.

Описание:

Предоставляет доступ к объекту описания метаданных перечисления. Другой путь получения того же значения - через свойство глобального контекста Метаданные. Например: Метаданные.Перечисления.ВидыКонтрагентов.

Доступность:

Сервер, толстый клиент, внешнее соединение.



chuevsf

На стороне Клиента это использовать нельзя! Только на стороне Сервера.
Улавливаете разность между &НаСервере и &НаКлиенте?


//Будет работать:
&НаСервере
Процедура Команда1(Команда)
   КлассВажности = Перечисления.Важность.Высокая;
   
КонецПроцедуры
-----------------------------------------------------------------
//Не будет работать:
&НаКлиенте
Процедура Команда1(Команда)
   КлассВажности = Перечисления.Важность.Высокая;
   
КонецПроцедуры

mdn

при варианте НаСервере тоже не работает, ошибку не выдает, но условия не выполняет

та же проблема с константами, при открытии документа один из реквизитов должен заполнятся значением константы, как это реализовать?

Dethmontt

Выкладывай код, а то гадать что ты там сравниваешь не хочется.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

mdn

Имеем : константа - Кин
реквизит документа - Кин
нужно чтобы при открытии в документе в значение реквизита автоматически вставлялось значение константы
Код:
Процедура ПолучитьКин()
   Кин=Константы.Кин.Получить()
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   ПолучитьКин()
КонецПроцедуры

аналогично и с первым вопросом, на 8.1 работало, не могу разобраться с Клиент&Сервером

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск