Имя: Пароль:
1C
1C 7.7
v7: Как при открытии формы установит фокус на кнопку
, ,
0 Злопчинский
 
06.01.21
17:59
допустим справочник. форма элемента.
поля ввода и кнопки.
хочу  точбы пр иоткрытии формы элемента фокус автоматом стоял на кнопке "закрыть".
Не получается.
как это сделать штатно?

кнопка по умолчанию - это не то, это то что отрабатывает по Контрол+Энтер
кнопка если первая в порядке обхода - не канает, курсор ставится в первое по порядку обхода поле ввода.
.
???
1 Харлампий Дымба
 
06.01.21
20:20
Процедура ПриОткрытии()
    Активизировать("Кнопка",0);
КонецПроцедуры
2 ДенисЧ
 
06.01.21
20:27
Опять у Злопа аккаунт угнали...
3 Chameleon1980
 
06.01.21
21:00
он, поди в 8ку ударился и стал забывать клюшки
4 Cthulhu
 
06.01.21
21:05
Процедура АктивироватьКнопкуАчоэто()
    Форма.ОбработкаОжидания("",0); Активизировать("Ачоэто",0);
КонецПроцедуры //АктивироватьКнопкуАчоэто

Процедура ПриОткрытии(АвтоВызов=1)    // предопределенная+
    Если АвтоВызов=1 Тогда Форма.ОбработкаОжидания("АктивироватьКнопкуАчоэто",1) КонецЕсли;
КонецПроцедуры //ПриОткрытии
5 Злопчинский
 
06.01.21
21:28
У меня, видимо, коронавирус мозг жрет ;-)
6 Злопчинский
 
06.01.21
21:30
Спасибо, чоб я без вас делал... рыдаю... а ведь знал...
Активизировать("кнЗакрыть",0); //достаточно просто поставить в ПриОткрытии
7 Злопчинский
 
06.01.21
21:43
И еще тупняк, не получается табличный документ Йокселя положить на форму.
вроде все просто, положил на форму кнопку-ЭУ для йокселя, растянул.

написал вроде все как надо, а ничего не выходит - при нажатии кнопки-заполнятеля не работает как задумано..
https://www.screencast.com/t/UjIw9dCRh4ku

код по кнопке "Сформировать" - простой, вроде все как надо
.
//*******************************************
Процедура Сформировать()

    Макет = глКаталогПечФорм+"MXL\СписокЛокаций.mxl";
    тВремДокумент = СоздатьОбъект("Таблица");
    тВремДокумент.ИсходнаяТаблица(Макет);
    
    ВремДокумент = СоздатьОбъект ("ТабличныйДокумент");
    ТабЭлемент      = ВремДокумент.СоздатьЭлементУправления (Форма,"пЛокации");
    
    СпрЛ = СоздатьОбъект("Справочник.Номенклатура");
    СпрЛ.ВыбратьЭлементы(0);
    Пока СпрЛ.ПолучитьЭлемент() = 1 Цикл Если СпрЛ.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли;
        ПечЯчейка = СокрЛП(СпрЛ.Артикул);
        ПечЕще = СокрЛП(СпрЛ.Код);
        тВремДокумент.ВывестиСекцию("Строка");
    КонецЦикла;
    
    тВремДокумент.ТолькоПросмотр(1);
    тВремДокумент.Показать("вот");
    
    ВремДокумент.ЗагрузитьИзТаблицы(тВремДокумент);
    ВремДокумент.ФиксироватьКолонкиСлева = 1;
    ВремДокумент.ФиксироватьСтрокиСверху = 1;
    ВремДокумент.ОбновитьВсеОтображения();
    //ВремДокумент.Показать("тест");
    //Форма.Обновить();
    Сообщить("Успешно "+ТекущееВремя());  
    
КонецПроцедуры
.
чего не хватает? где туплю?
8 Cthulhu
 
07.01.21
03:01
ТабЭлемент.Документ = ВремДокумент ?...
9 Cthulhu
 
07.01.21
03:05
ВремДокумент.ЗагрузитьИзТаблицы(тВремДокумент);
    ТабЭлемент.Документ = ВремДокумент;    // <<< вот тут имелось ввиду вставить (8)... нэ?
    ВремДокумент.ФиксироватьКолонкиСлева = 1;
    ВремДокумент.ФиксироватьСтрокиСверху = 1;
    ВремДокумент.ОбновитьВсеОтображения();
10 Cthulhu
 
07.01.21
03:06
ну или после "ВремДокумент.ОбновитьВсеОтображения();"
11 Злопчинский
 
07.01.21
17:10
Подсказали гуры: ТабЭлемент - надо вынести в переменные модуля формы, а не в локальную пересенную процедуры.
Вопрос закрыт.
Всем спасибо!