Почему не все поля набора данных СКД доступны компоновщику при инициализации?

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

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

        почему не все поля из набора данных схемы компоновки данных попадают в доступные поля компоновщика настроек компоновки данных при инициализации

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

          Не все поля из набора данных Схемы Компоновки Данных (СКД) попадают в доступные поля компоновщика настроек при инициализации по нескольким причинам, связанным с логикой работы СКД и механизмом формирования доступных полей:

          1. **Ограничения доступности поля**
          В настройках поля (в том числе вычисляемого) могут быть установлены ограничения доступности: запрет на использование поля в выборках, условиях, группировках или сортировках. Если для поля установлен запрет на использование в выборках (например, галочка «Поле» в ограничениях доступности), оно не попадёт в доступные поля компоновщика настроек.

          2. **Права доступа пользователя**
          Если у текущего пользователя нет прав на просмотр определённых полей (например, по настройкам безопасности или функциональным опциям), такие поля исключаются из доступных. Это касается и системных полей, и пользовательских вычисляемых.

          3. **Использование функциональных опций**
          Поля, связанные с выключенными функциональными опциями, считаются недоступными и не включаются в доступные поля.

          4. **Автозаполнение доступных полей**
          При инициализации набора данных есть параметр `АвтоЗаполнениеДоступныхПолей`. Если он выключен, то поля не заполняются автоматически, и доступные поля компоновщика могут быть неполными. Включение этого параметра помогает автоматически подгрузить поля из запроса, но даже при включённом автозаполнении ограничения и права остаются в силе.

          5. **Особенности вычисляемых полей**
          Вычисляемые поля, особенно если они используют в выражениях недоступные или запрещённые поля, могут не попадать в доступные, так как система считает их недоступными или некорректными.

          6. **Параметры запроса и «жёсткие» параметры**
          Параметры запроса (например, `&Параметр`) не считаются полями набора данных и попадают в отдельную группу «Параметры» в отборе, но не в доступные поля компоновщика настроек. Их нельзя отключить через настройки компоновщика.

          7. **Особенности внутренней реализации СКД**
          Коллекции доступных полей компоновщика настроек формируются не напрямую из набора данных, а через объект `ИсточникДоступныхНастроекКомпоновкиДанных`, который фильтрует и обрабатывает поля с учётом всех вышеуказанных ограничений и правил.

          **Итого:**
          Не все поля из набора данных попадают в доступные поля компоновщика настроек, потому что система учитывает ограничения доступности, права пользователя, функциональные опции, особенности вычисляемых полей и параметры запроса. Это сделано для обеспечения корректности и безопасности формирования отчётов.

          Рекомендую посмотреть здесь:
          https://helpf.pro/faq/view/747.html
          https://infostart.ru/1c/articles/1607972/

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