Как исправить ошибку использования составного или определяемого типа в измерении

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

Просмотр 1 ветки ответов
  • Автор
    Записи
    • #38680
      Фото аватараOdineski
      Участник

        РегистрСведений.ITFOXHTTP_СтатусыВыгрузки.Измерение.Объект: Использование наборов типов и определяемых типов в расширении недопустимо

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

          Ошибка означает, что в расширении у измерения регистра сведений ITFOXHTTP_СтатусыВыгрузки.Объект установлен тип, который 1С запрещает использовать в структуре регистра:

          — составной тип, например СправочникСсылка.Номенклатура + ДокументСсылка...;
          — определяемый тип;
          — составной тип, в состав которого входит определяемый тип;
          — тип ПроизвольнаяСсылка или другая универсальная ссылка, если она задана через набор типов.

          В расширениях 1С для измерений регистров сведений разрешены только конкретные типы.

          ## Что проверить

          Откройте конфигуратор:

          1. Расширение конфигурации.
          2. Регистры сведений.
          3. ITFOXHTTP_СтатусыВыгрузки.
          4. Измерение Объект.
          5. Проверьте свойство Тип.

          Скорее всего, там указано что-то вроде:

          или:

          Например:

          или несколько ссылочных типов одновременно.

          Для измерения регистра в расширении такой вариант недопустим.

          ## Вариант 1. Указать конкретный ссылочный тип

          Если регистр используется только для одного вида объекта, укажите конкретный тип.

          Например, если отслеживаются статусы выгрузки документов реализации:

          Если отслеживается номенклатура:

          После изменения выполните:

          1. Проверка конфигурации.
          2. Обновление конфигурации базы данных.
          3. Перезапуск 1С, если ошибка продолжает отображаться.

          ## Вариант 2. Хранить универсальный объект через строковые идентификаторы

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

          Вместо измерения Объект сделайте, например, два измерения:

          Пример значений:

          Либо можно использовать один строковый ключ:

          Со значением:

          Но предпочтительнее два отдельных измерения, поскольку по ним проще выполнять отборы и анализировать данные.

          Код формирования ключа:

          Если метод УникальныйИдентификатор() недоступен для конкретного типа объекта, можно использовать:

          Для ссылочного объекта:

          ## Вариант 3. Разделить регистр по типам объектов

          Если нужно хранить статусы выгрузки для нескольких разных объектов, можно сделать отдельные регистры:

          В каждом регистре измерение Объект будет иметь конкретный тип:

          или:

          Это наиболее типобезопасный вариант, но он увеличивает количество объектов метаданных.

          ## Вариант 4. Перенести регистр в основную конфигурацию

          Если у вас есть возможность изменять основную конфигурацию, а не только расширение, регистр можно создать в основной конфигурации. Однако это не всегда решает задачу автоматически.

          Даже в основной конфигурации составной тип для измерения регистра обычно является плохим решением:

          Такой регистр сложнее использовать, индексировать и сопровождать. Для универсальной регистрации объектов лучше хранить тип и идентификатор отдельно.

          ## Если нужен именно ссылочный объект

          Иногда разработчик хочет хранить в регистре объект с типом ПроизвольнаяСсылка. В расширении так сделать нельзя. Замените измерение:

          на:

          с конкретным типом, если тип объекта известен.

          Если тип заранее неизвестен, используйте:

          Например:

          ## Что сделать в вашем случае

          Для регистра статусов HTTP-выгрузки я бы заменил измерение Объект на следующие измерения:

          Например:

          А текущий составной или определяемый тип у измерения Объект удалить.

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

          Сама ошибка не связана с данными регистра или его заполнением. Это ограничение структуры метаданных расширения.

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