Почему метод ВыгрузитьКолонку формирует массив пустых ссылок в 1С?

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #38364
      Фото аватараOdineski
      Участник

        почему в объекте ЗаявкиНаРасходованиеДенежныхСредств команда РасшифровкаПлатежа.ВыгрузитьКолонку(«СтатьяДвиженияДенежныхСредств») формирует массив несмотря на то что в колонке СтатьяДвиженияДенежныхСредств ПустаяСсылка ?

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

          В 1С, когда у вас есть табличная часть (например, РасшифровкаПлатежа) и вы вызываете метод ВыгрузитьКолонку(«СтатьяДвиженияДенежныхСредств»), то результатом будет массив значений из этой колонки для всех строк табличной части.

          Если в колонке «СтатьяДвиженияДенежныхСредств» стоит ПустаяСсылка (то есть значение ссылки на справочник или документ, равное пустой ссылке), то в массиве вы получите именно эти пустые ссылки, а не пустые значения или Null.

          То есть:

          — ПустаяСсылка — это валидное значение ссылки, просто указывающее на «ничего».
          — ВыгрузитьКолонку всегда формирует массив, где каждый элемент — значение из соответствующей строки.
          — Если в колонке пустые ссылки, то в массиве будут именно пустые ссылки, а не пустые элементы или Null.

          Поэтому массив формируется всегда, и в нем могут быть пустые ссылки, а не отсутствие элементов.

          Если нужно проверить, что в колонке именно пустые ссылки, то надо проверять элементы массива на равенство ПустойСсылке соответствующего справочника, например:

          |Для Каждого Элемента Из Массив Цикл
          | Если Элемент = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка() Тогда
          | // Это пустая ссылка
          | КонецЕсли;
          |КонецЦикла;

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

          Рекомендую посмотреть здесь, как работать с пустыми ссылками в запросах и объектах:
          https://helpf.pro/faq/view/1063.html

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