Имя: Пароль:
1C
1С v8
Сформировать выборку из ТЧ и удалить эти значений из табличной части объект.
0 Wefast
 
05.11.16
05:30
Есть Табличная часть (1), состоящая из двух колонок "Свойство" и "В", где свойство это планывидовхарактеристик.дополнительныереквизиты...
а В = булево.

Есть объект. Справочник.НаборыДопРеквезитовиСведений.
с табличной частью(2) Дополнительные реквезиты. Одна из колонок там "Свойоство"

Мне нужно удалить значение табличной части где В = ИСТИНА из табличной части объекта.

А даже подогнал имена колонок, но что то ничего не получается.


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

Таблица = Объект.ТЧ.Выгрузить();
Отбор = НовыйСтруктура("В", ИСТИНА);
Строки = Таблица.НайтиСтроки(Отбор);

Т.ЗаполнитьЗначения(Строки);

Не работает.


Пробовал так:
    Таб = Новый ТаблицаЗначений();
    Таб.Колонки.Добавить("Свойство");
    дЛЯ кАЖДого строка из Объект.ТЧ Цикл
        Если Строка.В = ИСТИНА Тогда
            Таб.ЗаполнитьЗначения(Строка);
            // ИЛИ так Таб.ЗаполнитьЗначения(Строка.Свойство);
            
        КонецЕсли;
    КонецЦикла;

Пробовал и ЗагрузитьКолонку(Строки);
1 Wefast
 
05.11.16
05:42
Таб = Новый ТаблицаЗначений();
    Таб.Колонки.Добавить("Свойство");
    дЛЯ кАЖДого строка из Объект.ТЧ Цикл
        Если Строка.В = ИСТИНА Тогда
            С = Таб.Добавить();
            С.Свойство = Строка.Свойство;
        КонецЕсли;
    КонецЦикла;
    
    Спр = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_СпособыОтраженияЗарплатыВБухУчете.ПолучитьОбъект();
    Для каждого строка из Таб Цикл
        Отбор = Новый Структура("Свойство",Строка.Свойство);
        СтрДляУД = Спр.ДополнительныеРеквизиты.НайтиСтроки(Отбор);
        Для Каждого Ст из СтрДляУд Цикл
            
            Спр.ДополнительныеРеквизиты.Удалить(Ст);
        КонецЦИкла;
        
    КонецЦикла;
    Спр.Записать();
2 Wefast
 
05.11.16
05:42
Сделал так, но думаю можно как то нормально такие вещи делать