Переместить фокус в таблице

1. sergey svetlakov 13 08.06.24 20:10 Сейчас в теме
УТ 10.3
Есть табличное поле с накладным, программно через самодельную форму создаем накладную, она падает в конец таблицы. как при закрытии формы переместить фокус в созданную накладную?

Форма создания накладной не модальная.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. sergey svetlakov 13 08.06.24 23:04 Сейчас в теме +2 $m
Решил проблему

На второй форме по кнопке выполнить пишем
КлючОбъекта = "Нов_Док_Ссылка";
КлючНастроек = "Нов_Док_Ссылка";
ОписаниеНастроек = "Нов_Док_Ссылка";
ИмяПользователя = "";
Настройки = Новый Соответствие;
Настройки.Вставить("Пользователь", КолВоДокументов());
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);


На Первой форме создаем -
Процедура ОбновлениеОтображения()
ФокусНаНовойСтроке();
КонецПроцедуры


И пишем процедуру на первой форме -
Процедура ФокусНаНовойСтроке()

КлючОбъекта = "Нов_Док_Ссылка";
КлючНастроек = "Нов_Док_Ссылка";
ОписаниеНастроек = "Нов_Док_Ссылка";
ИмяПользователя = "";

ЗначениеНастроек = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек, ОписаниеНастроек, ИмяПользователя);
Если ТипЗнч(ЗначениеНастроек) = Тип("Соответствие") Тогда
Если ЗначениеНастроек.Получить("Пользователь") <> "" Тогда
ЭлементыФормы.Реализаии.ТекущаяСтрока = ЗначениеНастроек.Получить("Пользователь");
КонецЕсли;
КонецЕсли;

КлючОбъекта = "Нов_Док_Ссылка";
КлючНастроек = "Нов_Док_Ссылка";
ОписаниеНастроек = "Нов_Док_Ссылка";
ИмяПользователя = "";

Настройки = Новый Соответствие;
Настройки.Вставить("Пользователь", "");
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);

КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. sergey svetlakov 13 08.06.24 23:10 Сейчас в теме
(3)для меня было важно чтобы было перемещение именно при создании документа. при том что документ не в модальном окне, по тому я через хранилище настроек в 1с записываю новую ссылку, потом передвигаю на нее фокус, после затираю ее в хранилище. как я понял готового инструмента нет, можно было модально открывать окно и получать из него ссылку, но это не красивое решение.
5. independ 1551 08.06.24 23:22 Сейчас в теме
(4) навскидку 2 варианта
1. Оповестить() в Форме2, ОбработкаОповещения() в Форме1
2. Получить(Форма2,,Форма1), в форме2 обратиться через ВладелецФормы.ЭлементыФормы..
2. sergey svetlakov 13 08.06.24 23:04 Сейчас в теме +2 $m
Решил проблему

На второй форме по кнопке выполнить пишем
КлючОбъекта = "Нов_Док_Ссылка";
КлючНастроек = "Нов_Док_Ссылка";
ОписаниеНастроек = "Нов_Док_Ссылка";
ИмяПользователя = "";
Настройки = Новый Соответствие;
Настройки.Вставить("Пользователь", КолВоДокументов());
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);


На Первой форме создаем -
Процедура ОбновлениеОтображения()
ФокусНаНовойСтроке();
КонецПроцедуры


И пишем процедуру на первой форме -
Процедура ФокусНаНовойСтроке()

КлючОбъекта = "Нов_Док_Ссылка";
КлючНастроек = "Нов_Док_Ссылка";
ОписаниеНастроек = "Нов_Док_Ссылка";
ИмяПользователя = "";

ЗначениеНастроек = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек, ОписаниеНастроек, ИмяПользователя);
Если ТипЗнч(ЗначениеНастроек) = Тип("Соответствие") Тогда
Если ЗначениеНастроек.Получить("Пользователь") <> "" Тогда
ЭлементыФормы.Реализаии.ТекущаяСтрока = ЗначениеНастроек.Получить("Пользователь");
КонецЕсли;
КонецЕсли;

КлючОбъекта = "Нов_Док_Ссылка";
КлючНастроек = "Нов_Док_Ссылка";
ОписаниеНастроек = "Нов_Док_Ссылка";
ИмяПользователя = "";

Настройки = Новый Соответствие;
Настройки.Вставить("Пользователь", "");
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);

КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот