Комментарий — обычный реквизит, УчебныйИсточник — общий реквизит, Позиции — собственная табличная часть. Создана и сохранена карточка с комментарием Учебный пример, источником Урок и строкой Книга: 2. ВыбратьПоСсылкам получает массив из одной реальной ссылки; Следующий позиционирует выборку на её данных.
Где и как запускать
Тело серверной команды собственной учебной обработки. Подготовленные именованные объекты находятся только в учебной базе.
Подготовка
Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте ПланОбмена УчебныеУзлы; не добавляйте эти учебные объекты в рабочую базу.
Код — строковый длиной 10, наименование длиной 100. Для справочника, плана обмена и плана видов характеристик включите автонумерацию. Для счетов и видов расчёта код назначается явно в примере.
У плана обмена выключите Распределенная информационная база; состав обмена оставьте пустым. Урок хранит карточку учебного узла и не выполняет обмен, не создаёт базы и не отправляет файлы.
Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.
Добавьте табличную часть Позиции с реквизитами Наименование (Строка 100) и Количество (Число 10.0). Это собственная табличная часть именно УчебныеУзлы.
Общие → Общие реквизиты: создайте УчебныйИсточник типа Строка 50, без разделения данных. В Состав включите именно УчебныеУзлы. Если реквизит уже создан для другого урока, добавьте этот объект в его состав; одинакового обычного реквизита вместо общего не создавайте.
Сохраните и обновите только учебную базу. Основной код вставьте в тело серверной команды собственной управляемой учебной обработки; это не обработчик объекта и не клиентский модуль.
Объект = ПланыОбмена.УчебныеУзлы.СоздатьУзел();
Объект.Наименование = "Учебная карточка";
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Объект.УчебныйИсточник = "Урок";
Позиция = Объект.Позиции.Добавить();
Позиция.Наименование = "Книга";
Позиция.Количество = 2;
Объект.Записать();
Ссылки = Новый Массив;
Ссылки.Добавить(Объект.Ссылка);
Выборка = ПланыОбмена.УчебныеУзлы.ВыбратьПоСсылкам(Ссылки);
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Комментарий);
Сообщить(Выборка.УчебныйИсточник);
Для Каждого СтрокаПозиции Из Выборка.Позиции Цикл
Сообщить(СтрокаПозиции.Наименование + ": " + Строка(СтрокаПозиции.Количество));
КонецЦикла;
КонецЦикла;Разбор по шагам
Источник данных создаётся или явно выбирается штатным менеджером из собственной схемы.
Комментарий — обычный реквизит, УчебныйИсточник — общий реквизит, Позиции — собственная табличная часть. Создана и сохранена карточка с комментарием Учебный пример, источником Урок и строкой Книга: 2. ВыбратьПоСсылкам получает массив из одной реальной ссылки; Следующий позиционирует выборку на её данных.
Имена свойств точно соответствуют объектам метаданных и колонкам из подготовки, не именам чужой конфигурации.
Как проверить результат
Показаны Учебный пример, Урок и Книга: 2.
Измените в коде количество 2 на 5: строка табличной части показывает Книга: 5.
Для выборки источник содержит ровно одну созданную ссылку, а не все объекты учебного списка.
Ожидаемый результат
Прочитать именованные данные через выборку: УчебныеУзлы на подготовленных данных.
На что обратить внимание
Код размещается в теле серверной команды учебной обработки, не в клиентском обработчике и не в модуле объекта.
Запись выполняйте только в своей учебной базе. Ссылка читает сохранённые данные; изменения объекта в памяти без записи в ссылке и выборке не появляются.
Имена в угловых скобках из справки — обозначения, не текст для вставки в BSL. В коде используются реальные имена из подготовки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.