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

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

  1. TopicStarter Overlay
    Venturion
    Offline

    Venturion

    Регистрация:
    3 апр 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Справочник имеет реквизит, даный реквизит имеет составной тип. Как определить у выбранного элемента данного реквизита тип(вид) или ссылку на реквизит выбранного элемента?
  2. lazy
    Offline

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

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Встроенные функции языка
    ТипЗнч (TypeOf)
    Синтаксис:
    ТипЗнч(<Значение>)
    Параметры:
    <Значение> (обязательный)
    Тип: Произвольный. Значение, тип которого необходимо получить.
    Возвращаемое значение:
    Тип: Тип.
    Описание:
    Получает тип значения.
    Пример:
    Код:
    Если ТипЗнч(ТекОбъект) = Тип("СправочникСсылка.Номенклатура") Тогда
    ...
    КонецЕсли;
    
  3. TopicStarter Overlay
    Venturion
    Offline

    Venturion

    Регистрация:
    3 апр 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Всеравно не догоняю ... мне что через "Если" все обьекты прописанные перебирать ...

    Пример:
    Спр.Контрагенты.Лицо = СправочникСсылка.ЮридическиеЛица, СправочникСсылка.ФизическиеЛица ... и тд.
    Спр.ФизическиеЛица.ФИО

    Как зная Спр.Контрагенты.Лицо получить ФИО?
  4. eviloid
    Offline

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    зачем все? только те, у которых есть, нужный тебе реквизит "ФИО"...

    Код:
    Если ТипЗнч(Спр.Контрагенты.Лицо) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
    // это физ. лицо
    Стр = Спр.Контрагенты.Лицо.ФИО;
    Иначе
    // а это организация
    Стр = Спр.Контрагенты.Лицо.Наименование;
    КонецЕсли;
    Сообщить(Стр);
    
    :unsure:
  5. TopicStarter Overlay
    Venturion
    Offline

    Venturion

    Регистрация:
    3 апр 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Наверное не удачный пример привел. реквизиту установлено тип справочник.ссылка и док.ссылка тоесть по вашему я должен все справочники и документы перебрать через "Если" ... не лучшая идея ... я вот и спрашиваю а по проще зная тип обьекта как к нему обратиться (к реквизиту того обьекта)?

    Представте знаем тип реквизита находим его и прописываем условия для этого реквизита в запросе. далее берем другой и ему и тд. У по вашему еше и все перебирать где есть нужный реквизит. поиск проходит по артикулу (некий номер организации + подразделения, или торг точки где может быть несколько организаций и подразделений). Будь там 2-5 условий на если это былоб просто ...
  6. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В запросе делают через ВЫРАЗИТЬ и проверку на NULL.

    И объясните задачу, ЧТО делать, а не КАК.

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