Имя: Пароль:
1C
 
програмное добавление строки в табличном поле. Управляемые формы
, ,
0 antiteror91
 
31.05.16
15:52
Здравствуйте. Скажите пожалуйста как программно добавить строку в табличное поле табличной части документа и при этом активировать эту строку и войти в режим редактирования поля(ячейки номенклатура).
1 antiteror91
 
31.05.16
15:56
(0) строку добавить удается но сделать ее активной никак не получается
2 DmitrO
 
31.05.16
16:01
&НаКлиенте
Процедура ДобавитьСтроку(Команда)
    СтрокаСостава = Объект.Состав.Добавить();
    Элементы.Состав.ТекущаяСтрока = СтрокаСостава.ПолучитьИдентификатор();
    Элементы.Состав.ИзменитьСтроку();
КонецПроцедуры
3 antiteror91
 
31.05.16
16:19
(2) сейчас попробую
4 antiteror91
 
31.05.16
16:26
(2) не получается.... он не добавляет новую строку, оставляет активным текущий элемент(текущую номенклатуру) в текущей строке.
5 antiteror91
 
31.05.16
16:40
вверх
6 antiteror91
 
31.05.16
17:00
помогите пожалуйста
7 DmitrO
 
31.05.16
17:06
&НаКлиенте
Процедура ДобавитьСтроку(Команда)
    СтрокаСостава = Объект.Состав.Добавить();
    Элементы.Состав.ТекущийЭлемент = Элементы.СоставНоменклатура;
    Элементы.Состав.ТекущаяСтрока = СтрокаСостава.ПолучитьИдентификатор();
    Элементы.Состав.ИзменитьСтроку();
КонецПроцедуры
8 antiteror91
 
31.05.16
17:10
(7) жесть... новая строка не появляется. с чем это может быть связано?
9 singlych
 
31.05.16
17:13
(8) идентификатор ТЧ поменял на свой после копипаста?
10 DmitrO
 
31.05.16
17:13
Например с тем что на форме у тебя не табличная часть а некий другой реквизит формы, отображающий данные табличной части.
11 antiteror91
 
31.05.16
17:14
(9)
Если ЗначениеЗаполнено(Элементы.Товары.ТекущиеДанные.Номенклатура) Тогда
        НоваяСтрока = Объект.Товары.Добавить();
        Элементы.Товары.ТекущийЭлемент = Элементы.ТоварыНоменклатура;
        Элементы.Товары.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор();//Объект.Товары[Объект.Товары.Количество()-1];
        Элементы.Товары.ИзменитьСтроку();
        КонецЕсли;
12 antiteror91
 
31.05.16
17:16
(10) ПутьКДанным: Объект.Товары
13 singlych
 
31.05.16
17:17
Элементы.Товары.ТекущиеДанные.Номенклатура не заполнено? (11)
14 antiteror91
 
31.05.16
17:18
(13) условие "если" выполняется я проверял точкой останова
15 singlych
 
31.05.16
17:26
может, удаляется строка где-нить потом?
16 antiteror91
 
31.05.16
17:40
(15) сейчас у меня получается что при добавлении новой сроки активным элементом становится количество, а не номенклатура
17 Mort
 
31.05.16
17:49
ТаблицаФормы.ДобавитьСтроку (FormTable.AddRow)
ТаблицаФормы (FormTable)
ДобавитьСтроку (AddRow)
Синтаксис:

ДобавитьСтроку()
Описание:

Добавляет строку в таблицу, аналогично выполнению команды "Добавить".

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
------------------------------------------------------------
18 Mort
 
31.05.16
17:50
+(17) А смену текущего элемента попробуй сделать после добавления строки. Впрочем не уверен, что взлетит.
19 antiteror91
 
31.05.16
18:12
(17) добавитьстроку вообще ничего не делает....
20 antiteror91
 
31.05.16
19:15
нужен свежий взгляд на проблему
21 antiteror91
 
31.05.16
21:55
(0) вопрос актуален
22 RomanYS
 
31.05.16
22:29
всё работает

&НаКлиенте
Процедура Команда1(Команда)
    Стр = Объект.ТабличнаяЧасть1.Добавить();
    Элементы.ТабличнаяЧасть1.ТекущийЭлемент = Элементы.ТабличнаяЧасть1Реквизит2;
    Элементы.ТабличнаяЧасть1.ТекущаяСтрока = Стр.ПолучитьИдентификатор();
    Элементы.ТабличнаяЧасть1.ИзменитьСтроку();
КонецПроцедуры
23 antiteror91
 
31.05.16
22:32
(22) а что в маем варианте (11) неправильно?
24 antiteror91
 
31.05.16
22:33
(22)я его написал при окончании редактирования номенклатуры
25 RomanYS
 
31.05.16
23:02
(24) возможно в этом и проблема