Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Работа с пречислениями (платформа 8.2.19.106)          
andrew76 Подменю пользователя
сообщение 24.03.17, 18:03
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Добрый всем вечер !

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

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

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

Кто с таким сталкивался ?

Vofka Подменю пользователя
сообщение 27.03.17, 8:07
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Покажите код функции полностью: что пишете, что не работает. Непонятно ж нифига.

Спасибо сказали: andrew76,

Petre Подменю пользователя
сообщение 27.03.17, 8:24
Сообщение #3

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

andrew76 @ 24.03.17, 18:03 * ,
И какой же тип у "Значение_реквизита"?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

andrew76 Подменю пользователя
сообщение 27.03.17, 8:51
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Цитата(Vofka @ 27.03.17, 11:07) *
Непонятно ж нифига.


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

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


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


Vofka Подменю пользователя
сообщение 27.03.17, 9:01
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Petre правильный вопрос задал. Похоже, что переменная, которой вы присваиваете значение не может впитать в себя это присваиваемое значение. Типы у Родственник и ТекущаяСтрока.Родство одинаковые?

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 27.03.17, 9:16
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Если в коде "Родственник=Строка(" , значит переменная Родственник имеет тип Строка.Мне нужно прочитать значение Перечисления,но почему-то
прочитать это значение я могу взяв его в качестве аргумента для функции Строка.На выходе значение соответственно преобразуется в строку в этом данном случае.Аналогично можно прочитать через функцию Сообщить().Может это особенности работы с перечислением в 8.2 ? Мне просто нужно прочитать
значение перечисления.

Vofka Подменю пользователя
сообщение 27.03.17, 9:27
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

andrew76, вы либо давайте прямые ответы на вопросы, либо я удаляюсь из темы, потому что играть дальше в угадай мелодию становится не интересно.

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 27.03.17, 9:29
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Типы у Родственник и ТекущаяСтрока.Родство разные.Родственник -строка,ТекущаяСтрока.Родство-имеет тип Перечисление.

Petre Подменю пользователя
сообщение 27.03.17, 9:40
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

andrew76 @ Сегодня, 9:16 * ,
Не понимаю, чего вы хотите. Если реквизит имеет тип "строка", то ему надо давать только строку. Функция "Строка()" преобразует всякие типы в строку. У вас все корректно происходит. Так чего же вы хотите?

Цитата(andrew76 @ 27.03.17, 9:16) *
Может это особенности работы с перечислением в 8.2 ?

Наведите примеры другого поведения с иным типом (кроме примитива)...


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 27.03.17, 9:45
Сообщение #10

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Мне просто нужно было получить значение перечисления,(его текстовое представление).

Petre Подменю пользователя
сообщение 27.03.17, 9:54
Сообщение #11

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

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


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 27.03.17, 9:58
Сообщение #12

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Нет,мне нужно было именно значение перечисления.В метаданных оно "обозвано" как представление.

Petre Подменю пользователя
сообщение 27.03.17, 10:07
Сообщение #13

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

andrew76 @ Сегодня, 9:58 * ,
Тогда я не пойму, какой смысл присваивать значение перечисления (тип "перечислениессылка") реквизиту с типом "строка"? Поставьте у реквизита тип перечисления.

andrew76 @ Сегодня, 9:58 * ,
"представление" - это строка, формирующаяся по определенному алгоритму в зависимости от типа значения, его метасвойств (наименование, синоним...), свойств (код, номер, дата...) и текущего языка пользователя.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 27.03.17, 10:18
Сообщение #14

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Результат
Цитата(Petre @ 27.03.17, 13:07) *
Тогда я не пойму, какой смысл присваивать значение перечисления (тип "перечислениессылка") реквизиту с типом "строка"? Поставьте у реквизита тип перечисления.


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

Тему можно закрывать.

andr_andrey Подменю пользователя
сообщение 27.03.17, 14:43
Сообщение #15

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

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


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


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 27.03.17, 15:30
Сообщение #16

Оратор
*****
Группа: Пользователи
Сообщений: 437
Из: Казахстан
Спасибо сказали: 43 раз
Рейтинг: 43

Спасибо.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 18:41
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!