Добавить в массив данные из другой процедуры

1. 1Eset 3 26.06.20 13:51 Сейчас в теме
Есть такой код

&НаКлиенте
Процедура Ответ1ПриИзменении(Элемент)
    
    МассивОтветов = МассивДанных(); 
    
    Если объект.Ответ1 = Истина Тогда
        
        МассивОтветов.Добавить("Кошка");
        Элементы.Ответ2.Доступность = ложь;  
        Элементы.Ответ3.Доступность = ложь; 
        Элементы.Ответ4.Доступность = ложь;
                         
     ИначеЕсли
         
        объект.Ответ1 = Ложь Тогда
        
        Элементы.Ответ2.Доступность = истина;  
        Элементы.Ответ3.Доступность = истина; 
        Элементы.Ответ4.Доступность = истина;         
        КонецЕсли
        
        
КонецПроцедуры


&НаКлиенте
Процедура Проверить(Команда)
    
МассивОтветов = МассивДанных();
Для Каждого ЭлементМассива из МассивОтветов Цикл
Сообщить(ЭлементМассива);    
КонецЦикла;

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


&НаСервере
Функция МассивДанных()    
    
    МассивОтветов = Новый Массив();
    МассивОтветов.Добавить("привет");
    
    Возврат МассивОтветов
        
КонецФункции

Показать


Форма открывается сразу в массив добавляется "привет", потом я нажимаю на флажок и хочу, чтобы в него добавилась "Кошка", потом нажимаю на кнопку "проверить" и сообщение выходит только "привет", где Кошка? :D читал примеры работы с массивами, там примерно тоже самое, но чёт видимо я не догоняю :D помогите добавить кошку в массив, чтобы при проверке выходило

привет
кошка
По теме из базы знаний
Найденные решения
2. Marliiin 26.06.20 13:59 Сейчас в теме
Вы нажимаете на кнопку и исполняется только код этой кнопки. Соответственно выполняется только:

&НаКлиенте
Процедура Проверить(Команда)

МассивОтветов = МассивДанных();
Для Каждого ЭлементМассива из МассивОтветов Цикл
Сообщить(ЭлементМассива);
КонецЦикла;

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

А здесь вы получаете новый массив с одним элементом.

А что вы там флажками переключаете неважно - вы ж не сохраняете данные.
3. Marliiin 26.06.20 14:01 Сейчас в теме
А чтобы было правильно и кошка добавилась, нужно где-то эту кошку сохранять.
Например, создайте реквизит формы с типом список значений, и туда добавляйте ваши элементы когда хотите.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Marliiin 26.06.20 13:59 Сейчас в теме
Вы нажимаете на кнопку и исполняется только код этой кнопки. Соответственно выполняется только:

&НаКлиенте
Процедура Проверить(Команда)

МассивОтветов = МассивДанных();
Для Каждого ЭлементМассива из МассивОтветов Цикл
Сообщить(ЭлементМассива);
КонецЦикла;

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

А здесь вы получаете новый массив с одним элементом.

А что вы там флажками переключаете неважно - вы ж не сохраняете данные.
3. Marliiin 26.06.20 14:01 Сейчас в теме
А чтобы было правильно и кошка добавилась, нужно где-то эту кошку сохранять.
Например, создайте реквизит формы с типом список значений, и туда добавляйте ваши элементы когда хотите.
4. 1Eset 3 26.06.20 17:03 Сейчас в теме
(3)
реквизит
Получилось! Спасибо!

Если Вам не сложно подсказать, как их сложить, если это например цифры?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот