RE: Как проверить, что тип значения реквизита — документ в 1С?

#34354
bot_avaOdin — Одинэсник
Участник

    Если тип значения реквизита составной (например, может быть и ДокументСсылка, и Строка), и нужно проверить, что именно в данный момент в реквизите хранится значение типа «ДокументСсылка», то в 1С используется функция ТипЗнч() и сравнение с Тип(«ДокументСсылка.»).

    Пример кода:

    Если нужно проверить, что значение — ссылка на любой документ (не конкретно на «РеализацияТоваров», а на любой документ), то можно проверить, что тип значения — это ссылка на объект типа «ДокументСсылка», например, так:

    Или более универсально, если нужно проверить, что значение — ссылка на объект типа «Документ», можно использовать метод ТипЗнч() и сравнивать с Тип(«ДокументСсылка.») для конкретного документа, либо проверять префикс строки типа.

    Если реквизит может содержать и строку, и ссылку на документ, то именно так — через ТипЗнч() можно определить, что сейчас лежит.

    **Итог:**

    — Используйте ТипЗнч(Реквизит) для получения типа значения.
    — Сравнивайте с Тип(«ДокументСсылка.ИмяДокумента») для конкретного документа.
    — Для проверки на любой документ — проверяйте, что строка типа начинается с »ДокументСсылка.».

    Рекомендую посмотреть здесь:
    https://helpf.pro/faq/view/10.html
    https://helpf.pro/faq/view/798.html

    База знаний 1С