![]() |
![]() |
|
не могу удалить строки из Табличного Поля | ☑ | ||
---|---|---|---|---|
0
relax
14.01.05
✎
14:33
|
есть две формы. в одну форму заносятся данные в ТабличноеПоле1
затем открывается другая форма и при удалении элемента из нее должен удаляться элемент и из ТабличногоПоля1. Программно получается лишь добавить строки а вот удалить нет =/ ошибки: "Ошибка при вызове метода контекста (Удалить): Несоответствие типов (параметр номер "1") Форма.ЭлементыФормы.Удалить(ТекущаяСтрока); //ЭлементыФормы.ТабличноеПоле1.Ссылка" вот код который должен удалять: ОбработкаСписок = Обработки.Список.ПолучитьФорму(); Форма = ОбработкаСписок.ПолучитьФорму(); ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.ссылка; Форма.ЭлементыФормы.Удалить(ТекущаяСтрока); //ЭлементыФормы.ТабличноеПоле1.Ссылка Форма.Открыть(); Форма.Обновить(); помогите...... |
|||
1
Дурочка 1С
14.01.05
✎
14:44
|
Что за табличное поле? Эксель на форме лежит?
|
|||
2
simplyUser
14.01.05
✎
14:44
|
Нада же писать, что енто V8
|
|||
3
relax
14.01.05
✎
14:47
|
ой ой ой... буду знать да это V8.
|
|||
4
relax
14.01.05
✎
14:48
|
"Что за табличное поле? Эксель на форме лежит?"
причем тут Эксель?... тип значений - "ТаблицаЗначений". |
|||
5
Rovan
гуру
14.01.05
✎
14:49
|
(0) Табличное поле - объект отображающий данные, а не хранящий их, так что используй ТЗ или удаляй строки из самого объекта данных.
|
|||
6
relax
14.01.05
✎
14:51
|
ТЗ использовать нельзя потому как данная форма задействована уже во многих обработках =/
нужно удалять строки из Табличного поля. но вот вопрос КАК?????????? буду очень благодарен за пример реально работающего кода. |
|||
7
Michael99
14.01.05
✎
14:51
|
в (0) полная каша.
1. Прежде чем удалять необходимо найти строку которую хочешь удалять 2 таблицы в разных формах должны имет некое ключевое поле по которому будет осуществлятся посик в удаляемой таблице. Форма.ЭлементыФормы.Удалить(ТекущаяСтрока); - попытка удалить элемент формы а не строку табличного поля. ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.ссылка; текущая строка не может быть ссылкой строка может быть определена либо методом Найти либо по индексу либо при сравнении значения полей в переборе. |
|||
8
relax
14.01.05
✎
14:55
|
(7) мне для начала нужно удалить хотя бы одну строку. дальше я как-нибудь разберусь. кстати заметь что проверялось так же: ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока;
|
|||
9
Michael99
14.01.05
✎
15:03
|
Прочитай внимательно (7) строку надо получить в таблице в которой будешь удалять.
|
|||
10
Michael99
14.01.05
✎
15:21
|
+ все выше сказаное (мной) относится к таблице значений в которой находятся данные отображаемые в табличном поле.
В табличном поле НЕ связанным с таблицей значений можно скорее всего только почистить значения ячейках. |
|||
11
relax
14.01.05
✎
15:23
|
если в открытой форме нажать на DEL то строки удаляются. тоесть возможно вызвать и программным методом, верно?
|
|||
12
Michael99
14.01.05
✎
15:28
|
Покажи текст как ты его заполняешь.
|
|||
13
relax
14.01.05
✎
15:39
|
Форма.ЭлементыФормы.ТабличноеПоле1.ДобавитьСтроку();
Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Описание=ВыбСтрока; Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Колво=Количество; Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Цена=Цена; Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Вес=0; ЦенаКолва=Количество*Цена; Форма.Цена=Форма.Цена+ЦенаКолва; Форма.Колво=Форма.Колво+Количество; Форма.Артикул=ВыбСтрока.Артикул; это основное |
|||
14
relax
14.01.05
✎
15:50
|
??
|
|||
15
Shaytan
14.01.05
✎
16:13
|
Посмотри в конфигураторе свойство "Данные" элемента Форма.ЭлементыФормы.ТабличноеПоле1. В нём и удаляй строку. ТП лишь средство отображения, данных не содержит а лишь связывается с объектом в котором содержатся строки. "Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные" - только "ссылка" на строку этого объекта.
|
|||
16
relax
14.01.05
✎
16:15
|
в Данных у меня забито: "ТабличноеПоле1" так где же у меня содержатся данные? =/ мне кажется я с ума сойду сейчас =///////////\
|
|||
17
Shaytan
14.01.05
✎
16:19
|
Значит у формы д. б. реквизит "ТабличноеПоле1". (Советую назвать его по другому) Какой у него тип?
|
|||
18
Michael99
14.01.05
✎
16:28
|
Шайтан дело говорит :-)
Попробуй так. ТабличноеПоле1.Удалить(Форма.ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока); |
|||
19
Michael99
14.01.05
✎
16:35
|
Точнее
Форма.ТабличноеПоле1.Удалить(Форма.ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока); |
|||
20
Shaytan
14.01.05
✎
16:44
|
(0) Ты вообще что то не то пытаешься сделать. Опиши задачу полностью и подробно.
(0)Если судить по приведенному куску ОбработкаСписок = Обработки.Список.ПолучитьФорму(); Форма = ОбработкаСписок.ПолучитьФорму(); // ОШИБКА! Пытаешься получить форму у формы. ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.ссылка; //Вернет "неопределенно" Форма.ЭлементыФормы.Удалить(ТекущаяСтрока); //ЭлементыФормы.ТабличноеПоле1.Ссылка //ОШИБКА! ТекущаяСтрока = Нопределено Форма.Открыть(); Форма.Обновить(); |
|||
21
relax
14.01.05
✎
17:16
|
задача такая:
есть форма в нее при подборе добавляются данные (дополнительный монитор) все работает на ура. разве что если клиент (ррр) отказался от какоголибо товара то менеджеру требуется удалить этот товар. удаляется он из документа на ура. а на мониторе клиента остается. нужно доработать документ "заказ покупателя" что бы в момент нажатия кнопки DEL удалялся товар и на мониторе клиента. но он тварь не удаляется. т.к. используется Табличное Поле а хренова 1с не потрудилась добавить к ТабличномуПолю возможность удаления. я почитал 1с доки + порылся по их замороженным сайтам. попарил разработчиков ответ один - (18) + (19)..... =) эврика уря товарищи =) заработало =) |
|||
22
relax
14.01.05
✎
17:18
|
ммм... вопрос другой как спозиционировать ТекущаяСтрока на надобную?.. поиск по номенклатура.наименование подойдет? как думаете?
|
|||
23
Michael99
14.01.05
✎
17:40
|
(22) Подойдет любое поле в котором значения уникальны.
Форма.ТабличноеПоле1.Удалить(Форма.ТабличноеПоле1.Найти(Знач,"Поле")); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |