Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Что-то не так с ИзменитьСтроку() на УФ

Что-то не так с ИзменитьСтроку() на УФ
Я
   Mashinist
 
27.10.20 - 15:30
Обработка
у обработки табличная часть СтрокиРасходнойНакладной
Она же на форме
Хочу по кнопке, что бы добавилась строка и активизировался для редактирования элемент ТЧ Номенклатура. ну что бы пользователь видел, куда тыкать дальше

Делаю все как по книжке

        НоваяСтрока = Объект.СтрокиРасходнойНакладной.Добавить();
        ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор();
        ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ТекущийЭлемент = ЭтаФорма.Элементы.СтрокиРасходнойНакладнойНоменклатура;
        ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ИзменитьСтроку();

Строка добаляется, и колонка Номенклатуры выделается, а режима редактирования нет. Ну как буд-то уже нажали энтер

Что ж не так-то?
   fisher
 
1 - 27.10.20 - 15:42
Интересно. Никогда не использовал.
   Mashinist
 
2 - 27.10.20 - 15:44
еще добавил ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ТекущийЭлемент = РежимРедактированияКолонки.Непосредственно;
ничего не поменялось...
   pavig
 
3 - 27.10.20 - 15:48
А что, так можно было?
   НЕА123
 
4 - 27.10.20 - 16:50
(0)
>ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор();
отрабатывает?
   Mashinist
 
5 - 27.10.20 - 17:11
(4) Ну ошибки не выдает и строка на форме добавляется и колонка выделяется. только режима редактирования нету. Прям если после обработки ткнуть на клавиатуре энтер, то поле и открывается для редактирования
т.е. и таблица на форме активна и колонка в ней тоже.
   Kassern
 
6 - 27.10.20 - 17:27
А нельзя сразу открывать принудительно форму редактирования и по результату выбора заполнять значение в новой строке?
   Fedor-1971
 
7 - 27.10.20 - 17:48
(0) Надо найти текущую строку в элементах формы, попробуй так:
ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ТекущаяСтрока = Элементы.СтрокиРасходнойНакладной.НайтиПоИдентификатору(НоваяСтрока.ПолучитьИдентификатор());
   vis_tmp
 
8 - 27.10.20 - 17:53
(5)Получилось?
   mikecool
 
9 - 27.10.20 - 17:53
попробуй местами поменять строки
ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор();
        ЭтаФорма.Элементы.СтрокиРасходнойНакладной.ТекущийЭлемент = ЭтаФорма.Элементы.СтрокиРасходнойНакладнойНоменклатура;
   Андроны едут
 
10 - 27.10.20 - 17:53
(0) Команда Изменить на форме доступна? Помнится в каких-то версиях платформы этот метод не отрабатывал, если не было команды таблицы формы изменить.
   Mashinist
 
11 - 27.10.20 - 18:36
(6) Наверное можно, но форма выбора не особо нужна т.к. в поле проще ввести Артикул и поле будет заполнено

(7) Нету такого метода НайтиПоИдентификатору

(9) не помогло

(10) команды Изменить и правда не было. Ну я ее добавил и тоже не помогло... мистика какая-то...
И что интересно, если я после выполнения кода выбираю эту команду Изменить, то ячейка и открывается для редактирования
   Жан Пердежон
 
12 - 27.10.20 - 18:58
(0) добавляешь строку в данные формы и тут же ждешь ее в элементах без обновления отображения?
ну или так пробуй:
Элементы.СтрокиРасходнойНакладной.ДобавитьСтроку();
Элементы.СтрокиРасходнойНакладной.ИзменитьСтроку();
   Ёпрст
 
13 - 27.10.20 - 22:37
(0)
я проверил, всё работает:
&НаКлиенте
Процедура Команда1(Команда)
        НоваяСтрока = Объект.Товары.Добавить();
        Элементы.Товары.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор();
        Элементы.Товары.ТекущийЭлемент = Элементы.ТоварыАлкогольнаяПродукция;
        Элементы.Товары.ИзменитьСтроку();
КонецПроцедуры
   Ёпрст
 
14 - 27.10.20 - 22:38
8.3.17.1549, если че..
   Ёпрст
 
15 - 27.10.20 - 22:39
у колонки, режим редактирования - Вход при вводе
   Mashinist
 
16 - 29.10.20 - 18:01
(13) ну у меня не работает...
но пока 8.3.15.1887
сейчас скачаю 8.3.17.1549
не столько оно так критически нужно, сколько интересно :-)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.