Имя: Пароль:
1C
 
Подбор номенклатуры в Реализацию на ОФ, проблемы фокуса форм
,
0 НоваяВолна
 
19.02.25
11:15
У клиента идет переход с УТ 10.3 на УТ 11.
До установки УТ 11, была установлена платформа 8.3.10.2561, для УТ 11 установили платформу 8.3.26.1498 (сейчас стоят обе)
  Пока основные работы клиент проводит в УТ 10.3 и столкнулись с проблемой (после установки новой платформы):
  В документе РеализацияТоваровУслуг при нажатии кнопки Подбор выходит форма подбора, по которой сотрудники привыкли "бегать" с клавиатуры, без использования мыши. При выборе номенклатуры открывается отдельная форма, в которой указывается количество. Но после закрытия этой формы фокус не возвращается в окно подбора.

Ставлю
ПодключитьОбработчикОжидания("ПриОжиданииВыбора",1);

 Процедура ПриОжиданииВыбора()
    а=1; //точка останова
 КонецПроцедуры



и это работает, но только в режиме отладки через точку останова.

  Как можно победить проблему?
1 Мультук
 
гуру
19.02.25
11:18
(0)

Оставить УТ10 на 8.3.10.2561 ?

Или уже поздно метаться ?
2 НоваяВолна
 
19.02.25
11:19
(1) У них еще и БП крутиться на 8.3.26.1498
3 НоваяВолна
 
19.02.25
11:20
(1) Разделить на разные серверы?
4 Волшебник
 
19.02.25
11:33
Активизировать()
5 Ёпрст
 
19.02.25
11:44
(0) нафига там какие то нелепые обработки ожидания втыкать ?
Там 99% открывается модальная форма для ввода количества.
6 НоваяВолна
 
19.02.25
12:28
(5) Оно так и есть. Форма открывается модально. При этом на платформе 8.3.10.2561 срабатывало, а на 8.3.26.1498 не хочет.
  Поэтому пытаюсь воткнуть обработку ожидания.
Платформу устанавливали не мы, а сисадмин клиента. Есть подозрение, что запуск происходит с нового 1С-Сервера
7 НоваяВолна
 
19.02.25
12:31
(6) Режим совместимости стоит Версия 8.2.13
8 Ёпрст
 
19.02.25
13:16
(6) что именно не срабатывает? При закрытии модальной формы фокус уходит, или что ?
9 Ёпрст
 
19.02.25
13:19
Можешь явно в коде (4) прописать сразу, после строки открытия модальной формы. Хотя, режим совместимости, тоже влияет
10 НоваяВолна
 
19.02.25
13:23
(8) Фокус должен уходить на форму подбора, но при закрытии формы фокуса вообще нет нигде.
  Если на добавленной мной строке

ПодключитьОбработчикОжидания("ПриОжиданииВыбора",1);

ставлю точку останова (сама Процедура ПриОжиданииВыбора создана, но пустая), то через точку останова фокус появляется на форме Подбора (там где надо), но это работает только в режиме отладки. Снимаю точку останова и фокус снова непонятно где
11 НоваяВолна
 
19.02.25
13:25
(9) Активизировать(), если я правильно понимаю надо после закрытия модальной формы. Или я не прав?
12 Волшебник
 
19.02.25
13:27
(11) да
13 НоваяВолна
 
19.02.25
15:04
(12) Убрал ОбработчикОжидания, нашел где закрывается модальная форма для ввода количества
Форма.Закрыть(СтруктураПараметров);

и добавил
ФормаПодбора = ЭтотОбъект.ПолучитьФорму("ОсновнаяФорма");
ФормаПодбора.Активизировать(); 


Работает также... Если ставишь точку останова на Активизировать(), работает. Снимаешь, не работает.

  Причем во всех случаях, которые пробовал сочетания кнопок CTRL + вверх или CTRL + вниз работают, а перестают работать кнопки вверх/вниз и Enter
14 Ёпрст
 
19.02.25
15:08
(13) да ё...
Найди где в коде у тебя
СтруктураПараметров = ФормаВводПараметров.ОткрытьМодально();
после похожей строки воткни своё автивизировать
15 Волшебник
 
19.02.25
15:12
(13) гы-гы
16 Ёпрст
 
19.02.25
15:30
Но лучше, конечно, поднапрячься и снять режим совместимости к ебе..ям.
17 Ёпрст
 
19.02.25
15:30
ЗЫ: да, кое-где выйдут весёлости и подарки от создателей, но, всё решаемо.
18 eddy_n
 
20.02.25
06:55
ТекущийЭлемент
19 НоваяВолна
 
20.02.25
07:36
(16) Сейчас разверну файловую демку под 8.3.10.2561 на сервере клиента и посмотрю как она себя поведет
20 eddy_n
 
20.02.25
07:53
(19) Деятельность на таком старье пора прекращать. Там демоническое обновление неприменимо.
21 НоваяВолна
 
20.02.25
08:03
(20) Для этого и был сделан переход на УТ 11. Но клиент пока учится работать.
22 НоваяВолна
 
20.02.25
10:41
(19) Как итог: Демо УТ 10.3 (файловая) при запуске на 8.3.10.2561 работает нормально, при запуске на 8.3.26.1498 возникает сабж.
   Думаем перенести УТ 10.3 на другой сервер клиента, а БП и УТ 11 оставить на текущем. Таким образом разделить 1С-Сервер по версиям.
23 Мультук
 
гуру
20.02.25
10:45
(22)

{Вангую}

После переноса окажется, что есть куча важных процессов,
обработок, обменов, которые работают через com-соединение,
а com-соединение то ку-ку
24 НоваяВолна
 
20.02.25
10:54
(23) Согласен. В таком случае, как вариант, на другой сервер убрать БП и УТ 11, а УТ10.3 оставить на текущем. Хотя скорее всего этого не потребуется. Придется клиенту помучаться какое-то время подбором с помощью мыши.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший