Как програмно удалить текущую строку из табличного поля. #444277


#0 by LLIaMaH
Не могу разобраться толком в связке табличное поле - данные табличного поля. Вобщем есть ТП ХХХ содержащее древо значений с темже именем ХХХ, есть необходимость удалить програмно строку где стоит курсор. ХХХ.Строки.Удалить(ЭлементыФормы.ХХХ.ТекущаяСтрока); Ругается что строка не принадлежит коллекции. Получается что табличное поле и древо разные коллекции, но как тогда связать текущую строку табличного поля с программным древом...
#1 by XLife
ХХХ.Строки.Удалить(ХХХ.Строки.Найти(...));
#2 by Point
а если не найдет, то функция Найти возвращает "НЕОПРЕДЕЛЕНО", тогда при Удалить возникнет Искл.Ситуация. Лучше сначало найти, проверить на неопределено, если все нормально тогда удалять
#3 by densis
Удалить(<Индекс>)  ... помоему в помошнике все описанно!
#4 by XLife
эт понятно)) он спросил как... а уж как напишет, так и отработает))
#5 by Mitriy
ХХХ.Строки.Удалить(ЭлементыФормы.ХХХ.ТекущиеДанные);
#6 by LLIaMaH
Табличное поле ХХХ, что в интерфейсе, и древо ХХХ, что в памяти, формально разные наборы, связанные вместе, поэтому получение индексов и поиск по текущим строкам не работаю, я так понял. Получается единственный выход искать по значениям ссылок из колонок-строк Табличного поля в Древе и потом удалять. Для табличного поля не обнаружил получение номера строки или его индекса ваще ничего подобного. Как вариант можно прикрутить контекстное меню, но я эксперементирую, охота чтоб програмно происходило.
#7 by hhhh
чото бредишь.
#8 by TheNewOne
Мать моя, о чем вы говорите. Деревом просто надо пользоваться ВНИМАТЕЛЬНО:
#9 by LLIaMaH
не догоняю просто. Конекретней в каком месте брежу. Для меня после 77 было трудно осознать что табличное поле в интерфейсе и переменная служащая данными для табличного поля это два разных набора, с каждым из которых нада работать отдельно. К табличному полю все обращения происходят через ЭлементыФормы либо через предопределенные процедуры табличного поля, что выставляються в свойствах при редактировании интерфейса, к данным табличного поля через Переменную. Загвоздка в том как получить текущую строку для данных а не для табличного поля.
#10 by LLIaMaH
Работает, Большое спасибо. Тока не Владелец а Родитель. Теперь помоги ликвидировать пробел, значит это все таки не разные наборы, когда обращаешься программно к древу через переменную ХХХ и через ЭлементыФормы.ХХХ обращение происходит к одному и томуже набору данных?
#11 by LLIaMaH
Просто занимался изучением раскарски и изменения шрифтов в табличном поле програмно, там все эти действия происходят через ЭлементыФормы вот я и смутился что дескать это разные вещи, отображающийся список и набор данных для него.
#12 by TheNewOne
все норм :) работает? если да, то все просто: 1)Данные (в данном случае типа "дерево значений") - это самостоятельный объект для хранения данных и они совершенно необязательно выводятся на экран. Поэтому текущей строки нет, и никаких обработчиков нет, и вообще.. 2)ТП - это надстройка над данными для их отображения. Имеет свои колонки, но не имеет своих данных, строк у нее нет! она просто черпает из (указанных) данных строки и отображает их в соответствии со своими натсройками, отоборами, колонками и пр. имеет обработчики и конечно же текущую строку в ввиде ссылки на строку данных
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С