Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с пречислениями (платформа 8.2.19.106)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
andrew76
Добрый всем вечер !

Имеется следующее перечисление- "Родственники".Задействовано в ТЧ справочника Сотрудники.
Почему то при переборе записей ТЧ значение реквизита Родственник(тип перечисление) можно прочитать
следующим образом:

Значение_реквизита=Строка(Родственник); //псевдокод

Если не использовать функцию Строка(),то на выходе пусто.В отладчике -тип Перечисление.

Кто с таким сталкивался ?
Vofka
Покажите код функции полностью: что пишете, что не работает. Непонятно ж нифига.
Petre
andrew76 @ 24.03.17, 18:03 необходимо зарегистрироваться для просмотра ссылки ,
И какой же тип у "Значение_реквизита"?
andrew76
Цитата(Vofka @ 27.03.17, 11:07) необходимо зарегистрироваться для просмотра ссылки
Непонятно ж нифига.


Это точно. wink.gif

Для Каждого ТекущаяСтрока Из СоставСемьи Цикл 
      Родственник=Строка(ТекущаяСтрока.Родство);
КонецЦикла;


У реквизита Родство -тип Перечисление;Если убрать из кода функцию Строка,то переменная Родственник получает пустое значение.

Vofka
Petre правильный вопрос задал. Похоже, что переменная, которой вы присваиваете значение не может впитать в себя это присваиваемое значение. Типы у Родственник и ТекущаяСтрока.Родство одинаковые?
andrew76
Если в коде "Родственник=Строка(" , значит переменная Родственник имеет тип Строка.Мне нужно прочитать значение Перечисления,но почему-то
прочитать это значение я могу взяв его в качестве аргумента для функции Строка.На выходе значение соответственно преобразуется в строку в этом данном случае.Аналогично можно прочитать через функцию Сообщить().Может это особенности работы с перечислением в 8.2 ? Мне просто нужно прочитать
значение перечисления.
Vofka
andrew76, вы либо давайте прямые ответы на вопросы, либо я удаляюсь из темы, потому что играть дальше в угадай мелодию становится не интересно.
andrew76
Типы у Родственник и ТекущаяСтрока.Родство разные.Родственник -строка,ТекущаяСтрока.Родство-имеет тип Перечисление.
Petre
andrew76 @ Сегодня, 9:16 необходимо зарегистрироваться для просмотра ссылки ,
Не понимаю, чего вы хотите. Если реквизит имеет тип "строка", то ему надо давать только строку. Функция "Строка()" преобразует всякие типы в строку. У вас все корректно происходит. Так чего же вы хотите?

Цитата(andrew76 @ 27.03.17, 9:16) необходимо зарегистрироваться для просмотра ссылки
Может это особенности работы с перечислением в 8.2 ?

Наведите примеры другого поведения с иным типом (кроме примитива)...
andrew76
Мне просто нужно было получить значение перечисления,(его текстовое представление).
Petre
andrew76 @ Сегодня, 9:45 необходимо зарегистрироваться для просмотра ссылки ,
Нет. Значение перечисления имеет тип перечисления. Представление перечисления вы и так получаете одним из вариантом ("Строка()").
Возможно, вы хотите получить имя метаданных значения перечисления. Тогда его следует получать из метаданных.
andrew76
Нет,мне нужно было именно значение перечисления.В метаданных оно "обозвано" как представление.
Petre
andrew76 @ Сегодня, 9:58 необходимо зарегистрироваться для просмотра ссылки ,
Тогда я не пойму, какой смысл присваивать значение перечисления (тип "перечислениессылка") реквизиту с типом "строка"? Поставьте у реквизита тип перечисления.

andrew76 @ Сегодня, 9:58 необходимо зарегистрироваться для просмотра ссылки ,
"представление" - это строка, формирующаяся по определенному алгоритму в зависимости от типа значения, его метасвойств (наименование, синоним...), свойств (код, номер, дата...) и текущего языка пользователя.
andrew76
Результат
Цитата(Petre @ 27.03.17, 13:07) необходимо зарегистрироваться для просмотра ссылки
Тогда я не пойму, какой смысл присваивать значение перечисления (тип "перечислениессылка") реквизиту с типом "строка"? Поставьте у реквизита тип перечисления.


Не подходит,потому что мне надо заполнять в итоге этими значениями таблицу в файле Ms Word.Мне нужен тип-строка.

Тему можно закрывать.
andr_andrey
Цитата(andrew76 @ 24.03.17, 19:03) необходимо зарегистрироваться для просмотра ссылки
Почему то при переборе записей ТЧ значение реквизита Родственник(тип перечисление) можно прочитать
следующим образом:


Потому что функция "Строка(Родственник)" возвращает "Синоним" значения или строковое представление значения (если синоним пустой), которое хранится в реквизите "Родственник".
andrew76
Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.