|
v7: Открыть форму подбора из формы открытой модально | ☑ | ||
---|---|---|---|---|
0
MaxStarkov
21.11.11
✎
10:56
|
Ситуация такая. Есть внешняя обработка, которая открывается модально, в этой обработке предусмотрено заполнение таблицы значений данными справочников. При использовании ОткрытьПодбор() он открывается, но так как форма обработки открыта модально, то выбрать из подбора не получается.
В итоге надо из внешней обработки получить таблицу значений для которой надо как то организовать подбор. Не получается у меня |
|||
1
andrewks
21.11.11
✎
10:56
|
модальность - зло
|
|||
2
MaxStarkov
21.11.11
✎
10:56
|
Вопрос по 1С 7.7. Случайно проглядел и запостил его в раздел по 1С 8. Перенесите пожалуйста
|
|||
3
LAAry
21.11.11
✎
10:57
|
(0) и не получится. Модально, значит модально.
|
|||
4
Defender aka LINN
21.11.11
✎
10:57
|
Зачем открывать ее модально?
|
|||
5
MaxStarkov
21.11.11
✎
10:58
|
Чтобы потом получить из нее в качестве параметра таблицу значений. Или можно получить и не при модальном открытии?
|
|||
6
Rie
21.11.11
✎
11:00
|
(5) Можно и не при модальном открытии. Посмотри, как в типовой ТиС сделан подбор номенклатуры в документах.
|
|||
7
MaxStarkov
21.11.11
✎
11:01
|
Спасибо, гляну и попробую
|
|||
8
MaxStarkov
21.11.11
✎
11:08
|
блин. нет ТиС по рукой сейчас.
ОткрытьФорму("Обработка.ФормированиеУсловий",СписокПараметров); Сообщить(ЗначениеВСтроку(СписокПараметров)); Форма открывается, но сразу же выдается пустая строка. А вот при: ОткрытьФормуМодально("Обработка.ФормированиеУсловий",СписокПараметров); Сообщить(ЗначениеВСтроку(СписокПараметров)); Выдется уже значение |
|||
9
MaxStarkov
21.11.11
✎
11:09
|
В форме "Обработка.ФормированиеУсловий" есть код:
Процедура Сформировать() СписокПараметровУсловия=СоздатьОбъект("СписокЗначений"); СписокПараметровУсловия.ДобавитьЗначение(ТипЗначенияУсловия); СписокПараметровУсловия.ДобавитьЗначение(ВидЗначенияУсловия); СписокПараметровУсловия.ДобавитьЗначение(ВидУсловия); Если ПустоеЗначение(ЭлементУсловия)=0 Тогда СписокПараметровУсловия.ДобавитьЗначение(ЭлементУсловия); КонецЕсли; Если ЭлементыУсловия.КоличествоСтрок()>0 Тогда СписокПараметровУсловия.ДобавитьЗначение("Список"); КонецЕсли; Форма.Параметр=СписокПараметровУсловия; Форма.Закрыть(); КонецПроцедуры |
|||
10
Rie
21.11.11
✎
11:14
|
(8) Форму открой в режиме подбора.
В открытой форме - ОбработкаВыбораСтроки(0); А как надо вернуть значение - ВыполнитьВыбор(ЧегоТамТебеНужноПередать); Вызывающая форма получмт это значение через ОбработкаПодбора. |
|||
11
MaxStarkov
21.11.11
✎
11:57
|
Работает! В итоге надо делать так:
в первую обработку надо добавить процедуру ОбработкаПодбора() вызов обработки в которой подбираются значения осуществляется через ОткрытьПодбор() в вызываемой обработке надо выключить предопределенную процедуру обработки выбора через ОбработкаВыбораСтроки(0) вызвать подбор элементов справочника (или еще чего) через ОткрытьПодбор(), а возврат значения осуществить через ВыполнитьВыбор() Спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |