Использовать общий реквизит в выборке УчебныйУчетЗапросов

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

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

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

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

Подготовка

  1. В собственной пустой учебной конфигурации создайте план счетов УчебныеСчетаЗапросов: строковый код 10, максимум субконто 0. В предопределенных данных добавьте Актив (код УЧ-А, вид Активный) и Пассив (код УЧ-П, вид Пассивный), оба не забалансовые. Обновление учебной базы должно создать их как данные.

  2. Создайте регистр бухгалтерии УчебныйУчетЗапросов с планом УчебныеСчетаЗапросов и включенной Корреспонденцией. Длина уточнения периода 3, итоги включены. Измерения: Организация (Строка 20, Балансовый Истина), Подразделение (Строка 20, Балансовый Ложь).

  3. Ресурсы регистра: Сумма (Число 15.2, Балансовый Истина), Количество (Число 10.0, Балансовый Ложь). Признаки учета для ресурсов не назначайте: в этой учебной схеме они используются для обоих счетов. Реквизит регистра Комментарий (Строка 100). Общие реквизиты и субконто для этой партии не нужны.

  4. Создайте документ УчебнаяПроводкаЗапросов с разрешенным проведением и автонумерацией. Реквизиты: СчетДебета и СчетКредита (ПланСчетовСсылка.УчебныеСчетаЗапросов), Организация (Строка 20), ПодразделениеДебета и ПодразделениеКредита (Строка 20), Сумма (Число 15.2), КоличествоДебета и КоличествоКредита (Число 10.0), Комментарий (Строка 100).

  5. В движениях документа УчебнаяПроводкаЗапросов включите УчебныйУчетЗапросов. Обработчик проведения не нужен: проверочный блок отдельно записывает непроведённый собственный регистратор и его набор.

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

  7. Не добавляйте вместо него обычный реквизит с таким же именем. Это динамическое свойство именно общего реквизита, участвующего в данном регистре. Разделение пользователей и рабочих данных не включается.

  8. Обновите только учебную базу. Основной код вставьте в тело серверной процедуры своей учебной обработки. Каждый запуск создаёт новый собственный документ-регистратор; запись набора ограничена его ссылкой.

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

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

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

  1. Создаём новый собственный документ и фильтруем новый набор по его ссылке.

  2. Добавленная запись получает свои измерения / ресурсы и динамический общий реквизит УчебныйИсточник = ПРИМЕР.

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

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

  1. Сообщение содержит ПРИМЕР. Для выборки значение взято из сохранённой собственной записи, не из исходной локальной переменной.

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

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

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

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

  1. Выборка доступна только для чтения; присваивание выполняется Запись.УчебныйИсточник до записи набора.

  2. Отбор регистратора не удаляется, существующие рабочие движения не используются и не перепроводятся.

  3. Запись в учебную базу выполнится только при ручном запуске показанного BSL; при сборке HTML код не исполнялся.

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

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

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

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

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