Вход | Регистрация


1С:Предприятие ::

Метки:формы

не могу удалить строки из Табличного Поля

Я
   relax
 
14.01.05 - 14:33
есть две формы. в одну форму заносятся данные в ТабличноеПоле1
затем открывается другая форма и при удалении элемента из нее должен удаляться элемент и из ТабличногоПоля1. Программно получается лишь добавить строки а вот удалить нет =/
ошибки:
"Ошибка при вызове метода контекста (Удалить): Несоответствие типов (параметр номер "1")
Форма.ЭлементыФормы.Удалить(ТекущаяСтрока);//ЭлементыФормы.ТабличноеПоле1.Ссылка"

вот код который должен удалять:

ОбработкаСписок = Обработки.Список.ПолучитьФорму();
    Форма = ОбработкаСписок.ПолучитьФорму();

ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.ссылка;
Форма.ЭлементыФормы.Удалить(ТекущаяСтрока);//ЭлементыФормы.ТабличноеПоле1.Ссылка 


Форма.Открыть();
Форма.Обновить();

помогите......
 
 
   Дурочка 1С
1 - 14.01.05 - 14:44
Что за табличное поле? Эксель на форме лежит?
   simplyUser
2 - 14.01.05 - 14:44
Нада же писать, что енто V8
   relax
 
3 - 14.01.05 - 14:47
ой ой ой... буду знать да это V8.
   relax
 
4 - 14.01.05 - 14:48
"Что за табличное поле? Эксель на форме лежит?"
причем тут Эксель?... тип значений - "ТаблицаЗначений".
   Rovan
 
5 - 14.01.05 - 14:49
(0) Табличное поле - объект отображающий данные, а не хранящий их, так что используй ТЗ или удаляй строки из самого объекта данных.
   relax
 
6 - 14.01.05 - 14:51
ТЗ использовать нельзя потому как данная форма задействована уже во многих обработках =/
нужно удалять строки из Табличного поля. но вот вопрос КАК??????????
буду очень благодарен за пример реально работающего кода.
   Michael99
 
7 - 14.01.05 - 14:51
в (0) полная каша.

1. Прежде чем удалять необходимо найти строку которую хочешь удалять
2 таблицы в разных формах должны имет некое ключевое поле по которому будет осуществлятся посик в удаляемой таблице.

Форма.ЭлементыФормы.Удалить(ТекущаяСтрока); - попытка удалить элемент формы а не строку табличного поля.
ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.ссылка;
текущая строка не может быть ссылкой строка может быть определена либо методом Найти либо по индексу либо при сравнении значения полей в переборе.
   relax
 
8 - 14.01.05 - 14:55
(7) мне для начала нужно удалить хотя бы одну строку. дальше я как-нибудь разберусь. кстати заметь что проверялось так же: ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока;
   Michael99
 
9 - 14.01.05 - 15:03
Прочитай внимательно (7) строку надо получить в таблице в которой будешь удалять.
   Michael99
 
10 - 14.01.05 - 15:21
+ все выше сказаное (мной) относится к таблице значений в которой находятся данные отображаемые в табличном поле.
В табличном поле НЕ связанным с таблицей значений можно скорее всего только почистить значения ячейках.
 
 
   relax
 
11 - 14.01.05 - 15:23
если в открытой форме нажать на DEL то строки удаляются. тоесть возможно вызвать и программным методом, верно?
   Michael99
 
12 - 14.01.05 - 15:28
Покажи текст как ты его заполняешь.
   relax
 
13 - 14.01.05 - 15:39
Форма.ЭлементыФормы.ТабличноеПоле1.ДобавитьСтроку();
    Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Описание=ВыбСтрока;
    Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Колво=Количество;
    Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Цена=Цена;
    Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Вес=0;
    ЦенаКолва=Количество*Цена;
    Форма.Цена=Форма.Цена+ЦенаКолва;
    Форма.Колво=Форма.Колво+Количество;
    Форма.Артикул=ВыбСтрока.Артикул;

это основное
   relax
 
14 - 14.01.05 - 15:50
??
   Shaytan
 
15 - 14.01.05 - 16:13
Посмотри в конфигураторе свойство "Данные" элемента Форма.ЭлементыФормы.ТабличноеПоле1. В нём и удаляй строку. ТП лишь средство отображения, данных не содержит а лишь связывается с объектом в котором содержатся строки. "Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные" - только "ссылка" на строку этого объекта.
   relax
 
16 - 14.01.05 - 16:15
в Данных у меня забито: "ТабличноеПоле1" так где же у меня содержатся данные? =/ мне кажется я с ума сойду сейчас =///////////\
   Shaytan
 
17 - 14.01.05 - 16:19
Значит у формы д. б. реквизит "ТабличноеПоле1". (Советую назвать его по другому) Какой у него тип?
   Michael99
 
18 - 14.01.05 - 16:28
Шайтан дело говорит :-)
Попробуй так.
ТабличноеПоле1.Удалить(Форма.ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока);
   Michael99
 
19 - 14.01.05 - 16:35
Точнее
Форма.ТабличноеПоле1.Удалить(Форма.ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока);
   Shaytan
 
20 - 14.01.05 - 16:44
(0) Ты вообще что то не то пытаешься сделать. Опиши задачу полностью и подробно.

(0)Если судить по приведенному куску
ОбработкаСписок = Обработки.Список.ПолучитьФорму(); 
   Форма = ОбработкаСписок.ПолучитьФорму();// ОШИБКА! Пытаешься получить форму у формы. 


ТекущаяСтрока=Форма.ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.ссылка;//Вернет "неопределенно"

Форма.ЭлементыФормы.Удалить(ТекущаяСтрока);//ЭлементыФормы.ТабличноеПоле1.Ссылка  //ОШИБКА! ТекущаяСтрока = Нопределено


Форма.Открыть(); 
Форма.Обновить();
   relax
 
21 - 14.01.05 - 17:16
задача такая:
есть форма в нее при подборе добавляются данные (дополнительный монитор)
все работает на ура. разве что если клиент (ррр) отказался от какоголибо товара то менеджеру требуется удалить этот товар. удаляется он из документа на ура. а на мониторе клиента остается. нужно доработать документ "заказ покупателя" что бы в момент нажатия кнопки DEL удалялся товар и на мониторе клиента. но он тварь не удаляется. т.к. используется Табличное Поле а хренова 1с не потрудилась добавить к ТабличномуПолю возможность удаления. я почитал 1с доки + порылся по их замороженным сайтам. попарил разработчиков ответ один - (18) + (19)..... =) эврика уря товарищи =) заработало =)
   relax
 
22 - 14.01.05 - 17:18
ммм... вопрос другой как спозиционировать ТекущаяСтрока на надобную?.. поиск по номенклатура.наименование подойдет? как думаете?
   Michael99
 
23 - 14.01.05 - 17:40
(22) Подойдет любое поле в котором значения уникальны.
Форма.ТабличноеПоле1.Удалить(Форма.ТабличноеПоле1.Найти(Знач,"Поле"));



Список тем форума
  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует