Имя: Пароль:
1C
 
Программная установка текущей строки на строку таблицы формы. 1С 8.3
0 tabarigen
 
04.08.21
12:01
Всем добра.
Мобильная платформа 8.3.18. Пробую установить текущую устроку программно. Но к сожалению не работает. Пособите молодому советом, добрые люди.
Код
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    
    Если ИмяСобытия = "Штрихкод" Тогда
        ПараметрыОтбора = Новый Структура;
        ПараметрыОтбора.Вставить("Штрихкод", Параметр);
        ТоварыПоШК = Штрихкоды.НайтиСтроки(ПараметрыОтбора);
        Если ТоварыПоШК.Количество()=1 Тогда
            //Если находим товаро то меняем количество на +1
            //и устанавливаем текущее поле на строку
            ТоварПоШК = ТоварыПоШК[0].Владелец_Key;
            
            //Ищем в ТЗ товары формы с отборам по ключу номенклатуры
            Парам = Новый Структура;
            Парам.Вставить("Номенклатура_Key", ТоварПоШК);
            строкиТз = Товары.НайтиСтроки(Парам);
            //Если мы нашли штрихкод в ТЗ штрихкоды то пытаемся узнать идентификатор
            Если строкиТз.Количество() =1 Тогда
                Элементы.Товары.ТекущаяСтрока = строкиТз[0].ПолучитьИдентификатор();
                Элементы.Товары.ТекущиеДанные.Факт = Элементы.Товары.ТекущиеДанные.Факт + 1;
                Элементы.Товары.ТекущиеДанные.Штрихкод = СокрЛП(Параметр);
                ВыделенныеСтроки = Элементы.Товары.ВыделенныеСтроки;
                ВыделенныеСтроки.Очистить();
                ВыделенныеСтроки.Добавить(строкиТз[0].ПолучитьИдентификатор());
                ЭтаФорма.ТекущийЭлемент = Элементы.Товары.ПодчиненныеЭлементы.ТоварыФакт;
                //ЭтаФорма.ОбновитьОтображениеДанных();
            КонецЕсли;    
        ИначеЕсли ТоварыПоШК.Количество()>1 Тогда
            Сообщить("Найдено несколько товаров по данному штрихкоду", СтатусСообщения.ОченьВажное);
        Иначе
            Сообщить("Не найдено товаров по данному штрихкоду", СтатусСообщения.ОченьВажное);
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры
1 acht
 
04.08.21
12:10
А просто поменять данные в строкиТз[0] аллах не велит?
2 tabarigen
 
04.08.21
12:12
(1) высрал конечно знатно
3 tabarigen
 
04.08.21
12:12
но ладно, голову отрубать не буду на первый раз
4 tabarigen
 
04.08.21
12:15
В на форме установил для таблицы свойство "ИспользованиеТекущейСтроки = Отображение выделения и выбор"
Теперь текущая строка устанавливается но текущий элемент нет.
Не происходит прокрутки к полю ввода.
5 tabarigen
 
04.08.21
13:04
Парни подскажите вот так правильно?
ЭтаФорма.ТекущийЭлемент = Элементы.Товары.ПодчиненныеЭлементы.ТоварыФакт;
6 tabarigen
 
04.08.21
13:05
Делая так я предполагаю, что в подчиненных элементах будет именно нужная мне строка, так ранее я установил ее кодом
Элементы.Товары.ТекущаяСтрока = строкиТз[0].ПолучитьИдентификатор();
7 tabarigen
 
05.08.21
10:30
7up