Каталог решений - Лайфхак: Три метода для таблицы значений

Лайфхак: Три метода для таблицы значений

Лайфхак: Три метода для таблицы значений

В наличии

Для тех, кто часто использует ТаблицаЗначений. Три метода для облегчения работы с этим объектом.
Лично мне их не хватает, надеюсь разработчики платформы добавят в будущем.

Категория:

Описание

 

1) Создать ТЗ с колонками в одну строку, заменяя

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Имя");
ТЗ.Колонки.Добавить("Код");
ТЗ.Колонки.Добавить("Наименование");

на

ТЗ = НовыйТаблицаЗначений("Имя,Код,Наименование");

добавьте в свой код описание метода:

Функция НовыйТаблицаЗначений(Знач СтруктураКолонок)
    
    ТЗ = Новый ТаблицаЗначений;
    СтруктураКолонок = СтрЗаменить(СтруктураКолонок, " ", "") + ",";
    ПозРазд = Найти(СтруктураКолонок, ",");
    
    Пока ПозРазд > 0 Цикл
        ТЗ.Колонки.Добавить(Лев(СтруктураКолонок, ПозРазд - 1));
        СтруктураКолонок = Сред(СтруктураКолонок, ПозРазд + 1);
        ПозРазд = Найти(СтруктураКолонок, ",");
    КонецЦикла;
    
    Возврат ТЗ;
    
КонецФункции

 

2) Добавить строку ТЗ, заменяя

НовСтр = ТЗ.Добавить();
НовСтр.Имя = Имя;
НовСтр.Код = Код;


на

НовСтр = ДобавитьСтрокуТЗ(ТЗ, Новый Структура("Имя, Код", Имя, Значение, Код));
 

добавьте описание свой в код:

Функция ДобавитьСтрокуТЗ(ТЗ, ЗначенияПолей)
    
    НовСтр = ТЗ.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтр, ЗначенияПолей);
    Возврат НовСтр;

КонецФункции

 

3) Краткий кусок кода для добавления к ТЗ строк другой Таблицы значений

Не метод. Старый способ, но может кто-то не знает:

Для Каждого СтрокаТЗ Из ТЗИсточник Цикл

ЗаполнитьЗначенияСвойств(ТЗПриемник.Добавить(), СтрокаТЗ);

КонецЦикла;

 

has been added to your cart:
Оформление заказа