8.х Распознать тип

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

  1. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Всем привет!
    Как отличить ДокументОбъект от, например СправочникСсылка или РегистрНакопленияНаборЗаписей ?
    И не важно какой именно это документ или справочник или т.д.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Если ТипЗнч(Объект.Ссылка) = Тип("НужныйТип") Тогда
  3. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    ТипЗнч() покажет мне : "Документ ссылка: Заказ покупателя".
    А мне надо просто определить документ это или справочник. Т.е. "Документ ссылка".
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    проверяй строку на слово "Документ" или "Справочник"
  5. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Вот так можно:
    Код:
    Документы.ТипВсеСсылки().СодержитТип(Тип("ДокументСсылка.ПеремещениеТоваров"))
    
    
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Эээ....это ты узнал, есть ли в документах, документ ПЕРЕМЕЩЕНИЕ ТОВАРОВ
  7. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Я понял твою идею Найти().
    Спасибо.
  8. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    СтрокаТипа = ПолучитьИмяБазовогоТипаПоТипуОбъекта(ТипЗнч(НашОбъект);
    
    Функция ПолучитьИмяБазовогоТипаПоТипуОбъекта(ТипОбъекта) Экспорт
    
    МетаданныеТипа = Метаданные.НайтиПоТипу(ТипОбъекта);
    
    Если Метаданные.РегистрыСведений.Содержит(МетаданныеТипа) Тогда
    
    Возврат "РегистрыСведений";
    
    ИначеЕсли Метаданные.Документы.Содержит(МетаданныеТипа) Тогда
    
    Возврат "Документы";
    
    ИначеЕсли Метаданные.Справочники.Содержит(МетаданныеТипа) Тогда
    
    Возврат "Справочники";	
    
    Иначе
    
    Возврат "";
    
    КонецЕсли;
    
    КонецФункции
    
    
  9. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    и чего нам потом с этой строкой делать? :)

    Если ЛЕВ(ТипЗнч(ОбъектСсылка),8) = "Документ" Тогда

    имхо, явно удобнее, а эффект тот же :)
  10. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Что-то вы усложнили все...

    Код:
    Если ПолучитьИмяБазовогоТипаПоТипуОбъекта(ТипЗнч(Объект)) = "Документ" Тогда
    ...
    
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    а если не определена такая функция? :)
  12. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Так она написана 2 поста вверх =)
  13. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    ......... а "Если ЛЕВ(ТипЗнч(ОбъектСсылка),8) = "Документ" Тогда" работает везде и всегда :unsure:
  14. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В 8.2 не всегда будет работать - курите мануалы :)
  15. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Речь пока про 8.1 :)

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