8.х Как получить список названий доступных свойств объекта?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем AndreyV, 13 окт 2010.

  1. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Нужно получить названия доступных свойств объекта,
    для обработки анализирующей конфигурацию и базу данных.

    Примерно так же как через метаданные можно получить коллекцию объектов "Метаданные.Документы"

    Хочу получить список названий всех свойств объекта "Метаданные" и других типов объектов.

    Могу это вытащить из текстового файла "ОтчетПоКонфигурации", но хочется лучшего.

    Спасибо.
  2. Vdeg
    Offline

    Vdeg

    Регистрация:
    13 окт 2010
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    Например, что ты хочешь от объекта "Метаданные" получить? :D

    И самое главное - зачем? :angry:
  3. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Я хочу получить, примерно тоже что вижу в конфигураторе в "Табло".
    т.е. имея произвольный объект, получить все его свойства со значениями.

    Нужно для анализа конфигурации через внешнюю обработку.
    От объекта конфиругарции хочу получить примерно следующее:

    Имя: "УправлениеПроизводственнымПредприятием"
    Синоним: "Управление производственным предприятием, редакция 1.2"
    Комментарий: ""
    ВариантВстроенногоЯзыка: "Русский"
    ОсновнойСтиль: "Стиль.Основной"
    ОсновнойЯзык: "Язык.Русский"
    ОсновнойИнтерфейс: "Интерфейс.Полный"
    ОсновнаяРоль: "Роль.ПолныеПрава"
    Документы:
    ...................................
  4. Vdeg
    Offline

    Vdeg

    Регистрация:
    13 окт 2010
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    Все эти свойства перечислены в синтакс-помощнике... :angry:
  5. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    :) точно!

    но, мне нужен список этих свойств в коде программы.

    Что бы мне не нужно в ручную прописывать эти свойства.

    И иметь универсальную функцию выбрал объект получил все его доступные свойства.
  6. Stepa86
    Offline

    Stepa86

    Регистрация:
    13 окт 2010
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Чем тебя Shift+F9 не устраивает?
  7. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Мне нужно это не в конфигураторе, я хочу получить такой список в коде программы.
  8. poiuy
    Offline

    poiuy Опытный в 1С

    Регистрация:
    12 окт 2010
    Сообщения:
    170
    Симпатии:
    0
    Баллы:
    26
    Ну так и пропиши в коде доступные свойства и методы :angry:
  9. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Для всех типов объектов? Я ленив, мне легче их вытащить из файла "ОтчетПоКонфигурации"
    Но это не красиво!

    Должно быть легкое и элегантное решение,
    ведь можно же обращаться к свойству через строковую переменную.
    Например:
    ИмяСвойства = "Наименование";
    Объект[ИмяСвойства] = Объект[ИмяСвойства] + " Новый";
  10. Stepa86
    Offline

    Stepa86

    Регистрация:
    13 окт 2010
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Так и не понял что тебе надо, но в метаданных есть имена всех нужных объектов, а зная имена можно обратится к свойствам объекта
  11. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Как мне написать универсальную функцию для всех типов объектов.

    ФункцияВывестиВсеСвойстваОбъекта(Объект);

    Мне нужно получить название всех доступных свойств для определенного типа объектов.
    Как вытащить название свойств из метаданных, как получить эту коллекцию?
  12. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    Объект = Справочники.Конкуренты.НайтиПоКоду(1);
    МетаданныеСправочника = Объект.Метаданные();
    Сообщить("Представление справочника - " +
    МетаданныеСправочника.Представление());
    
    
    Перебирать можно через ДЛЯ КАЖДОГО ... ИЗ ... ЦИКЛ
  13. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Спасибо! посмотреть что получится, смогу только на следующей недели.

    Но я так понимаю, что такое возможно не для всех объектов.
    и для объекта глобального контекста "метаданные" это не пройдет.
  14. TopicStarter Overlay
    AndreyV
    Offline

    AndreyV

    Регистрация:
    1 июл 2008
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    К сожалению не выходит.

    Что нужно перебирать, какую коллекцию? "МетаданныеСправочника" перебрать не получается

    Мне хотелось бы получить список который вижу в конфигураторе по shift + F9, для дальнейшей
    программной обработки.

    Код:
    Свойство              Значение         
    -------------------------------------------------------------
    АвтоНумерация     Истина
    ВводПоСтроке      Наименование, Код, Артикул
    ...
    
    

Поделиться этой страницей