0

Как скопировать структуру в 1с 8?

Существует несколько способов скопировать содержимое одной структуры в другую.

Самое простое решение, к которому прибегают начинающие программисты — это копирование всех свойств структуры с использованием цикла Для каждого:

НоваяСтруктура = Новый Структура;

Для каждого Элемент Из Структура Цикл
	НоваяСтруктура.Вставить(Элемент.Ключ, Элемент.Значение);
КонецЦикла;

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

Структура = Новый Структура;
Структура.Вставить("Код", 100);
Структура.Вставить("Наименование", "Стул деревянный");
Структура.Вставить("Остатки", Новый Структура);
Структура.Остатки.Вставить("Основной", 10);
Структура.Остатки.Вставить("Дополнительный", 3);

Согласитесь, накладно каждый раз продумывать и писать код для копирования)

Более универсальным будет использование встроенных функций ЗначениеВСтрокуВнутр() и ЗначениеИзСтрокиВнутр(). К тому же, можно уложиться в одну строку:

НоваяСтруктура = ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Структура));

Этот же способ можно использовать для копирования других коллекций (правда, в рамках одной информационной базы).

Читайте также:

  1. Программная работа со структурой

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *