1с найти перечисление по наименованию
Войдите как ученик, чтобы получить доступ к материалам школы
Язык запросов 1С 8.3 для начинающих программистов: функция ЗНАЧЕНИЕ
Автор уроков и преподаватель школы: Владимир Милькин
Функция ЗНАЧЕНИЕ предназначена для обращения в тексте запроса к значениям системных перечислений и предопределенным данным .
Что ещё за перечисления и предопределенные данные, спросите вы. Давайте обо всём по порядку.
Перечисления
Перечисления - это прикладной объект (вы помните, что ещё существуют Справочники и Документы). Зачем он понадобился?
Дело в том, что перечисление - это особенный объект. В отличие от справочников и документов все возможные значения перечислений задаются на этапе конфигурирования и не могут быть в дальнейшем изменены в пользовательском режиме.
Неизменность - это их главный козырь. Это своеобразные константы базы данных.
И если программист в режиме конфигурирования создал перечисление с именем Пол и значениями Мужской и Женский, то при написании программы он может быть уверен, что в дальнейшем значения этого перечисления не изменятся. Поэтому он может смело обращаться к этим значениям из кода.
Представьте, что будет, если он попытается для этих целей использовать справочник?
Во-первых, какой-нибудь пользователь возьмёт да и добавит какой-нибудь "Марсианский пол".
Во-вторых, другой пользователь возьмёт да и удалит один из уже имеющихся полов или имя ему поменяет.
А программа от этого сломается, потому что для её работы необходимо, чтобы было ровно два пола и именно с именами "Мужской" и "Женский".
Вот для таких случаев, как раз и существуют перечисления: чтобы один раз (ещё на этапе конфигурирования) жестко задать все возможные варианты значений и в дальнейшем использовать их в коде программ.
Давайте рассмотрим пример такого перечисления в нашей базе "Гастроном". Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Вот оно наше перечисление с именем Пол. Какие значения оно может принимать?
Всего два значения. С именами "Мужской" и "Женский". То что нам надо.
Где мы в дальнейшем можем использовать это перечисление? Ну, конечно, в справочнике Клиенты. Обратите внимание, что в его списке появился новый реквизит с именем Пол и типом Перечисление.Пол:
Таким образом, при заполнении карточки клиента уже в режиме пользователя мы сможем в качестве пола клиента выбирать всего из двух значений Мужской и Женский:
Теперь давайте составим запрос, выбирающий клиентов и их пол из базы:
А теперь давайте изменим запрос, чтобы остались только мужчины. Если мы попробуем написать что-то типа:
то ничего не получим:
Потому что к значениям перечисления так обращаться нельзя. К ним нужно обращаться используя функцию ЗНАЧЕНИЕ:
Итак, одна из задач функции ЗНАЧЕНИЕ - использование в запросах значений перечислений.
Предопределенные данные
Я лучше покажу на примере, что такое предопределенные данные для справочников. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
В нашей базе "Гастроном" (в режиме пользователя) откройте справочник "Единицы измерения":
Присмотритесь к его элементам. Видите жёлтые кружочки рядом с некоторыми из элементов? Вот эти элементы (у которых кружочки) и есть предопределенные данные .
Вообще же, если какой-либо элемент справочника является предопределенным (то есть на нём стоит жёлтый кружочек), то это особенный элемент.
Во-первых, это означает, что элемент был создан ещё на этапе конфигурирования программистом (в нашем случае это элементы с кодами 1, 2 и 3).
А, во-вторых, это значит, что этот элемент очень важен для функционирования программы. Что на него (вернее на его предопределенное имя) завязан какой-то код в базе данных.
Именно поэтому просто удалить такой элемент не получится. Попробуйте пометить его на удаление:
Давайте теперь перейдём в режим конфигурирования и посмотрим где же эти самые предопределенные элементы (в данном случае для справочника Единицы измерения) создаются:
Вот они все наши предопределенные элементы для справочника Единица измерения. Обратите внимание, что все предопределенные элементы имеют специальное имя, которое не отображается в режиме пользователя.
Для элемента с кодом 1 это имя Тонна, с кодом 2 - Грамм и так далее. Это имя называется предопределенным именем элемента и именно по этому имени можно обращаться к нему из кода (или из запроса в нашем случае).
Вы спросите почему же было не сделать единицы измерения просто перечислением с элементами Тонна, Грамм и Пачка? А всё потому, что в данном случае нам важно, чтобы справочник единицы измерения всегда содержал какие-то определенные элементы (тонна, грамм и пачка), но в то же время мы не хотим запрещать пользователю добавлять какие-то свои элементы (килограмм, штука и так далее). Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Поэтому здесь безусловно больше подходят предопределенные элементы, чем перечисления.
А обращаться к нашим предопределенным элементам из запроса мы сможем используя уже знакомую нам функцию ЗНАЧЕНИЕ:
Если известно имя самого перечисления и имя его значения, то получить ссылку которая будет являться значением, например субконто, можно следующим образом:
ПеречислениеСсылка = Перечисления[пИмяПречисления][пИмяЗначения];
Исходный код функции ПолучитьСсылкуНаЗначениеПеречисления( пИмяПеречисления, пИмяЗначения )
Код 1C v 8.х
Похожие FAQ
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: . по причине: Ошибка компоновки данных по причине: Ошибка получени ZIP-архив Чтение 0
Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий: - Открыть необходимый архив - Распаковать файлы Создание объекта ЧтениеZIPФайла можно осуществить двумя путями - создать инициализированный объект или Посмотреть все результаты поиска похожих
Еще в этой же категории
Как получить имя перечисления по Синониму? 0
лгоритмически можно получить коллекцию перечислений из конфигурации и перебрав их в цикле сравнить значение реквизита синоним с параметром функции вернуть имя перечисления. Исходный код функции ИмяПеречисленияПоСинониму (СинонимПеречисления): // Во Как получить имя значения перечисления, если известен синоним значения? 0
Если известно перечисление, и известно, что одно из значений имеет известный нам синоним, то перебрав в цикле коллекцию значений перечисления можно получить его имя. Совокупность имени перечисления и имени значения перечисления позволяют получить ссы Посмотреть все в категории Перечисления
В предыдущей статье я показал, как создавать перечисления 1С, значения перечислений, как указывать ссылку на нужное перечисление у реквизита объекта, и как работать с перечислением на управляемой форме. В этой статье я покажу некоторые моменты программной работы с перечислениями в языке программирования 1С.
Программная работа с перечислениями в 1С отличается в зависимости от того в каком контексте мы работаем с этим перечислением: в серверном или клиентском (конкретно на тонком клиенте и веб-клиенте). Поэтому разберем оба варианта по отдельности, также изучим, как работать с перечислениям в языке запросов 1С.
Перечисление в серверном контексте
Для того, чтобы понять как работать со значениями перечисления в серверном контексте, рассмотрим простую задачу: будем программно создавать элемент справочника и присваивать ему конкретное значение перечисления.
В моей учебной конфигурации, есть справочник Контарагенты, с реквизитом Статус, у которого тип ссылка на перечисление ЮридическийСтатусКонтрагента, которое было создано в предыдущей статье. Создадим программно нового контрагента, с уже конкретным значением перечисления. Делать я это будут на управляемой форме учебной обработки. На этой форме я создал команду, серверный и клиентский обработчик команды.
В серверном обработчике и будет создаваться новый элемент справочника.
В этом коде мы создаем объект справочника, заполняем его реквизиты какими-то значениями, а потом сохраняем. Реквизиту Статус мы присваиваем конкретное значение перечисления ЮридическийСтатусКонтреганта. Вы заметили, что к нужному перечислению мы обращаемся посредством объекта Перечисления, который имеет типа ПеречисленияМенеджер.
А выражение Перечисления.ЮридическийСтатусКонтрегента это менеджер конкретного перечисления, посредством которого можно обращаться к нужному значению перечисления. Причем обращение к значению идет по имени.
Посредством этого выражения мы можем обратиться к любому значению перечисления, в зависимости от поставленной задачи.
Если по какой-то причине нам не нужно записывать определенное значение перечисления, то мы можем записать пустую ссылку на это перечисление, обратившись к методу менеджера перечисления ПустаяСсылка(). Тогда будет иметь место следующий код.
Перечисление в клиентском контексте (на тонком клиенте)
Если в серверном контексте мы обращались напрямую к значению перечисления, используя менеджер перечислений, то в клиентском контексте мы так сделать не можем (за исключением толстого клиента).
Приведу небольшой пример, на котором покажем, как работать с перечислениями на клиенте, пример больше учебный, призванный показать, как работать с перечислениями в клиентском контексте, и не несет какого-либо прикладного смысла.
На управляемую форму поместим реквизит с типом ссылка на перечисления, и при выполнении команды формы будем записывать в этот реквизит конкретное значение перечисления.
Поскольку в предыдущей статье мы создали перечисление ЮридическийСтатусКонтрегента, то назовем реквизит формы СтатусИП, и будем при выполнении команды в него записывать соответствующее значение перечисления.
Создадим реквизит, поместим его на форму, и также я создам команду, которую помещу на форму.
Для этой команды создадим клиентский обработчик.
В этом клиентском обработчике, нам нужно записать в реквизит формы значение перечисления. Мы можем получить значение перечисления так, как получали ранее в этой статье: используя менеджер перечислений.
Если мы сейчас сделаем синтаксис-проверку модуля на ошибки, то в некоторых случаях может выдать ошибку, а в некоторых нет. Всё зависит от того, настроена ли в параметрах проверка в режиме тонкого клиента.
Проверим это. Зайдем в параметры конфигурации по пути Главное меню – Сервис – Параметры
В этой форме на закладке Модули в подзакладке Проверка нас интересует флаг Тонкий клиент.
Если этот флаг установлен, то при синтаксической проверке модуля, на код, который мы написали ранее, выйдет ошибка.
Поэтому, если вы планируете, что ваше приложение будет работать в режиме тонкого клиента, то способ получения значения перечисления, используя менеджер перечислений, не применим.
Чтобы получить в режиме тонкого клиента значение перечисления, нужно использовать метод глобального контекста ПредопределенноеЗначение. В этом случае код будет следующим.
В параметре этого метода в виде строки необходимо написать путь к значению перечисления. Замечу, что в платформе 1С, после ввода круглой скобки и первой кавычки выпадают подсказки, и по этим подсказками можно сгенерировать нужную строку.
Если мы сейчас запустим «1С: Предприятие» под тонким клиентом, то значением в реквизит прекрасно запишется.
Заметили, что обращались мы к имени значения перечисления, а на форме отображается синоним значения.
Перечисление в языке запросов 1С
Рассмотрим, как работать с перечислениями в языке запросов 1С.
Более подробно, изучить языка запросов 1С Вы можете в моем курсе «Запросы в 1С для начинающих», промо-код на скидку для читателей блога — hrW0rl9Nnx
Для того, чтобы понять как работать с перечислениями в запросе разберем простой и понятный пример. Из справочника Контрагенты отберем только тех, контрагентов, у которых статус ИП. Делать мы это будем сразу в «1С: Предприятии», в консоли запросов.
В консоли запросов откроем конструктор запроса, выберем таблицу Контрагенты и поля этой таблицы Наименование и Статус.
На закладке Условия установим, чтобы отбирались контрагенты со статусом ИП.
В этом случае мы используем функцию Значение языка запросов 1С, где в качестве параметра указываем путь к нужному нам значению перечисления.
У нас должен получиться вот такой запрос:
Который будет возвращать контрагентов только с нужным статусом.
Функцию ЗНАЧЕНИЕ можно использовать не только в условиях, но и в секции выбрать. Например, можно сделать такой запрос.
Который будет возвращать два значения перечисления.
А что делать, если нужен отбор по нескольким значениями перечислений? Для этого мы объединим два этих запроса: поместим во временную таблицу значения двух перечислений, а потом при получении контрагентов, в условии при помощи оператора множественного выбора отберем контрагентов только с двумя значениями перечислений.
Код запроса будет в этом случае следующим:
И этот запрос будет выдавать нужный результат.
Если же мы не знаем, по какому значению перечисления нужен отбор, то можем просто передать значение нужного перечисления в качестве параметра. В этом случае будет такой запрос.
Который будет выполняться следующим образом.
Если же мы хотим сделать отбор по нескольким сразу статусам (которые мы не можем знать заранее), то нам нужно передать в запрос массив или список значений, и применить к нему оператор множественного выбора. В этом случае у нас будет следующий запрос.
С таким результатом.
Если Вы всё еще «плаваете» в конструкциях языка запросов, и у Вас вызывают трудности даже самые простые запросы, то рекомендую вам мой курс «Язык запросов в 1С для начинающих». Где эти и многие другие вопросы рассматриваются более подробно.
В чем особенность этого курса:
• Курс рассчитан на тех, кто не знаком с языком запросов в 1С;
• Учебный материал грамотно скомпонован и прост в освоении;
• Несколько десятков уроков;
• Полезные практические примеры;
• Все уроки изложены понятным и простым языком
Для моих читателей, купон на скидку 25%: hrW0rl9Nnx
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
В этой статье разберем перечисления 1С. Перечислениями называют объекты конфигурации, которые содержат в себе постоянные значения, не изменяемые в процессе работы с программой. Перечисления задаются на этапе конфигурирования, и их нельзя менять пользователю во время работы программы.
Создать перечисление в 1С
Научимся создавать перечисления. Для этого необходимо в конфигураторе 1С, в дереве метаданных, найти ветку перечисления, выделить её, вызвать контекстное меню и воспользоваться единственной командой этого меню «Добавить».
После этих действий будет открыт конструктор редактирования перечислений, где на закладке Основные, можно ввести имя перечисления и синоним.
В моей учебной конфигурации имеется справочник Контрагенты, поэтому я создам перечисление «Юридический статус контрагента», которое потом буду использовать в этом справочнике.
Значение перечисления 1С
Перечисление создано, но само по себе перечисление не имеет ни какого смысла, в нем должны быть различные значения. Нужно их добавить. Для этого перейдем на закладку «Данные», где имеется список значений перечислений. Сейчас он пустой, и нам нужно добавить в него несколько значений, для этого необходимо выполнить команду «Добавить» в меню списка значений.
После выполнения команды, значение будет создано, и справа откроется палитра свойств этого значения. В неё вы можете задать имя конкретного значения, синоним и комментарий.
К имени значения перечисления мы будем обращаться при программной работе с перечислением, а синоним будет отображаться пользователю в интерфейсе.
Точно также добавим несколько других значений.
Перечисление в реквизите объекта 1С
Перечисление мы создали, но от самого перечисления нет ни какого смысла. Перечисление имеет смысл, когда ссылка на это перечисление указано в качестве типа какого-нибудь реквизита объекта. Для примера, я доработаю справочник Контрагенты в моей конфигурации: создам новый реквизит, тип которого будет ссылка на созданное ранее перечисление.
Создадим у справочника контрагенты реквизит Статус.
В палитре свойств этого реквизита установим для него тип ПеречислениеСсылка.ЮридическийСтатусКонтрегента.
На этом конфигурирование справочника будет закончено. Разберем, как работать с перечислением на управляемой форме.
Перечисление на управляемой форме 1С
У моего справочника не было основной формы элемента справочника. После того, как я создам форму элемента этого справочника, включив в неё новый реквизит Статус, то на форме по умолчанию будет размещен элемент поле ввода в виде выпадающего списка, которое будет связано с созданным нами реквизитом справочника.
Если мы откроем форму элемента этого справочника в пользовательском режиме «1С: Предприятия», то сможем посредством выпадающего списка выбрать нужное значение перечисления.
Заметьте, названия значений перечисления в пользовательском режиме соответствуют синонимам значений перечисления.
Кроме выпадающего списка есть другие интерфейсные механизмы работы с перечислениями. Перечисление на управляемой форме может быть в виде переключателя и в виде тумблера.
Для того, чтобы сделать другой вид перечисления, необходимо на форме найти поле ввода, которое связанно с реквизитом, имеющим тип ссылка на перечисление.
После этого необходимо зайти в палитру свойств этого элемента формы (поле ввода), и в этой палитре найти свойство Вид.
По умолчанию у этого свойства установлено значение «Поле ввода», но можно поменять на другие. Нас интересует значение «Поле переключателя».
Если мы установим это значение, то внешний вид формы поменяется.
Вы видите, что на форме сейчас нет рядом с переключателями названий значений перечислений (стоят Значение 1, Значение 2). Чтобы они отобразились, нам нужно ввести значения переключателя в список выбора. Сделать это нужно в свойстве «Список выбора» поля ввода. После нажатия на кнопку «…» этого свойства, откроется форма списка выбора.
Мы можем автоматически заполнить список всеми значениями перечисления, нажав на кнопку «Заполнить» этой формы.
Но представления значений, придется заполнить вручную.
После нажатия кнопки ОК формы списка выбора, свойство «Список выбора» поля будет заполнено, а внешний вид поля переключателя на форме поменяется.
Также другой вид будет в пользовательском режиме «1С: Предприятия» .
Кроме стандартного переключателя в платформе 1С есть возможность сделать тумблер, суть у него будет такая же, как и у переключателя, но внешний вид будет отличаться.
Для того, чтобы сделать тумблер, нужно у элемента формы поле переключателя найти свойство ВидПереключателя и установить в него значение Тумблер.
После установки этого значения, внешний вид формы опять поменяется.
Тумблер представлен в виде кнопок, причем пользователь может нажать только на одну из них. У разработчика имеется возможность управлять внешним видом тумблера при помощи свойств, которые расположены в категории «Расположения» палитры свойств поля переключателя. Например, можно сделать все кнопки тумблера одинаковыми по ширине.
После всех действий, внешний вид переключателя в пользовательском режиме «1С: Предприятия» будет другой.
Замечу, что кнопки тумблера это суть значения перечисления. И когда вы нажали на какую-то кнопку тумблера, то значит, что элементу справочника будет присвоено соответствующее значение перечисления.
Другие статьи по теме конфигурирования:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
One thought on “ Перечисления 1С ”
Вот за это «Мы можем автоматически заполнить список всеми значениями перечисления, нажав на кнопку «Заполнить» этой формы» Большое спасибо! Час мучался
ИмяЗначенияПеречисления = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя
Перебор коллекции значений перечисления
Для каждого знач из КолекцияЗначенийПеречисления Цикл
Сообщить(знач.Имя);
КонецЦикла;
ПредставлениеПеречисления=Строка(СсылкаНаПеречисление); //синоним
полезной будет функция:
Функция ПолучитьИмяЗначенияПеречисления(Ссылка) Экспорт
ИмяПеречисления = Ссылка.Метаданные().Имя;
Индекс = Перечисления[ИмяПеречисления].Индекс(Ссылка);
альтернативный способ получения имени значения перечисления:
Полезный прием для работы с перечислениями при COM соединении с другой ИБ 8.0 (например при обмене данных):
надо передать ссылку на перечисление:
Здесь
V8 - COM объект "V8.Application" - ИБ внешнего соединения
СсылкаНаПеречислениеCOM - COM объект - ссылка на перечисление в ИБ внешнего соединения
ИмяЗначенияПеречисленияCOM= V8.XMLString(СсылкаНаПеречислениеCOM);
ПредставлениеПеречисленияCOM= V8.String(СсылкаНаПеречислениеCOM); //синоним
ИмяПеречисленияCOM= СсылкаНаПеречислениеCOM.Метаданные().Имя;
СсылкаНаПеречисление = XMLЗначение(Тип("ПеречислениеСсылка."+ИмяПеречисленияCOM),ИмяЗначенияПеречисленияCOM);
разумеется имена перечислений в обоих базах должны быть идентичными.
Пример получения значений перечисления запросом
Запрос=новый запрос;
запрос.Текст="ВЫБРАТЬ
| ВидыОС.Ссылка,
| ВидыОС.Порядок КАК Индекс
|ИЗ
| Перечисление.ВидыОС КАК ВидыОС";
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() цикл
Сообщить(""+Выборка.ссылка+" : "+Выборка.индекс);
конецЦикла;
Пример для отбора на стороне COMсервера:
Отбор = v8.Новый ("Структура");
МД=v8.XMLTypeOf(v8.Перечисления[ИмяПеречисления].ПустаяСсылка());
Отбор.Вставить("ВидДоговора", v8.XMLЗначение(v8.FromXMLType(МД),ИмяЗначенияПеречисления));
Читайте также: