Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 авг 2022, 10:06

открыть всплывающую форму выбора с отбором

Автор andron81_81, 09 дек 2017, 10:35

0 Пользователей и 1 гость просматривают эту тему.

andron81_81

Добрый день.

У меня есть некая форма1 в ней параметр в таб. части имеет тип "Справочник ссылка" . по кнопке "выбрать" традиционным образом высвечивается нужный справочник с выбором элемента (форма2) - тут всё ок. Но мне нужно чтобы этот отбор в списке выбора был с условиями. Причем этот отбор задавался из форма1 по нажатию кнопки "выбор". Либо каким-то образом передать параметр в форма2. А там бы при её открытии я бы настроил бы уже отбор. Существует способ "ОткрытьМодально" с передачей параметров. Но он не подходит. Так как "открытьМодально" за меня "делает" система.

andron81_81

Цитата: andron81_81 от 09 дек 2017, 10:35
Добрый день.

У меня есть некая форма1 в ней параметр в таб. части имеет тип "Справочник ссылка" . по кнопке "выбрать" традиционным образом высвечивается нужный справочник с выбором элемента (форма2) - тут всё ок. Но мне нужно чтобы этот отбор в списке выбора был с условиями. Причем этот отбор задавался из форма1 по нажатию кнопки "выбор". Либо каким-то образом передать параметр в форма2. А там бы при её открытии я бы настроил бы уже отбор. Существует способ "ОткрытьМодально" с передачей параметров. Но он не подходит. Так как "открытьМодально" за меня "делает" система.

желательно если способ будет без пвх :)

AIFrame

Цитироватьпвх
ПолиВинилХлорида?
Создавая подобные темы обязательно указывайте, что у вас Управляемые Формы, а не обычные. Я просто помню, поэтому.
ОткрытьМодально() - это уже моветон. В УФ крайне не рекомендуется использовать Модальные окна, потому что Модальное = Всплывающее окно, которое по умолчанию блокируется большинством браузеров.
Вместо модальности нужно использовать ОписаниеОповещения и отдельную процедуру для обработки результата.
Задать отбор на форму выбора можно двумя путями.
1. Показать[Выбор|Ввод][Тип]
Пример:

Оповещение = Новый ОписаниеОповещения("ПослеВыбораЭлемента", ЭтаФорма);
СписокТиповЦен.ПоказатьВыборЭлемента(Оповещение, "Выберите тип цен.");
//...


&НаКлиенте
Процедура ПослеВыбораЭлемента(ВыбранныйЭлемент, СписокПараметров) Экспорт
    Если ВыбранныйЭлемент = Неопределено Тогда
        Сообщить("Тип цен не выбран.");
    Иначе
        ВыбранноеЗначение = ВыбранныйЭлемент.Значение;
    КонецЕсли;
КонецПроцедуры


2. Через ПолучитьФорму, ОткрытьФорму, после чего манипулировать Форма.Элементы.Список.Отбор.
3. Через ПолучитьФорму, ОткрытьФорму с указанием предварительных параметров (Структурой)
П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();

Описание оповещения будет 7-м параметром метода.
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
P.S.: Читайте СП.

andron81_81

Цитироватьпвх
ПолиВинилХлорида?

ПланВидовХарактеристик :)

Про модальные я имел ввиду в том числе и это , что не хотелось бы :
ПолчитьФорму -> ОткрытьФорму


AIFrame

Цитата: andron81_81 от 09 дек 2017, 11:54Про модальные я имел ввиду в том числе и это , что не хотелось бы :
ПолчитьФорму -> ОткрытьФорму
По причине? ОписаниеОповещения использовать при любом раскладе. Вы видно не понимаете, что получать форму теперь принято не через Справочники.ИмяСправочника.ПолучитьФормуВыбора().ОткрытьМодально(), а через ОткрытьФорму("Справочник.ИмяСправочника.ФормаВыбора", СтруктураПараметров, , , , , ОписаниеОповещения);
И никакой модальности тут нет.


andron81_81

Цитата: AIFrame от 09 дек 2017, 12:07
Цитата: andron81_81 от 09 дек 2017, 11:54Про модальные я имел ввиду в том числе и это , что не хотелось бы :
ПолчитьФорму -> ОткрытьФорму
По причине? ОписаниеОповещения использовать при любом раскладе. Вы видно не понимаете, что получать форму теперь принято не через Справочники.ИмяСправочника.ПолучитьФормуВыбора().ОткрытьМодально(), а через ОткрытьФорму("Справочник.ИмяСправочника.ФормаВыбора", СтруктураПараметров, , , , , ОписаниеОповещения);
И никакой модальности тут нет.

ПолучитьФорму -> ОткрытьМодально , Вы объяснили почему плохо. я это понял и прислушаюсь.
Но я не об этом. я имел ввиду , что в данном случае мне не подходит вообще прием
ПолучитьФорму -> ОткрытьФорму.
или же
ПолучитьФорму -> ОткрытьМодально.

потому что Открывает форму сам система.



AIFrame

Цитата: andron81_81 от 09 дек 2017, 12:28потому что Открывает форму сам система.
"Система" вообще формами не оперирует. Для систем нет форм, есть только модули объектов.
Поэтому я абсолютно не понимаю, что это значит.

andron81_81

Цитата: AIFrame от 09 дек 2017, 12:40
Цитата: andron81_81 от 09 дек 2017, 12:28потому что Открывает форму сам система.
"Система" вообще формами не оперирует. Для систем нет форм, есть только модули объектов.
Поэтому я абсолютно не понимаю, что это значит.

ну смотрите, мы открытьФорму используем , когда нам надо её открыть умышленно. и так мы можем туда накрутить параметры и всё такое.
А когда просто указали тип реквизита - ссылка из справочника открываться будет системой форма выбора из справочника без всяких там открытьФорму и т.п.  так зачем мне рушить данный лад ? проблема только в том , что я не знаю как в этом случае организовать отбор. вернее каким образом передать в отбор в такую автоматически открывающуюся форму со списком элементов

AIFrame

Цитата: andron81_81 от 09 дек 2017, 10:35Но мне нужно чтобы этот отбор в списке выбора был с условиями
Цитата: andron81_81 от 09 дек 2017, 12:48ссылка из справочника открываться будет системой форма выбора из справочника без всяких там открытьФорму и т.п.  так зачем мне рушить данный лад ? проблема только в том , что я не знаю как в этом случае организовать в списке выбора элементов.
https://forum-1c.ru/index.php?topic=68746.0;msg=190986
Не понимаю, что еще надо. От того, что "не хочется писать так" ничего не изменилось. Оно пишется так, делается так, работает так. В общем, на вопрос я ответил, ломайтесь дальше сколько угодно, вам пилить же.



andron81_81

Цитата: AIFrame от 09 дек 2017, 12:53
Не понимаю, что еще надо. От того, что "не хочется писать так" ничего не изменилось. Оно пишется так, делается так, работает так. В общем, на вопрос я ответил, ломайтесь дальше сколько угодно, вам пилить же.

Вот у Вас есть поле на форме . оно имеет тип ссылка справочник "Номенклатура" .
Вы для того чтобы выбрать значение там , программируете ПолучитьФорму, ОткрытьФорму ? Нет . потому что всё сделано за Вас. вот и я не хочу. У меня именно такая ситуация . только на форме выбора необходимо настроить отбор. Я так понимаю , что Вы имеете ввиду , что без ПолучитьФорму, ОткрытьФорму тут никак. Верно ?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск