Тип: Строка. Имя объекта метаданных.
Полное описание, параметры и ограничения
ОбъектМетаданных: ЦветПалитры.Имя (MetadataObject: PaletteColor.Name)
ОбъектМетаданных: ЦветПалитры (MetadataObject: PaletteColor)
Имя (Name)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: Строка.
Имя объекта метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме «_».
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Получить собственные цвета палитры и применить их к учебному документу
Проверяем описания двух цветов палитры 8.5.1 и используем реальные значения Цвет для оформления своей строки. Паспорт отделяет имена и принадлежность от визуального результата.
Где и как запускать
Полный клиентский общий модуль УчебныеКонтракты85 обычного приложения. Только толстый клиент; Пульт отдельным модулем ниже. Не выполнялся.
Подготовка
Создайте НОВУЮ отдельную файловую базу платформы 8.5.1.1343 с именем конфигурации УчебныеКонтрактыМетаданных85, совместимость НеИспользовать, обычное приложение и толстый клиент. Не рабочая база и не её копия. Код здесь не запускался: runtimeVerifiedScenarios=0.
Общий модуль УчебныеКонтракты85: неглобальный, Клиент (обычное приложение)=Да, Сервер=Нет, остальные клиентские флаги=Нет, Привилегированный=Нет. Вставляйте полный модуль выбранного урока. Создайте обработку УчебныеКонтракты85 с обычной основной формой Пульт и кнопкой Выполнить, действие ВыполнитьНажатие; отдельный модуль формы дан ниже.
Для урока внешнего источника: Внешние источники данных → УчебныйИсточник85, синоним Учебный источник, комментарий guide-owned-source-85. Режим управления блокировкой данных Автоматический. Не задавайте подключение, учётные данные, таблицы и кубы; сервер, ODBC и внешняя БД не используются.
В УчебныйИсточник85 → Функции создайте Число85: синоним Учебное число, комментарий guide-owned-number-85, ВозвращаетЗначение=Да, Тип только Число(10,0), ВыражениеВИсточникеДанных=42. Вторую Приветствие85: синоним Учебное приветствие, комментарий guide-owned-text-85, ВозвращаетЗначение=Да, Тип только Строка(40), выражение SQL-литерала 'Привет' с одиночными кавычками. Параметры функций отсутствуют. Это два определения для аудита, функции не вызываются и SQL не исполняется.
Для урока палитры: Общие → Цвета палитры, два собственных цвета УчебныйФон85 и УчебныйТекст85. Синонимы Учебный фон/Учебный текст, комментарии guide-owned-background-85/guide-owned-text-color-85. Задайте абсолютные RGB 240,248,255 и 0,80,120. Не меняйте системные цвета и стили рабочей конфигурации.
Для WS-урока: полный XML файла metadata-study-85.wsdl встроен отдельным блоком ниже. Сохраните этот блок в UTF-8 как локальный .wsdl; рядом со справочником уже лежит такой же файл. В новой базе создайте WS-ссылку УчебныйСервис85 и импортируйте описание ИЗ ЛОКАЛЬНОГО ФАЙЛА, не по HTTP. Синоним Учебная WS-ссылка, комментарий guide-owned-ws-85. Файл не имеет импортов WSDL/XSD; сервис StudyService85, namespace urn:guide:metadata85, адрес 127.0.0.1:9 — неработающий учебный адрес, не настоящий сервер.
Для каждого урока нужны только перечисленные для него объекты. Расширения, заимствование и изменения расширениями отсутствуют. Обновите конфигурацию собственной базы, проверьте F7, имена и все подготовленные свойства. Импорт WSDL в Конфигураторе и запуск в 1С здесь не выполнялись.
Выводится новый табличный документ в память и своё окно без имени файла. Не печатайте и не сохраняйте через команды окна. WSПрокси/вызовы Echo/запрос к внешнему источнику не создаются. Статический паспорт метаданных не доказывает доступность внешнего сервиса или правильность его реализации.
Процедура ВыполнитьПример() Экспорт
ПроверитьСвойКонтекст();
Паспорт = СоздатьСвоюТаблицу();
Фон = Метаданные.ЦветаПалитры.Найти("УчебныйФон85");
Текст = Метаданные.ЦветаПалитры.Найти("УчебныйТекст85");
Если Фон = Неопределено Или Текст = Неопределено Тогда
ВызватьИсключение "Создайте два собственных цвета палитры";
КонецЕсли;
ДобавитьСвойПаспорт(Паспорт, Фон, "УчебныйФон85", Метаданные);
ДобавитьСвойПаспорт(Паспорт, Текст, "УчебныйТекст85", Метаданные);
Если ТипЗнч(Фон.Цвет) <> Тип("Цвет") Или ТипЗнч(Текст.Цвет) <> Тип("Цвет") Тогда
ВызватьИсключение "Палитра должна возвращать Цвет, не строку RGB";
КонецЕсли;
ДобавитьСтроку(Паспорт, Фон.ПолноеИмя(), "Цвет", Фон.Цвет);
ДобавитьСтроку(Паспорт, Текст.ПолноеИмя(), "Цвет", Текст.Цвет);
Документ = Новый ТабличныйДокумент;
Образец = Документ.Область("R1C1:R2C3");
Образец.ЦветФона = Фон.Цвет;
Образец.ЦветТекста = Текст.Цвет;
Документ.Область("R1C1").Текст = "Книга";
Документ.Область("R2C1").Текст = "Сумма: 750";
Документ.Показать("Свой образец с цветами из метаданных", "", Ложь);
ПоказатьСвойПаспорт(Паспорт, "Свои цвета: имена, подписи и принадлежность");
КонецПроцедуры
Процедура ПроверитьСвойКонтекст()
Если Метаданные.РежимСовместимости <> Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать Тогда
ВызватьИсключение "Нужен собственный стенд УчебныеКонтрактыМетаданных85 платформы 8.5.1.1343";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Учебный вывод не должен выполняться внутри чужой транзакции";
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьСвойПаспорт(Таблица, МД, ОжидаемоеИмя, ОжидаемыйРодитель)
Если МД.Имя <> ОжидаемоеИмя Или МД.Родитель() <> ОжидаемыйРодитель Тогда
ВызватьИсключение "Не совпало имя или родитель собственного объекта метаданных";
КонецЕсли;
Если МД.ПринадлежностьОбъекта <> Метаданные.СвойстваОбъектов.ПринадлежностьОбъекта.Собственный
Или МД.РасширениеКонфигурации() <> Неопределено Или МД.ЕстьИзмененияРасширениямиКонфигурации() Тогда
ВызватьИсключение "Опыт предназначен только для своих объектов без расширений";
КонецЕсли;
ПолноеИмя = МД.ПолноеИмя();
Если ПустаяСтрока(ПолноеИмя) Или ПустаяСтрока(МД.Представление()) Тогда
ВызватьИсключение "У собственного объекта нет полного имени или представления";
КонецЕсли;
ДобавитьСтроку(Таблица, ПолноеИмя, "Имя", МД.Имя);
ДобавитьСтроку(Таблица, ПолноеИмя, "Синоним", МД.Синоним);
ДобавитьСтроку(Таблица, ПолноеИмя, "Представление", МД.Представление());
ДобавитьСтроку(Таблица, ПолноеИмя, "Комментарий", МД.Комментарий);
ДобавитьСтроку(Таблица, ПолноеИмя, "Принадлежность", МД.ПринадлежностьОбъекта);
ДобавитьСтроку(Таблица, ПолноеИмя, "Привязка заимствованного объекта", МД.ОбъектРасширяемойКонфигурации);
КонецПроцедуры
Процедура ДобавитьСтроку(Таблица, Объект, Свойство, Значение)
СтрокаПаспорта = Таблица.Добавить();
СтрокаПаспорта.Объект = Объект;
СтрокаПаспорта.Свойство = Свойство;
СтрокаПаспорта.Значение = Строка(Значение);
КонецПроцедуры
Функция СоздатьСвоюТаблицу()
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Объект");
Таблица.Колонки.Добавить("Свойство");
Таблица.Колонки.Добавить("Значение");
Возврат Таблица;
КонецФункции
Процедура ПоказатьСвойПаспорт(Таблица, Заголовок)
Если Таблица.Количество() = 0 Тогда
ВызватьИсключение "Собственный паспорт пуст";
КонецЕсли;
Документ = Новый ТабличныйДокумент;
Документ.Область("R1C1").Текст = "Объект";
Документ.Область("R1C2").Текст = "Свойство";
Документ.Область("R1C3").Текст = "Значение";
Номер = 2;
Для Каждого Запись Из Таблица Цикл
Документ.Область(Номер, 1).Текст = Запись.Объект;
Документ.Область(Номер, 2).Текст = Запись.Свойство;
Документ.Область(Номер, 3).Текст = Запись.Значение;
Номер = Номер + 1;
КонецЦикла;
Документ.Показать(Заголовок, "", Истина);
КонецПроцедурыУчебныеКонтракты85.Пульт
УчебныеКонтрактыМетаданных85 → Обработки → УчебныеКонтракты85 → Формы → Пульт → Модуль
Полный отдельный модуль своей обычной формы; не выполнялся.
Процедура ВыполнитьНажатие(Кнопка)
УчебныеКонтракты85.ВыполнитьПример();
КонецПроцедурыРазбор по шагам
Проверяется отсутствие чужой активной транзакции. Получаем описания из Метаданные, не бизнес-объекты и не внешний менеджер данных.
Имя проверяется как программный идентификатор, Родитель — как реальный объект метаданных. Вложенная функция подчинена источнику, верхнеуровневые цвета и WS-ссылка — конфигурации.
ПринадлежностьОбъекта, РасширениеКонфигурации и ЕстьИзмененияРасширениямиКонфигурации проверяются раздельно. Собственный объект, созданный расширением, не равен объекту основной конфигурации.
ПолноеИмя используется для строк паспорта, Представление для подписи, Синоним и Комментарий выводятся отдельно. Привязка ОбъектРасширяемойКонфигурации относится к заимствованию: для собственного объекта её произвольное значение не объявляется доказательством отсутствия расширений.
Метаданные.ЦветаПалитры содержит описания. Их Цвет возвращает объект Цвет; строка RGB, синоним или объект метаданных не являются значением оформления.
Оба цвета реально созданы в своей конфигурации. У Фон.Цвет и Текст.Цвет проверяется тип, затем они применяются к новой области ТабличногоДокумента.
Новый документ содержит Книга и Сумма: 750. Код не меняет исходные цвета, системную палитру или оформление другого пользователя.
Паспорт показывает имя, синоним, представление, комментарий и Цвет обоих описаний; образец показывает отдельное практическое применение тех же цветов.
Как проверить результат
Будущий тест: F7, запуск только в своём стенде, паспорт с фактическими именами, синонимами и комментариями. При неправильном имени или родителе успешный паспорт не выводится.
В свойства метаданных код ничего не присваивает. Показ нового табличного документа не изменяет конфигурацию и не доказывает доступность внешних источников.
Будущий просмотр: свой образец имеет подготовленные фон RGB 240,248,255 и текст RGB 0,80,120. Паспорт содержит УчебныйФон85 и УчебныйТекст85 с заданными подписями.
В своей подготовке измените только цвет УчебныйФон85: при новом запуске изменится фон образца, но имя и подпись второго цвета останутся прежними.
Переименуйте собственный цвет: поиск старого программного имени должен отказать. Смена только Синоним изменяет паспорт, но не программный ключ поиска.
Ожидаемый результат
Подготовлен полный собственный аудит метаданных и учебный вывод без подключения к внешним данным. runtimeVerifiedScenarios=0.
На что обратить внимание
Метаданные — описания структуры, не таблицы бизнес-данных и не менеджеры подключения. Чтение ВозвращаетЗначение не вызывает внешнюю функцию.
Readonly-свойства нельзя переназначать во встроенном языке. Изменения подготовки выполняются только в Конфигураторе своей новой базы; здесь они не выполнялись.
Код не тестировался в 1С. Паспорт и статические проверки не являются доказательством работы внешнего сервиса, драйвера, SQL-диалекта или применённой темы интерфейса.
Цвета палитры добавлены в 8.5.1; не переносите пример в старую платформу без проверки наличия объектов.
Оформление собственного табличного документа не доказывает, что цвет применяется всеми элементами интерфейса или что изменён стиль всей базы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.