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

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

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

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

Тело серверной процедуры собственной учебной обработки; не модуль проведения и не рабочая база.

Подготовка

  1. Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте Документ УчебнаяЗаписка; не добавляйте эти учебные объекты в рабочую базу.

  2. Для документа задайте строковый номер длиной 12 с автонумерацией. Проведение для этой учебной записки не требуется; код выполняет только обычную запись.

  3. Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.

  4. Общие → Общие реквизиты: создайте УчебныйИсточник типа Строка 20 или используйте ранее созданный с достаточной длиной. Разделение данных = Не использовать; в состав явно включите документ УчебнаяЗаписка.

  5. Не создавайте обычный реквизит документа с тем же именем: пример читает именно общий реквизит из таблицы документа. Обновите только учебную базу.

  6. Выполните основной код в теле серверной процедуры своей учебной обработки. Новый собственный документ записывается без проведения, запрос читает только его ссылку.

Объект = Документы.УчебнаяЗаписка.СоздатьДокумент();
Объект.Дата = Дата(2026, 10, 14);
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Объект.УчебныйИсточник = "ПРИМЕР";
Объект.Записать();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Документ.УчебныйИсточник КАК Источник
|ИЗ Документ.УчебнаяЗаписка КАК Документ
|ГДЕ Документ.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
    Сообщить("Общий реквизит сохранённого документа: " + Выборка.Источник);
КонецЕсли;

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

  1. Создаём собственную УчебнаяЗаписка и записываем УчебныйИсточник = ПРИМЕР.

  2. Запрос выбирает конкретное поле общего реквизита, не строковое имя из неизвестной конфигурации.

  3. Параметр Ссылка ограничивает чтение именно созданным учебным документом. Следующий устанавливает текущую строку перед чтением Источник.

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

  1. Сообщение содержит ПРИМЕР из сохранённого документа.

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

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

Динамическое поле общего реквизита прочитано из настоящей собственной таблицы документа.

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

  1. В запросе используется сингулярный корень Документ, в BSL — менеджер Документы.

  2. Общий реквизит не является разделителем в этой подготовке. У разделителей и виртуальных таблиц регистров другие условия доступности.

  3. Код сохраняет только собственный новый документ при ручном запуске в учебной базе; браузер справочника его не выполняет.

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

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

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

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

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