Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Программное открытие формы списка подчиненного справочника для выбора элемента.

v7: Программное открытие формы списка подчиненного справочника для выбора элемента.
Я
   Anyman
 
21.11.18 - 12:26
В документе реквизит "Клиент" и связанный с ним реквизит "Контракт"(подчиненный справочник "Контракты").
В свойствах "Клиента" вставлена процедура "ПриВыбореКлиента()"

Процедура ПриВыбореКлиента()
    ОткрытьПодбор("Контракты","ФормаСписка",,0); 
КонецПроцедуры

Форма списка подчиненного справочника открывается но не поверх всех окон, а за окном документа.
Как сделать сверху всех окон?
 
 
   Масянька
 
1 - 21.11.18 - 12:27
(0) ОткрытьМодально
   АЛьФ
 
2 - 21.11.18 - 12:29
Если нужен подбор, то не надо сам документ открывать модально.
   Карст
 
3 - 21.11.18 - 12:39
вообще то нужно владельца передавать и всйо
   Anyman
 
4 - 21.11.18 - 12:41
(1) В "ОткрытьПодбор()" нет праметра ОткрытьМодально.
   Anyman
 
5 - 21.11.18 - 12:42
(2) Документ создается интерактивно, пользователем.
   Anyman
 
6 - 21.11.18 - 12:43
(3) Зачем передавать владельца? И так открываются нужные элементы подчиненного справочника.
   Злопчинский
 
7 - 21.11.18 - 14:43
(5) ну и что? или форма нового документ аоткрывается модально или после открытия формы подбора активизируется форма документа. Что у вас там понаписано - нам отсюда не видно...
   Anyman
 
8 - 22.11.18 - 08:30
(7) Ничего от себя для открытия документа я не писал. По умолчанию, интерактивно созданный, он открывается не модально.
Проверил - могу перемещяться по открытым окнам.Форму документа нигде не ативизирую. Вот, код:

Процедура ОбработкаПодбора(Выб)
    Контракт=Выб;
КонецПроцедуры

Процедура ПриВыбореКлиента()
    ОткрытьПодбор("Контракты","ФормаСписка",,0);
КонецПроцедуры

Может по другому можно как-то сделать?
   Злопчинский
 
9 - 22.11.18 - 15:52
При чем здесь ОбработкаПодбора?
Смотри ОткрытьПодбор.
Смотри где в коде есть что-то типа активизации родителського окна (откуда вызывал подбор) или есть Активизировать(ЗдесьПолеРодительскойФормы);
   Злопчинский
 
10 - 22.11.18 - 15:58
(8) зачем подбор для выбора ЕДИНИЧНОГО значения?

Процедура ПриВыбореКлиента()
  СпрКонракты = СоздатьОбъект("Справочник.Контракты");
  СпрКонтракты.ИспользоватьВладельца(ВыбКонтрагент);
  Если СпрКонтракты.Выбрать("Будь мужиком, выбери контракт!","ФормаВыбора") = 0 Тогда
    Возврат;//чтото делаем если контракт не выбран

  КонецЕсли;
  ВыбКонтракт = СпрКонтракты.ТекущийЭлемент();
КонецПроцедуры
 
 Рекламное место пустует
   Anyman
 
11 - 26.11.18 - 06:57
(9) Это ВЕСЬ код в модуле, никакого "Активизировать" там нет.

(10) Выбрать() работает! А, почему ОткрытьПодбор() открывает окно заднем плане непонятно.
   MadDAD
 
12 - 26.11.18 - 08:11
(11) В формулах текста на форме нет "Активизировать()" ?

Выбрать() работает потому, что окновыбора открываетя модально. А окно подбора не модально. потому и не работает. Релиз платформы, кстати какой?
   MadDAD
 
13 - 26.11.18 - 08:13
(12) В формулах текста на форме нет "Активизировать()" ? - имелось в виду на форме документа
   vcv
 
14 - 26.11.18 - 08:18
(11) >> Выбрать() работает! А, почему ОткрытьПодбор() открывает окно заднем плане непонятно
   vcv
 
15 - 26.11.18 - 08:18
Вполне вероятно, что при завершении выбора в поле ввода происходит неявная активизация этого поля ввода.
   Ёпрст
 
16 - 26.11.18 - 10:35
(11) потому, что (2)
   Anyman
 
17 - 26.11.18 - 11:09
(12) В форме ничего не Активизируется. Создал "чистый" экспериментальный документ :) Релиз 27.
   Anyman
 
18 - 26.11.18 - 11:10
(15) И как ее отключить?
   MadDAD
 
19 - 26.11.18 - 11:36
(18) Процедура ПриВыбореКлиента() откуда вызывается?
   MadDAD
 
20 - 26.11.18 - 11:41
(19) Если ПриВыбореКлиента() вызывается из формулы реквизита, то после открытия подбора, управление возвращается активному реквизиту на форме документа и, соответственно активизируется форма документа. Нужно перевесить вызов ПриВыбореКлиента() на отдельную кнопку.

Но в (10) - абсолютно верное решение для подбора единственного элемента справочника.
   Kigo_Kigo
 
21 - 26.11.18 - 13:01
потому чо надо использовать ПриНачалеВыбораЗначения()
   Anyman
 
22 - 27.11.18 - 05:35
(20) Да, вызывается из формулы реквизита.

Меня (10), в данном случае вполне, устраивает.


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