Процедура СкопироватьКлючиИЗначенияСтруктуры(Приемник, Источник, Заменять = Неопределено)
Для Каждого Элемент Из Источник Цикл
Если Заменять <> Истина И Приемник.Свойство(Элемент.Ключ) Тогда
Если Заменять = Ложь Тогда
Продолжить;
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Пересечение ключей источника и приемника: ""%1"".'"),
Элемент.Ключ);
КонецЕсли
КонецЕсли;
Приемник.Вставить(Элемент.Ключ, Элемент.Значение);
КонецЦикла;
КонецПроцедуры
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Приемник, Источник, Заменять);
// Параметры:
// Приемник - Структура - коллекция, в которую будут добавляться новые значения.
// Источник - Структура - коллекция, из которой будут считываться пары Ключ и Значение для заполнения.
// Заменять - Булево
// - Неопределено - что делать в местах пересечения ключей источника и приемника:
// Истина - заменять значения приемника (самый быстрый способ),
// Ложь - не заменять значения приемника (пропускать),
// Неопределено - значение по умолчанию. Бросать исключение.
//