Содержит в реквизитах метаданных документа не срабатывает

1. VoVo 18.02.23 10:27 Сейчас в теме
Здравствуйте, не пойму почему возвращает ложь данная проверка:
МетаданныеДока.Реквизиты.Содержит(Метаданные.Справочники.Организации)

Хотя организация в метаданных документа есть, приложил на первом скрине.
Не пойму что сделал не так, или тут только циклом?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
5. user1880116 19.02.23 13:29 Сейчас в теме
(4)
похоже это баг
Это не баг. Просто применение этого метода коллекции не имеет смысла в данном случае с реквизитами. А вот в других случаях - вполне.
Данные = Справочники.Справочник1;
...
Мета = Метаданные.НайтиПоТипу(ТипЗнч(Данные));
Если Метаданные.Документы.Содержит(Мета) Тогда
	Сообщить("Это документ!");
ИначеЕсли Метаданные.Справочники.Содержит(Мета) Тогда
	Сообщить("Это справочник!");
КонецЕсли;
6. spacecraft 19.02.23 13:36 Сейчас в теме
(5) про "другие" случаи вполне понятно, так как коллекция объектов метаданных содержит ОбъектМетаданных одной сущности с объектами конфигурации.

PS. ну и про "баг". В СП приводятся данные:
ОбъектМетаданных: Документ (MetadataObject: Document)
Реквизиты (Attributes)
Использование:
Только чтение.
Описание:
Тип: КоллекцияОбъектовМетаданных.

В свою очередь идет интерактивная ссылка на:
КоллекцияОбъектовМетаданных (MetadataObjectCollection)
Элементы коллекции:

где приведены объекты метаданных объектов конфигурации, что в данном случае совсем не правильно, так это другие сущности.
7. RustamZz 19.02.23 15:10 Сейчас в теме
(3) Я в том смысле, что проверить можно только на реквизит Объекта, а не для использования. Не представляю для чего может пригодиться
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 19.02.23 10:57 Сейчас в теме
(1) Это не так работает.
МетаданныеДока.Реквизиты.Содержит(МетаданныеДока.Реквизиты.Организация)
3. spacecraft 19.02.23 12:52 Сейчас в теме
(2) и получить исключение, если реквизита МетаданныеДока.Реквизиты.Организация нет. А если есть, значит точно Содержит и знаем его имя.
7. RustamZz 19.02.23 15:10 Сейчас в теме
(3) Я в том смысле, что проверить можно только на реквизит Объекта, а не для использования. Не представляю для чего может пригодиться
8. VoVo 20.02.23 09:05 Сейчас в теме
(2)
(7)
Задумка использовать для того, чтобы сделать единый алгоритм отбора в РС, если есть доки, то поиск в них реквизита организации, если есть, то сравниваем с нужной. Для правил кд2, иначе для РС по эдо, при переносе, а их нужно по заданию переносить, если не делать отбор полезут не нужные, с ненужными организациями, которые переносить не нужно
11. VoVo 20.02.23 09:08 Сейчас в теме
(7)Может поиск наличия реквизита организация и не нужен тоже верно. В субботу не сообразил, похоже переработал)
4. spacecraft 19.02.23 13:02 Сейчас в теме
(1) похоже это баг (или уже можно считать - фича).
Обычно это не требуется. Скорее используется поиск наличия самого реквизита.

PS. ОбъектМетаданных объекта конфигурации и ОбъектМетаданных реквизита это по сути разные сущности.
5. user1880116 19.02.23 13:29 Сейчас в теме
(4)
похоже это баг
Это не баг. Просто применение этого метода коллекции не имеет смысла в данном случае с реквизитами. А вот в других случаях - вполне.
Данные = Справочники.Справочник1;
...
Мета = Метаданные.НайтиПоТипу(ТипЗнч(Данные));
Если Метаданные.Документы.Содержит(Мета) Тогда
	Сообщить("Это документ!");
ИначеЕсли Метаданные.Справочники.Содержит(Мета) Тогда
	Сообщить("Это справочник!");
КонецЕсли;
6. spacecraft 19.02.23 13:36 Сейчас в теме
(5) про "другие" случаи вполне понятно, так как коллекция объектов метаданных содержит ОбъектМетаданных одной сущности с объектами конфигурации.

PS. ну и про "баг". В СП приводятся данные:
ОбъектМетаданных: Документ (MetadataObject: Document)
Реквизиты (Attributes)
Использование:
Только чтение.
Описание:
Тип: КоллекцияОбъектовМетаданных.

В свою очередь идет интерактивная ссылка на:
КоллекцияОбъектовМетаданных (MetadataObjectCollection)
Элементы коллекции:

где приведены объекты метаданных объектов конфигурации, что в данном случае совсем не правильно, так это другие сущности.
12. VoVo 20.02.23 09:13 Сейчас в теме
9. VoVo 20.02.23 09:05 Сейчас в теме
(5)Задумка использовать для того, чтобы сделать единый алгоритм отбора в РС, если есть доки, то поиск в них реквизита организации, если есть, то сравниваем с нужной. Для правил кд2, иначе для РС по эдо, при переносе, а их нужно по заданию переносить, если не делать отбор полезут не нужные, с ненужными организациями, которые переносить не нужно
10. VoVo 20.02.23 09:07 Сейчас в теме
(9)Хотя доки без организаций, не появятся в таких регистрах. Вот что значит выходные отдохнул, голова соображать стала)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот