Имя: Пароль:
1C
 
Как программно установить курсор на редактирование ....
0 dzemon666
 
30.12.09
16:42
Как программно установить курсор на редактирование элемента в табличной части.
Уточнение.
Я программно добавляю в открытый документ строку, и хочу что б определенное поле вошло в режим редактирования (для ввода штрих кода).
1 dzemon666
 
30.12.09
16:42
1С 8.1
2 Фокусник
 
30.12.09
16:44
(0) ИзменитьСтроку() ?
3 dzemon666
 
30.12.09
16:54
Есть поле в Табличной части (Товар)  "ШтрихКод"

Добавляю строку ....
ЭлементыФормы.Товар.ДобавитьСтроку();


Нужно програмно установить курсор в это поле(ШтрихКод) для того, чтобы сканер ШК сразу можно было использовать далее (следующий товар).

Со строкой
ЭлементыФормы.ИзменитьСтроку()
ничего не поменялось..
4 xzorkiix
 
30.12.09
16:55
текщаяколонка()
5 xzorkiix
 
30.12.09
17:00
так... у меня есть такой код. к которому обращается модуль передзаписью()

Фокус будет передан в случае Объявить = Истина (в коде модуля это розличные логические махинации), в случае ошибки позиция на нужный элемент или ячейку таблицы.

Проверь может подойдет

Процедура ФокусНаЭлемент(знач мойЭлемент = Неопределено, ЭтаФорма = Неопределено)
   Если мойЭлемент <> Неопределено Тогда ___мояФорма___.ТекущийЭлемент = мойЭлемент;
   КонецЕсли;
КонецПроцедуры

Функция ОбъявитьВыговор(знач Объявить = Ложь, знач текст = "",Элемент=Неопределено,знач ИмяЭлемента = "")
   Если Объявить Тогда
       Волшебник.ПоказатьПредупреждение(текст, 10);
       Если не Элемент = Неопределено Тогда
           Если ИмяЭлемента = "" Тогда
               ФокусНаЭлемент(Элемент);
           Иначе
               ФокусНаЭлемент(Элемент[ИмяЭлемента]);
           КонецЕсли;
       КонецЕсли;
   КонецЕсли;
   возврат Объявить;
КонецФункции    
Функция ОбъявитьВыговорДляТЗ(знач Объявить = Ложь, знач текст = "",Элемент=Неопределено, стр, Колонка)
   Если ОбъявитьВыговор(Объявить,
                       текст,
                       Элемент) И Элемент <> Неопределено Тогда
           Элемент.ТекущаяСтрока  = стр;
           Элемент.ТекущаяКолонка = Элемент.Колонки[Колонка];
   КонецЕсли;
   Возврат Объявить;
КонецФункции
6 xzorkiix
 
30.12.09
17:03
сорри код ошибочный, новый(исправленный) пока найти нет возможности

здесь сурово прописано ___мояФорма___ это переменная модуля объекта которая задается при необходимости. вот

В правельной форма передается в эти функции так же дополнительным параметром
7 xzorkiix
 
30.12.09
17:04
вообщем смотришь на код полугодичной давности -и стыдно просто напросто =(
8 Фокусник
 
30.12.09
17:06
(3) >ЭлементыФормы.ИзменитьСтроку()
ИзменитьСтроку() - это метод табличного поля
9 dzemon666
 
30.12.09
17:48
(5) Немного не разобрался, что в моем случае является "Элемент"
(8)

ЭлементыФормы.Товар.ДобавитьСтроку();
ЭлементыФормы.Товар.ИзменитьСтроку();

- не получилось

ЭлементыФормы.Товар.ДобавитьСтроку();
ЭлементыФормы.Товар.ТекущаяКолонка = ЭлементыФормы.Товар.Колонки.ШтрихКод;
ЭлементыФормы.Товар.ИзменитьСтроку();

- на нужную колонку фокус устанавливается, но в режим редактирования не входит.
10 dzemon666
 
30.12.09
17:49
(9) Может у элемента формы ШтриКод нужно какой-то параметр указать?
11 ptiz
 
30.12.09
17:53
У меня так работает:

НоваяСтрока = Товары.Вставить(куданадо);
ЭлементыФормы.Товары.ТекущаяСтрока = НоваяСтрока;
ЭлементыФормы.Товары.ТекущаяКолонка = ЭлементыФормы.Товары.Колонки.Количество;
ЭлементыФормы.Товары.ИзменитьСтроку();
12 szhukov
 
30.12.09
17:54
(10)у колонки таб части есть свойство "РежимРедактирования"
13 dzemon666
 
30.12.09
18:01
(12) Спс. Поставил режим редактирванияя при вводе, все залетало.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс