v77 Как скопировать Таблицу значений с фильтром по колонке

Тема в разделе "FAQ", создана пользователем artemka, 29 сен 2015.

By artemka on 29 сен 2015 в 11:20
  1. artemka

    artemka Шнырь Команда форума

    Пример копирования ТЗ (Таблицы значений) с фильтром по какой-либо колонке:

    Код:
    // Создает копию таблицы значений с фильтром по значению в колонке
    // Сортировка при этом может нарушиться
    Функция ТЗ_ВыгрузитьСОтбором(тзДанные, ИмяКолонки, ЗначОтбора)
       
        КолСтр = 0;
       
        тзТмп = СоздатьОбъект("ТаблицаЗначений");
        тзДанные.Выгрузить(тзТмп);
       
        тзТмп.НоваяКолонка("_Уд");
       
        тзТмп.ВыбратьСтроки();
        Пока (тзТмп.ПолучитьСтроку() = 1) Цикл
            Если тзТмп.ПолучитьЗначение(тзТмп.НомерСтроки, ИмяКолонки) = ЗначОтбора Тогда // Ссылка на справочник
                КолСтр = КолСтр + 1;
                тзТмп._Уд = 1;
            КонецЕсли;
        КонецЦикла;
       
        тзТмп.Сортировать("+_Уд");
        тзТмп.УдалитьКолонку("_Уд");
       
        тзБуф = СоздатьОбъект("ТаблицаЗначений");
       
        Если КолСтр = 0 Тогда
            тзТмп.УдалитьСтроки(); // Очищаем таблицу
            Возврат тзТмп;
        КонецЕсли;
       
        тзТмп.Выгрузить(тзБуф, 1, КолСтр);
       
        Возврат тзБуф;   
       
    КонецФункции /CODE]
     
Sub-Categories: This article has no sub-categories

Комментарии

Тема в разделе "FAQ", создана пользователем artemka, 29 сен 2015.

Поделиться этой страницей