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

как повторно открыть модальное окно?

Автор т87, 05 апр 2016, 11:00

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

т87

процедура ПоискПоШтрихкоду открывает модальное окно.
Можно ли сделать так, чтобы при нажатии на кнопку "Ок" модального окна, данное окно не закрывалось, а дальше запрашивала ввод значений пользователя. Платформа 8.3.


Процедура ПоискПоШтрихкоду(Команда)

ТекШтрихкод = "";
ПоказатьВводЗначения(Новый ОписаниеОповещения("ПоискПоШтрихкодуЗавершение", ЭтотОбъект, Новый Структура("ТекШтрихкод", ТекШтрихкод)), ТекШтрихкод, НСтр("ru = 'Введите штрихкод'"));

КонецПроцедуры

&НаКлиенте
Процедура ПоискПоШтрихкодуЗавершение(Результат, ДополнительныеПараметры) Экспорт
   
    ТекШтрихкод = ?(Результат = Неопределено, ДополнительныеПараметры.ТекШтрихкод, Результат);
   
   
    Если НЕ ПустаяСтрока(ТекШтрихкод) Тогда
        Сообщить ...;
    КонецЕсли;

КонецПроцедуры


vitasw


Rasty

используйте рекурсию, делов то
Цитата: vitasw от 05 апр 2016, 11:12
Ээээээ, в чем смысл?
а это сакральный смысл, который нам не понять
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

т87

Цитата: Rasty от 05 апр 2016, 11:32
используйте рекурсию, делов то

Надо, чтобы только если жмем на "Ок" окошко оставалось, а при нажатии на "Отмена" закрывалась. Если использовать рекурсию, то модальное окно вообще не закроется.


Rasty

Тогда создайте общую форму и открывайте её модально
Добавлено: 05 апр 2016, 12:00


а ваш поиск по штрихкоду можно(даже нужно) сделать с помощью внешней компоненты
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

LexaK

конечно можно, не понятно правда зачем....

&НаКлиенте
Процедура ПоискПоШтрихкоду(Команда)
   
    ПоискПоШтрихкодуЗавершение("", "");

КонецПроцедуры

&НаКлиенте
Процедура ПоискПоШтрихкодуЗавершение(Результат, ДополнительныеПараметры) Экспорт

    если Результат = Неопределено Тогда
          //пользователь отказался от ввода, выходим
          Возврат;
    конецесли;
    ТекШтрихкод = Результат;
    лкОписание = Новый ОписаниеОповещения("ПоискПоШтрихкодуЗавершение", ЭтотОбъект, ТекШтрихкод);
    ПоказатьВводЗначения(лкОписание, ТекШтрихкод, НСтр("ru = 'Введите штрихкод'"));

    Если НЕ ПустаяСтрока(ТекШтрихкод) Тогда
        Сообщить (ТекШтрихкод);
    КонецЕсли;

КонецПроцедуры



B) кажется так должно сработать, будет запрашивать значение пока Отмена не нажмете,
правда код не оптимальный, для теста сойдет.
если помогло нажмите: Спасибо!

vitasw

Цитата: т87 от 05 апр 2016, 11:51Надо, чтобы только если жмем на "Ок" окошко оставалось, а при нажатии на "Отмена" закрывалась. Если использовать рекурсию, то модальное окно вообще не закроется.

То что вам хочется, было понятно и из первого поста. Я еще раз настойчиво спрашиваю: в чем смысл сего действа?
Открытое модально окно используется только для ввода данных вся полезная деятельность выполняется после закрытия окна. Вы же окно закрывать не хотите, соответственно никаких полезных действий выполнено не будет. Так в чем смысл-то?

т87

Цитата: vitasw от 05 апр 2016, 12:19
То что вам хочется, было понятно и из первого поста. Я еще раз настойчиво спрашиваю: в чем смысл сего действа?
Открытое модально окно используется только для ввода данных вся полезная деятельность выполняется после закрытия окна. Вы же окно закрывать не хотите, соответственно никаких полезных действий выполнено не будет. Так в чем смысл-то?

Смысл в том, что пользователю лень постоянно нажимать на эту кнопку, когда приходиться сканировать штрихкоды номенклатуры. Ему надо, чтобы один раз открыв окошко, он, держа сканер в одной руке, а другую руку положив на кнопку "Enter" выполнял данные манипуляции. Горячие клавиши тоже не устраивают. А все полезные действия выболняются в методе ПолученыШтрихкоды.


...
Если НЕ ПустаяСтрока(ТекШтрихкод) Тогда
        ПолученыШтрихкоды(Новый Структура("Штрихкод, Количество", ТекШтрихкод, 1));
    КонецЕсли;
...

Добавлено: 05 апр 2016, 13:19


Цитата: LexaK от 05 апр 2016, 12:17

B) кажется так должно сработать, будет запрашивать значение пока Отмена не нажмете,
правда код не оптимальный, для теста сойдет.

Работает, благодарю!

Теги:

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

Рейтинг@Mail.ru

Поиск