|
Поиск по табличной части и постановка курсора в ячейку кол-во | ☑ | ||
---|---|---|---|---|
0
shock3r
17.10.12
✎
12:02
|
добрый день
Подскажите как реализовывается следующий механизм: Есть Табличная часть: N | Номенклатура | Количеств в ТЧ есть данные: 1 Холодильник 0 2 Телевизор 0 Есть поле ввода Номенклатура. Пользователь выбирает значение (например "Телевизор") из справочника. В коде "при изменении" мне нужно реализовать следующий механизм. Поиск по ТЧ строки с Номенклатурой "Телевизор" и установить курсор в ячейку "Количество" чтобы пользователю оставалось только нажать цифру, затем enter и вернуться обратно в поле ввода. |
|||
1
GLazNik
17.10.12
✎
12:05
|
(0) НайтиСтроки... не?
|
|||
2
Reset
17.10.12
✎
12:11
|
Найти строку через метод Найти табличной части.
Если нашли, установить Свойства ТекущаяСтрока и ТекущаяКолонка табличного поля. Чтобы для редактирования количества не требовалось нажимать Enter, у колонки установить РежимРедактирования "Непосредственно" |
|||
3
shock3r
17.10.12
✎
12:24
|
(2) нашел строку через метод найти.
Установил режим редактирования для колонки "Количество" А подскажите подробнее где и как устанавливать Свойства ТекущаяСторка и ТекущаяКолонка |
|||
4
shock3r
17.10.12
✎
12:30
|
ИскомаяСтрокаТЧ2 = ТабличнаяЧасть2.Найти(текСтрока.Номенклатура, "Номенклатура");
ЭлементыФормы.ТабличнаяЧасть2.ТекущаяСтрока = ИскомаяСтрокаТЧ2.НомерСтроки; ЭлементыФормы.ТабличнаяЧасть2.ТекущаяКолонка = ИскомаяСтрокаТЧ2.Количество; Такой код выдает след ошибку {Форма.Форма.Форма(19)}: Ошибка при установке значения атрибута контекста (ТекущаяСтрока) ЭлементыФормы.ТабличнаяЧасть2.ТекущаяСтрока = ИскомаяСтрокаТЧ2.НомерСтроки; по причине: Отсутствует ключ строки |
|||
5
hhhh
17.10.12
✎
12:31
|
ЭлементыФормы.НАзваниеТабличногоПоля.ТекущаяСтрока = ТВояНайденнаяСтрокаИзМетодаНайти;
ЭлементыФормы.НАзваниеТабличногоПоля.ТекущаяКолонка = ТВояНайденнаяКолонка; |
|||
6
hhhh
17.10.12
✎
12:32
|
(4)
ЭлементыФормы.ТабличнаяЧасть2.ТекущаяСтрока = ИскомаяСтрокаТЧ2; |
|||
7
shock3r
17.10.12
✎
12:37
|
(5)
Со строкой разобрался. А откуда взять ТВояНайденнаяКолонка ?? Если я беру колонку из найденной сторки.<имя колонки> ЭлементыФормы.ТабличнаяЧасть2.ТекущаяКолонка = ИскомаяСтрокаТЧ2.Количество; {Форма.Форма.Форма(20)}: Ошибка при установке значения атрибута контекста (ТекущаяКолонка) ЭлементыФормы.ТабличнаяЧасть2.ТекущаяКолонка = ИскомаяСтрокаТЧ2.Выдано; по причине: Несоответствие типов |
|||
8
Reset
17.10.12
✎
12:38
|
+
ЭлементыФормы.ТабличнаяЧасть2.ТекущаяКолонка=ЭлементыФормы.ТабличнаяЧасть2.Колонки.Количество; Еще, вероятно, потребуется установка ТекущийЭлемент=ЭлементыФормы.ТабличнаяЧасть2; Лучше перед установкой строки и колонки |
|||
9
shock3r
17.10.12
✎
12:38
|
.Выдано это у меня .Количество, при описание проблемы на мисте решил что проще Выдано Количеством заменить
|
|||
10
Reset
17.10.12
✎
12:39
|
ну напиши Выдано.
|
|||
11
shock3r
17.10.12
✎
12:47
|
Спасибо! Почти заработало))
О как теперь передать курсор из найденого поля ТЧ, обратно в ПОЛЕ ВВОДА на форме документа? |
|||
12
GLazNik
17.10.12
✎
12:50
|
(11) а если изменили количество непосредственно в табличной части? имхо при изменении поля ввода на форму заполняй какуюнить переменную. после изменения количество в табличной части проверяй эту переменную и возвращай фокус через ЭлементыФормы.ТекущийЭлемент = твое поле ввода
|
|||
13
shock3r
17.10.12
✎
13:05
|
12
Фокус таким образом не хочет передаваться, выдает ошибку! {Форма.Форма.Форма(45)}: Поле объекта не обнаружено (ТекущийЭлемент) ЭлементыФормы.ТекущийЭлемент = ЭлементыФормы.Номенклатура; |
|||
14
GLazNik
17.10.12
✎
13:07
|
(13) форма.ТекущийЭлемент или ЭтаФорма.ТекущийЭлемент
|
|||
15
Reset
17.10.12
✎
13:08
|
или ТекущийЭлемент = ЭлементыФормы.Номенклатура;
|
|||
16
shock3r
17.10.12
✎
13:23
|
при заполнении Поля Номенклатура, передаю фокус на табличную часть 2, на найденную строку и колонку кодом:
ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличнаяЧасть2; // передача фокуса на ТЧ2 всё прекарсно отрабатывает, но когда заполняю колонку Количество, она не хочет передавать фокус на Поле Номенклатура. У колонки стоит режим редактирование "Непосредственно", в свойстве ячейки "при изменении" - следующий код: ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Штрихкод; всё равно остаюсь висеть в ячейке после нажатия на Enter |
|||
17
shock3r
17.10.12
✎
13:24
|
ЭлементыФормы.Штрихкод = ЭлементыФормы.Номенклатура для примера на форуме
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |