|
Номер строки в элементе формы всегда = номер строки в табличной части прикл. объекта ??? | ☑ | ||
---|---|---|---|---|
0
LUN2
18.09.18
✎
22:20
|
Добрый вечер!
У справочника есть табличная часть. Я пишу процедуру удаления строки табличной части на УФ. Получаю поле ДанныеСтроки, а через него - НомерСтроки(1). Далее этот номер строки (назовем параметр НомерСтроки2) передается в серверную процедуру, она получает табличную часть через этот номер и делает удаление. Вопрос - всегда ли НомерСтроки1 (т.е. на форме) будет НомерСтроки2 (т.е. уже в ТЧ прикладного объекта) будет относиться к одной строке ? Т.е. нет ли каких фокусов с различной нумерацией в элементе и в реальной ТЧ, которые могут привести к тому, что пользователь выберет одну строку, а удаляться будет другая ? |
|||
1
Mort
18.09.18
✎
22:29
|
Если ты за каким-то хреном хочешь строку удалить из объекта сразу в БД (почему из объекта на форме-то не удалить?), то такая строка может быть на форму добавлена, например, и в записанном объекте её нет. Для остальных случаев есть "ИсходныйНомерСтроки". Но уверен что-то ты не с того выхода заходишь.
|
|||
2
LUN2
18.09.18
✎
22:52
|
Mort, тогда может подскажете - как это сделать (думал, что надо удалять в объекте на сервере...).
События - это табличная часть элемента справочника. Пользователь выделяет строки для удаления, нажимает кнопку УДАЛИТЬ, обработчик начинает цикл по выделенным строкам: ТЧНаФорме = ЭтаФорма.Элементы.События; Строки = ТЧНаФорме.ВыделенныеСтроки; для каждого Строка из Строки цикл Элемент = ТЧНаФорме.ДанныеСтроки(Строка); ...а у кого метод нужно вызывать метод .Удалить ? |
|||
3
пипец
19.09.18
✎
01:50
|
Родной у тя в форме хз численнасть строк и к ссерверного
|
|||
4
пипец
19.09.18
✎
01:52
|
Если ты к объекту то...
|
|||
5
Fram
19.09.18
✎
04:31
|
(2) а чем штатные средства удаления строк не угодили?
|
|||
6
PowerBoy
19.09.18
✎
06:53
|
Масс = Новый Массив();
Для Каждого Стро Из Элементы.Задачи.ВыделенныеСтроки Цикл Масс.Добавить(Стро); КонецЦикла; Для каждого Строка Из Масс Цикл объект.Задачи.Удалить(объект.Задачи.НайтиПоИдентификатору(Строка)); КонецЦикла; |
|||
7
LUN2
19.09.18
✎
21:02
|
(3) и (4)
Пипец, что означали эти фразы ? Если много строк - много вызовов сервера ? Если да, согласен, но если их много, то можно собрать их в массив и за одну передачу удалить на сервере. Ведь в любом случае удаление дойдет до сервера. Т.е. мне казалось, что нет особой разницы - удалять на форме и удаления будут скинуты на сервер автоматом, либо это сделает мой код... Если я не прав, если можно - поясните в чем... |
|||
8
LUN2
19.09.18
✎
21:07
|
(5) Fram, не то, чтобы не угодили, а кругозор у меня не тот, чтобы сразу представлять все множество вариантов. Беру то, что кажется реалистичным исходя из текущих знаний.
Но сразу скажу (хотя это не было предметом вопроса), что у меня есть варианты действий, когда: 1) удаляется только строка ТЧ, тогда (6) должно подходить - попробую сейчас, 2) удаляется и _1_ строка ТЧ и _2_ те объекты, на которые указывает эта ТЧ (это элементы другого справочника) - в таком случае для реализации _2_ все равно надо вынимать ссылки и удалять на сервере, поэтому я сразу и решил залезть туда.. |
|||
9
LUN2
19.09.18
✎
22:11
|
(6) PowerBoy, спасибо за пример!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |