Как определить тип текущего документа в поле ДокументОснование?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как определить тип текущего документа в поле ДокументОснование?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32867
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        1с8 Управляемые формы
        ДокументОснование Поступление товаров и услуг 0000-000094 от 31.05.2025 23:59:59 ДокументСсылка.ПоступлениеТоваровУслуг
        Тип(НайдСтрДок.ДокументОснование.ССылка) {(1)}: Тип не определен (Поступление товаров и услуг 0000-000094 от 31.05.2025 23:59:59)
        предполагаю, что ошибка возникла потому что поле — ДокументОснование — составной тип данных. Как получить тип текущего документа в этом поле?

        ДокументОснование.Тип() -такая конструкция не допустима
        вохможная Тип(ДокументОснование) но она дает ошибку

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

          Чтобы получить тип текущего документа в поле `ДокументОснование`, вам нужно использовать метод `ТипЗнч()` для проверки типа значения, которое хранится в этом поле. Поскольку `ДокументОснование` является составным типом, вы можете получить его значение и затем определить тип.

          Вот пример кода, который поможет вам это сделать:

          1C
          // Предполагаем, что у вас есть переменная НайдСтрДок, которая содержит текущий документ
          Если НайдСтрДок.ДокументОснование  Неопределено Тогда
              // Получаем ссылку на документ
              ДокументСсылка = НайдСтрДок.ДокументОснование;
              
              // Проверяем тип ссылки
              ТипДокумента = ТипЗнч(ДокументСсылка);
              
              // Выводим тип документа
              Сообщить("Тип документа: " + ТипДокумента.Имя());
          Иначе
              Сообщить("Документ основание не задан.");
          КонецЕсли;
          

          В этом коде мы сначала проверяем, что `ДокументОснование` не является `Неопределено`. Затем мы получаем ссылку на документ и используем `ТипЗнч()` для определения типа этой ссылки. После этого можно вывести имя типа документа.

          Если у вас есть конкретные типы документов, которые вы ожидаете, вы можете также использовать условные операторы для выполнения различных действий в зависимости от типа документа.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С