Имя: Пароль:
1C
1С v8
Как удалить все последующие строки в управляемой форме без записи объекта?
0 URAL
 
25.01.14
18:52
Подскажите плиз нужно сделать удаление всех предыдущих строк после текущей в табличной части управляемой формы. На скорую руку сделал удаление через сервер но приходиться записывать после объект. понимаю что это не совсем правильно, и скорее есть метод сделать это как то иначе, а вот как незнаю



&НаКлиенте
Процедура ТаблицаКомплектацииКомплект1Очистка(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка=ложь;
    ТекущаяСтрока = Элементы.ТаблицаКомплектации.ТекущиеДанные;
    УдалитьвсеПоследующиеЗначения(ТекущаяСтрока.НомерСтроки,Элемент.Имя);
    ЭтаФорма.Прочитать();    
КонецПроцедуры

&Насервере
Процедура УдалитьвсеПоследующиеЗначения(НомерНСтроки,ИмяКолонки) Экспорт
    НО = РеквизитФормыВЗначение("Объект");
    ТЧ = НО.ТаблицаКомплектации;
    сч= НомерНСтроки;
    НК = СРЕД(ИмяКолонки,20);
    Для Каждого Стр из ТЧ Цикл
        Если Стр.НомерСтроки = сч Тогда
            Стр[НК] ="";
            сч = сч+1;
        КонецЕсли;
    КонецЦикла;
    НО.Записать();
    
КонецПроцедуры // УдалитьвсеПоследующиеЗначения()
1 Лефмихалыч
 
25.01.14
18:56
вместо Записать() попробуй ЗначениеВРеквизитФормы()
2 URAL
 
25.01.14
19:05
(1) Спасибо, сейчас отрабатывает моментально
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой