Имя: Пароль:
1C
1С v8
ОбработкаВыбора не срабатывает
0 Repinovich
 
28.02.23
16:20
На главной форме в список  не добавляется значение выбранное в ФормеВыбора(вызов через кнопку ПодобратьВалюты) , сама ФормаВыбора естественно открывается и значение можно выбрать, но оно не добавляется в список главной формы. Подскажите пожалуйста, как решить это?

Форма владелец__________

&НаКлиенте
Процедура ПодобратьВалюты(Команда)
    ПараметрыВыбора = Новый Структура;
    ПараметрыВыбора.Вставить("РежимВыбора",Истина);
    ПараметрыВыбора.Вставить("МножественныйВыбор",Истина);
    ПараметрыВыбора.Вставить("ЗакрыватьПриВыборе",Истина);
    ОткрытьФорму("Справочник.Валюты.Форма.ФормаПодбора",ПараметрыВыбора,ЭтаФорма);
    
КонецПроцедуры  

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
    
    Если ВыбранноеЗначение.Количество () > 5 Тогда
        
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Максимальное число валют для отображения должно быть не более 5!";
        Сообщение.Сообщить();
        
        Возврат;            
    КонецЕсли;    
    
        Валюты.Добавить((ВыбранноеЗначение);
        
    
КонецПроцедуры

ФормаВыбора___________________

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
            
    ОповеститьОВыборе(ВыбранноеЗначение);
    
    
КонецПроцедуры
1 eddy_n
 
28.02.23
18:03
Во-первых, используется модальность или нет?
2 Жан Пердежон
 
28.02.23
18:10
в список массив добавлять умеешь?
3 eddy_n
 
28.02.23
18:11
Во-вторых, обойди в цикле Выбранные значения.
4 eddy_n
 
28.02.23
18:12
У тебя же включен Множественный выбор.
5 Repinovich
 
28.02.23
20:02
(1) Модальность Используется
(3) Сделал процедуру обход массива, Процедура ОбновитьСписок(МассивВалют = Неопределено);

    КэшВалют = Валюты.Скопировать();
    
    Валюты.Очистить();
    
    Валюты.ЗагрузитьЗначения(МассивВалют);
    
    Для Каждого ТекВалюта Из Валюты Цикл
        ВалютаКэш = КэшВалют.НайтиПоЗначению(ТекВалюта.Значение);
        Если ВалютаКэш <> Неопределено Тогда
            ТекВалюта.Пометка = ВалютаКэш.Пометка;
        КонецЕсли;
    КонецЦикла;
    
        
    ПолучитьКурсыВалют(ТекущаяДата());
    ПолучитьДинамикуКурса();
    
КонецПроцедуры

Всё равно не работает, он не перетягивает массив в
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
    
    Если ВыбранноеЗначение.Количество () > 5 Тогда
        
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Максимальное число валют для отображения должно быть не более 5!";
        Сообщение.Сообщить();
        
        Возврат;            
    КонецЕсли;    
    
        ОбновитьСписок(ВыбранноеЗначение);
        
    
КонецПроцедуры
6 eddy_n
 
01.03.23
02:12
Это же всё на клиенте делается. Вообще проблем с отладчиком быть не должно. Что гадать? Запусти дебаггер да и разрули ситуацию.