Имя: Пароль:
1C
 
Список значений (если не выбран не один элемент)
0 ok_sys
 
16.07.17
18:05
Здравствуйте. 8.3, чистая конфа. Модуль Управляемого приложения, процедура ПередНачаломРаботыСистемы(Отказ), Создаю список значений прямо там, как сделать так, что б если пользователь не выбрал ни одно значение из списка - показывало сообщение и отправляло обратно на эту форму списка значений.

        Обед = Новый СписокЗначений;
        Обед.Добавить("Курица");
        Обед.Добавить("Рыба");
        Обед.Добавить("Мясо");
            
        Если Обед.ОтметитьЭлементы("Что будете кушать?") Тогда
                    
            Для Каждого Еда Из Обед Цикл
                Если Еда.Пометка Тогда
                    глОбед.Добавить(Еда.Значение);    
                КонецЕсли;                        
            КонецЦикла;    
            
        ИначеЕсли глОбед = Неопределено Тогда
            Предупреждение("Выберите обед!");
        КонецЕсли;

       Обед.ЗаполнитьПометки(Истина);
1 ok_sys
 
16.07.17
18:14
Если нет идей мб какую-то альтернативу предложите? задание звучит так. При входе в конфу нужно спрашивать пользователя какой обед выбрать? можно выбрать несколько значений, обязательно нужно выбрать хотя б 1 значение. Если ни одного не выбрал - показывать сообщение и возвращать обратно на эту форму выбора обеда. Использовать список значений
2 Имитация работы
 
16.07.17
18:32
Если нет ни одного помеченного значения, то ты никогда в ветку если еда.пометка и не выставишь флаг наличия записей.
Также у тебя никогда не сработает глобед.добавить и там будет ноль элементов.

Код уж напишешь сам, студент-соискатель. Тебя этому вроде как учили.
3 ok_sys
 
16.07.17
18:58
Хоть и не хотел использовать goto, но друго варианта не придумал.
4 Имитация работы
 
16.07.17
19:25
Пока Не ДанныеВведеныКорректно() Цикл
Предупреждение
КонецЦикла;
5 youalex
 
16.07.17
19:48
(0) какое то дикое задание.
Как вариант - можно сделать общую форму. С тремя кнопками - Курица, Рыба, Мясо. (если список предопределен и не будет расширяться). С картинками. По нажатии - присваивать что нужно - форму закрывать с параметром= Истина. В событии формы ПередЗакрытием() - смотреть на параметр формы, и не закрывать если Неопределено.   Ну и, далее в событии приложения - смотреть заполнен ли параметр, если нет - Отказ = Истина.  

В твоем событии открывать эту форму модально (в конфе разрешить модальное открытие форм)
6 Имитация работы
 
16.07.17
19:52
(5) Тут человек от goto избавляется, а ты ему про режимы модальности конфигурации (:
7 ok_sys
 
16.07.17
19:54
Всем спасибо