|   |   | 
| 
 | Поиск по табличной части и постановка курсора в ячейку кол-во | ☑ | ||
|---|---|---|---|---|
| 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 | 
        ЭлементыФормы.Штрихкод = ЭлементыФормы.Номенклатура для примера на форуме     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |