Перенести только разрешённые поля между структурами

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

Показываем явный список переносимых свойств, чтобы не заменить лишние настройки.

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

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

Подготовка

  1. Обе структуры создаются в памяти.

  2. Цена=999 у приёмника должна сохраниться.

Источник = Новый Структура("Название,Количество,Цена", "Книга", 3, 150);
Приёмник = Новый Структура("Название,Количество,Цена", "", 0, 999);
ЗаполнитьЗначенияСвойств(Приёмник, Источник, "Название,Количество");
Сообщить(Приёмник.Название);
Сообщить(Приёмник.Количество);
Сообщить(Приёмник.Цена);

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

  1. Создаём источник и приёмник с одинаковыми именами полей.

  2. Третий параметр ограничивает перенос двумя указанными свойствами.

  3. Проверяем перенесённые поля и неизменённую цену.

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

  1. Результат Книга; 3; 999.

  2. Добавьте Цена в список: значение станет 150.

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

Название и количество перенесены, цена не затронута.

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

  1. Метод не реализует проверку бизнес-правил и не записывает объекты в базу.

  2. Не переносите все поля внешнего ответа без белого списка.

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

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

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

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

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