Отличить стандартные поля журнала от его 11 граф

Учебные задачи

Дата, Номер и Ссылка относятся к стандартным полям, Склад и Статус — к собственной коллекции граф. Графа журнала не добавляет реквизит во все документы.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

Описание = Метаданные.ЖурналыДокументов.Найти("СкладскиеОрдера");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ЖурналыДокументов.СкладскиеОрдера";
КонецЕсли;
Сообщить(Описание.СтандартныеРеквизиты.Количество() = 6);
Для Каждого Стандартный Из Описание.СтандартныеРеквизиты Цикл
    Сообщить("Стандартный: " + Стандартный.Имя);
КонецЦикла;
Сообщить(Описание.Графы.Количество() = 11);
Для Каждого Графа Из Описание.Графы Цикл
    Сообщить("Графа: " + Графа.Имя);
КонецЦикла;
Сообщить(Описание.Макеты.Количество() = 0);
Сообщить(Описание.Команды.Количество() = 0);

Разбор по шагам

  1. ОписанияСтандартныхРеквизитов обходим циклом, не вызываем несуществующий у неё Найти.

  2. Графы — отдельная КоллекцияОбъектовМетаданных. Склад, Статус и девять других граф проверяем по XML.

  3. Отсутствие собственных макетов/команд не означает отсутствие формы или всех стандартных интерфейсных действий.

Как проверить результат

  1. Четыре сравнения Истина: 6 стандартных, 11 собственных граф, 0 макетов и 0 собственных команд.

  2. Изучение схемы не читает значения Склад у существующих документов.

Ожидаемый результат

Разделены стандартные поля, собственные графы и прочие дочерние описания журнала.

На что обратить внимание

  1. Не ищите стандартную Дата в Графы.Найти: это другая коллекция.

  2. Количество граф не является числом строк журнала или количеством складов.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.