|
v7: предустановленный реквизит при открытии диалога | ☑ | ||
---|---|---|---|---|
0
maestro-72
07.12.11
✎
09:36
|
Имею на форме текстовое поле и поле для выбора элемента справочника, условие такое, если введенная информация найдена в реквизитах справочника то в поле выбора подставляется этот элемент, если не найдена то открывается форма выбора элемента. Как правило если информация не найдена то оператор добавляет новый элемент в справочник, при этом ему приходится вводить информацию из текстового поля и нередко ошибается. Хотел сделать чтобы при открытии диалога инфа из текстового поля уже ставилась в новый элемент справочника. Ничего не получилось. Не знаю как передать информацию. Форма для подбора открывается безо всякого дополнительного кода если информация в справочнике не найдена. Может кто уже использовал такое, поделитесь мыслью...
|
|||
1
povar
07.12.11
✎
09:38
|
"Хотел сделать чтобы при открытии диалога инфа из текстового поля уже ставилась в новый элемент справочника. Ничего не получилось"
покажи как хотел |
|||
2
ДенисЧ
07.12.11
✎
09:38
|
Капитан Очевидность подсказывает, что нужно программно открывать форму подбора с передачей нужных параметров...
|
|||
3
maestro-72
07.12.11
✎
09:49
|
Да я пробовал программно, всё там здорово, только она не закрывается при достижении и вводе последней колонки вводом. Форму открывать программно нет события которое ее закрывало бы при нажатии в последней колонке ввода. Как то коряво объяснил...
|
|||
4
ДенисЧ
07.12.11
✎
09:51
|
да уж... Нормальным объяснением тут и не пахнет...
|
|||
5
Песец
07.12.11
✎
09:51
|
(0) В ПриНачалеВыбораЗначения поискать что тебе надо, если не нашел открывать форму выбора.
|
|||
6
Rie
07.12.11
✎
09:57
|
(3) Угу, коряво. У тебя редактирование - в форме списка справочника?
|
|||
7
maestro-72
07.12.11
✎
09:57
|
Оператор при открытии диалога выбора элемента справочника понимает что искомая информация не была найдена и создает новый элемент. При вводе очередного реквизита в форме списка курсор перескакивает на следующую колонку, это очень удобно, по достижении последней колонки и вводе значения форма закрывается и этот элемент справочника появляется в реквизите вызывающей формы
|
|||
8
maestro-72
07.12.11
✎
09:58
|
В случае программного открытия формы с передачей параметра так не получается
|
|||
9
maestro-72
07.12.11
✎
09:59
|
Форма выбора почемуто не закрывается при нажатии ввода в последней колонке
|
|||
10
Rie
07.12.11
✎
10:04
|
(8) Покажи, как делаешь.
|
|||
11
maestro-72
07.12.11
✎
10:07
|
в текстовом поле прописана процедура которая находит элемент справочника
Если нашла - подставляет значение в поле выбора элемента и диалог не открывается. если не нашла, то процедура завершается, следующим просто открывается диалог для выбора... Как при нажатии на педалку срабатывает |
|||
12
maestro-72
07.12.11
✎
10:08
|
В модуле формы из которой элемент выбирается ничего не прописано
|
|||
13
Rie
07.12.11
✎
10:12
|
(11) Так а как передаёшь информацию в форму выбора? (или что имелось в виду под "не получается"?).
Может, имеет смысл обратить внимание на методы формы РежимВыбора, ОбработкаВыбораСтроки и ВыполнитьВыбор? |
|||
14
maestro-72
07.12.11
✎
10:15
|
В ощем надо закрыть эту форму при окончании ввода последней колонки если вводится новый элемент справочника с передачей этого элемента в диалог выбора. Это и не получается.
|
|||
15
Rie
07.12.11
✎
10:18
|
(14) Форма.Закрыть() - не поможет?
Ну и так, для профилактики - покажи код. А то постов уже много, а что обсуждаем-то - до сих пор непонятно. |
|||
16
maestro-72
07.12.11
✎
10:18
|
Когда я открываю форму для выбора сам программно, и передаю ей параметр, всё хорошо но она не закрывается и элемент не выбирается, а на эти процедуры внимание действительно надо обратить и я уже эксперементировал с ними, но чтото ничего не получилось из желаемого. как отловить событие что последняя колонка заполнена?
|
|||
17
Ёпрст
07.12.11
✎
10:19
|
ёпта, открытьФорму, через контекст открытой формы нового элемента справочника передать всё что угодно
|
|||
18
Rie
07.12.11
✎
10:20
|
(16) Тут дело не в бобине...
Форма с переданным параметром ведёт себя точно также, как и форма без передачи ей параметра - если потом с этим параметром ничего не делать. А код ты почему-то прячешь. |
|||
19
maestro-72
07.12.11
✎
10:24
|
А какой код показать?
Процедура ПриОткрытии() Если ТипЗначенияСтр(форма.Параметр) = "СписокЗначений" Тогда Серт = Форма.Параметр.Получить("Серт"); Если ПустоеЗначение(Серт) = 0 Тогда Новый(); Сертификат = Серт; Активизировать("Наименование",1); КонецЕсли; КонецЕсли; КонецПроцедуры Вот примерно так, базы под рукой нет. Но больше там ничего не прописано... никаких процедур. При открытии это я прописал, а то и этого небыло... и все работало как описано выше... |
|||
20
maestro-72
07.12.11
✎
10:26
|
Можно при закрытии записать - Записать(). А как она закроется?
|
|||
21
Rie
07.12.11
✎
10:28
|
(20) Форма.Закрыть() её закроет.
|
|||
22
maestro-72
07.12.11
✎
10:30
|
Ладно, еще попробую, Если не будет получаться напишу что делал, может еще мысли появятся...
|
|||
23
maestro-72
07.12.11
✎
10:31
|
Пока мне понравилось - "ведет себя точно также" Это и будем исследовать.
|
|||
24
maestro-72
08.12.11
✎
15:23
|
В общем кому интересно, решение проблемы вылилось в это:
Перем СерияФ; Перем Параметры; Процедура ПриОткрытии() Параметры = Форма.Параметр; Если ТипЗначенияСтр(Параметры) = "СписокЗначений" Тогда СерияФ = Параметры.Получить("Серия"); ВладелецФ = Параметры.Получить("Владелец"); ИспользоватьВладельца(ВладелецФ); КонецЕсли; КонецПроцедуры Процедура ПриРедактированииНовойСтроки() Серия = СерияФ; Активизировать("Наименование", 1); КонецПроцедуры Процедура ПриЗаписи() Форма.Закрыть(); КонецПроцедуры Процедура ПриЗакрытии() Если ПустоеЗначение(Параметры) = 0 Тогда Форма.Параметр.Установить("Сертификат",ТекущийЭлемент()); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |