База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку использования составного или определяемого типа в измерении
- В этой теме 1 ответ, 2 участника, последнее обновление 2 минуты назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
21 сентября 2026 в 5:39 #38680
РегистрСведений.ITFOXHTTP_СтатусыВыгрузки.Измерение.Объект: Использование наборов типов и определяемых типов в расширении недопустимо
-
21 сентября 2026 в 5:39 #38681
Ошибка означает, что в расширении у измерения регистра сведений
ITFOXHTTP_СтатусыВыгрузки.Объектустановлен тип, который 1С запрещает использовать в структуре регистра:— составной тип, например
СправочникСсылка.Номенклатура + ДокументСсылка...;
— определяемый тип;
— составной тип, в состав которого входит определяемый тип;
— типПроизвольнаяСсылкаили другая универсальная ссылка, если она задана через набор типов.В расширениях 1С для измерений регистров сведений разрешены только конкретные типы.
## Что проверить
Откройте конфигуратор:
1. Расширение конфигурации.
2. Регистры сведений.
3.ITFOXHTTP_СтатусыВыгрузки.
4. ИзмерениеОбъект.
5. Проверьте свойство Тип.Скорее всего, там указано что-то вроде:
1С (Код)1Составной тип данныхили:
1С (Код)1Определяемый типНапример:
1С (Код)12ДокументСсылка.РеализацияТоваровУслугСправочникСсылка.Номенклатураили несколько ссылочных типов одновременно.
Для измерения регистра в расширении такой вариант недопустим.
## Вариант 1. Указать конкретный ссылочный тип
Если регистр используется только для одного вида объекта, укажите конкретный тип.
Например, если отслеживаются статусы выгрузки документов реализации:
1С (Код)1ДокументСсылка.РеализацияТоваровУслугЕсли отслеживается номенклатура:
1С (Код)1СправочникСсылка.НоменклатураПосле изменения выполните:
1. Проверка конфигурации.
2. Обновление конфигурации базы данных.
3. Перезапуск 1С, если ошибка продолжает отображаться.## Вариант 2. Хранить универсальный объект через строковые идентификаторы
Если регистр должен работать с разными видами объектов, например с документами, справочниками и регистрами, составной тип для измерения использовать нельзя.
Вместо измерения
Объектсделайте, например, два измерения:1С (Код)12ТипОбъекта Строка, 100ИдентификаторОбъекта Строка, 36Пример значений:
1С (Код)12ТипОбъекта = "Документ.РеализацияТоваровУслуг"ИдентификаторОбъекта = "8b6f1e2c-3e6e-4f31-9dd4-6c7b5e9a1234"Либо можно использовать один строковый ключ:
1С (Код)1ОбъектКлюч Строка, 200Со значением:
1С (Код)1Документ.РеализацияТоваровУслуг|8b6f1e2c-3e6e-4f31-9dd4-6c7b5e9a1234Но предпочтительнее два отдельных измерения, поскольку по ним проще выполнять отборы и анализировать данные.
Код формирования ключа:
1С (Код)1234ТипОбъекта = Метаданные.НайтиПоТипу(ТипЗнч(Объект)).ПолноеИмя();ИдентификаторОбъекта = Объект.УникальныйИдентификатор();КлючОбъекта = ТипОбъекта + "|" + Строка(ИдентификаторОбъекта);Если метод
УникальныйИдентификатор()недоступен для конкретного типа объекта, можно использовать:1С (Код)1ИдентификаторОбъекта = Строка(Объект.Ссылка.УникальныйИдентификатор());Для ссылочного объекта:
1С (Код)1234СсылкаНаОбъект = Объект.Ссылка;ТипОбъекта = Метаданные.НайтиПоТипу(ТипЗнч(СсылкаНаОбъект)).ПолноеИмя();ИдентификаторОбъекта = Строка(СсылкаНаОбъект.УникальныйИдентификатор());## Вариант 3. Разделить регистр по типам объектов
Если нужно хранить статусы выгрузки для нескольких разных объектов, можно сделать отдельные регистры:
1С (Код)123ITFOXHTTP_СтатусыВыгрузкиДокументовITFOXHTTP_СтатусыВыгрузкиНоменклатурыITFOXHTTP_СтатусыВыгрузкиКонтрагентовВ каждом регистре измерение
Объектбудет иметь конкретный тип:1С (Код)1ДокументСсылка.ИмяДокументаили:
1С (Код)1СправочникСсылка.ИмяСправочникаЭто наиболее типобезопасный вариант, но он увеличивает количество объектов метаданных.
## Вариант 4. Перенести регистр в основную конфигурацию
Если у вас есть возможность изменять основную конфигурацию, а не только расширение, регистр можно создать в основной конфигурации. Однако это не всегда решает задачу автоматически.
Даже в основной конфигурации составной тип для измерения регистра обычно является плохим решением:
1С (Код)123СправочникСсылка.НоменклатураДокументСсылка.РеализацияТоваровУслугДокументСсылка.ПоступлениеТоваровУслугТакой регистр сложнее использовать, индексировать и сопровождать. Для универсальной регистрации объектов лучше хранить тип и идентификатор отдельно.
## Если нужен именно ссылочный объект
Иногда разработчик хочет хранить в регистре объект с типом
ПроизвольнаяСсылка. В расширении так сделать нельзя. Замените измерение:1С (Код)1Объектна:
1С (Код)1СсылкаОбъектас конкретным типом, если тип объекта известен.
Если тип заранее неизвестен, используйте:
1С (Код)12ИмяМетаданных Строка, 100УИДОбъекта Строка, 36Например:
1С (Код)12ИмяМетаданных = "Документ.ЗаказКлиента"УИДОбъекта = "3f2d3b9c-9d01-4a08-a2ef-6c6f8b7e1234"## Что сделать в вашем случае
Для регистра статусов HTTP-выгрузки я бы заменил измерение
Объектна следующие измерения:1С (Код)12ИмяОбъектаМетаданных Строка, 150УникальныйИдентификатор Строка, 36Например:
1С (Код)12ИмяОбъектаМетаданных = "Документ.РеализацияТоваровУслуг"УникальныйИдентификатор = "8b6f1e2c-3e6e-4f31-9dd4-6c7b5e9a1234"А текущий составной или определяемый тип у измерения
Объектудалить.Если статус относится только к одному документу, оставьте одно измерение с конкретной ссылкой, например:
1С (Код)1ДокументСсылка.РеализацияТоваровУслугСама ошибка не связана с данными регистра или его заполнением. Это ограничение структуры метаданных расширения.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.