8.х Как определить тип объекта метаданных?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Cobie, 17 сен 2015.

  1. TopicStarter Overlay
    Cobie
    Offline

    Cobie

    Регистрация:
    8 июл 2015
    Сообщения:
    46
    Симпатии:
    0
    Баллы:
    1
    Извините за тему, не знала как назвать


    Вообщем, вот такая запись - это один вариант :
    Код:
    НаименованиеСправочника = ТИПРеквизита.Метаданные().Имя;
    ЗначениеРеквизита = Справочники[НаименованиеСправочника].НайтиПоНаименованию(СтрЗначение);
    
    Тут все правильно , работает.
    Но проблема в том, что ТИПРеквизита, это переменное значение: справочник, перечисление и что-там еще есть в ПланеВидовХарактеристикСубконто.

    Подскажите как прописать 2ю строку так, чтобы это работало для сслыки любого типа.
    Я б уже и через Если сделала б, но не знаю как определить что это справочник, а не перечисление напр.
    Надеюсь понятно описала суть проблемы)
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Составной тип у реквизита выставьте и отметьте всевозможные типы.
  3. TopicStarter Overlay
    Cobie
    Offline

    Cobie

    Регистрация:
    8 июл 2015
    Сообщения:
    46
    Симпатии:
    0
    Баллы:
    1
    разве это то о чем я спросила?
    ТИПРеквизита определяется программно, я его не знаю зарание.
    Если это будет перечисление , то вторая строка кода , приведенного выше , явно не сработает...:(
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.989
    Симпатии:
    399
    Баллы:
    104
    Код:
    Если ТипЗнч(ВашеЗначение) = Тип("СправочникСсылка.Номенклатура") Тогда
       // пропишите что хотите
    КонецЕсли;
    --- Объединение сообщений, 17 сен 2015 ---
    Не перечьте нам никогда :)
  5. TopicStarter Overlay
    Cobie
    Offline

    Cobie

    Регистрация:
    8 июл 2015
    Сообщения:
    46
    Симпатии:
    0
    Баллы:
    1
    Я не могу проверять на равенство определенному справочнику! Их огромное количество , и какой конкретно из них , неизвестно заранее
    --- Объединение сообщений, 17 сен 2015 ---
    ой , а я это вообще не Вам писала, а
    [​IMG]
    alexburn
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.989
    Симпатии:
    399
    Баллы:
    104
    У реквизита есть тип. Он явно указан в конфигураторе. Давайте тогда полностью опишите задачу?
  7. TopicStarter Overlay
    Cobie
    Offline

    Cobie

    Регистрация:
    8 июл 2015
    Сообщения:
    46
    Симпатии:
    0
    Баллы:
    1
    загрузка из excel в док. Установка правил ссответствия счетов БУ и МСФО, вот задача
    --- Объединение сообщений, 17 сен 2015 ---
    у реквизита есть, но мне надо заполнить его автоматом

    В коде выше реквизит - это как бы не какойто там реквизита документа:eek:
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Код:
      Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(<...>)) Тогда
      ИначеЕсли Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(<...>)) Тогда
      ИначеЕсли ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(ТипЗнч(<...>)) Тогда
    и.т.д.
  9. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Имя объекта можно узнать из метаданных ссылки на объект:

    СсылкаНаОбъект.Метаданные().Имя;

    ТипОбъекта можно получить через ТипВсеСсылки у менеждера, сам менеджер придется определить через условие, благо менеджеров не много.
Похожие темы
  1. Tashiro
    Ответов:
    13
    Просмотров:
    6.917
Загрузка...

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