База знаний Одина — Одинэсника Форумы 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 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.