Добрый день. Начинающий программист. Не могу найти информацию по следующему вопрос, подскажите пожалуйста. Есть форма, на ней есть поле выбора, у которого задана процедура события "НачалоВыборИзСписка". В этой процедуре создаю список значений, в который добавляются возможные (к примеру) "Наименования"
(Список = Новый СписокЗначений();
Список.Добавить(Наименование);). Также на этой форме есть другая процедура со своим функционалом. Вопрос такой, я могу как то полученные "наименования" из второй процедуры добавить в список значения в первую процедуру, чтобы в предприятии при вызове "выбора из списка" были значения полученые при помощи первой процедуры и при помощи второй? Что то вроде функции добавить? (обычные формы, 8.3)
Разобрался. В моё случае лучшим вариантом было создать общую переменную, присвоить ей полученное значение из второй процедуры, и в первой процедуре добавить в сам список, так как (в моём случае) нужно было чтобы список каждый раз перезаписывался.
Отказ от события "НачалоВыбораИзСписка" для полей ввода в режиме выбора из списка.
В "1С:Предприятии 8.3" у поля ввода не вызывается НачалоВыбораИзСписка. Это связано с появлением нового свойства поля ввода КнопкаВыпадающегоСписка, которое позволяет по кнопке выводить выпадающий список, формирующийся автоматически. Подробнее см. документацию "Руководство разработчика".
Для устранения несовместимости необходимо найти поля ввода с обработчиком НачалоВыбораИзСписка и перенести его код в другие обработчики согласно критериям:
код по добавлению элементов в список выбора следует разместить в обработчике формы ПриСозданииНаСервере. Кроме того, если состав списка выбора зависит от значений других полей, то код по изменению элементов списка выбора следует вызывать в обработчиках изменения соответствующих полей, например при помощи обработчиков ПриИзменении;
реализацию кода, не связанного с заполнением списка выбора, необходимо пересмотреть с использованием тех средств, которые предоставляет платформа "1С:Предприятие" версии 8.3.3.
Отказ от свойства "КнопкаСпискаВыбора" для полей ввода
В "1С:Предприятии 8.3" у поля ввода отсутствует свойство КнопкаСпискаВыбора. Вместо него теперь следует использовать новое свойство КнопкаВыпадающегоСписка.
Для устранения несовместимости необходимо при помощи приложенного отчета найти поля ввода, у которых в свойстве КнопкаСпискаВыбора было установлено значение "Да", и явно установить в свойстве КнопкаВыпадающегоСписка значение "Да" в том случае, если кнопка выпадающего списка не выводится при значении "Авто".
(4) Мне нужно из другой процедуры,которая находится на одной и той же форме, что и процедура НаименованиеПолноеНачалоВыбораИзСписка, добавить в этот список.
Процедура НаименованиеПолноеНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Список = Новый СписокЗначений();
Список.Добавить(Наименование);
РезультатВыбора = ВыбратьИзСписка(Список, ЭлементыФормы.НаименованиеПолное);
Если РезультатВыбора <> Неопределено Тогда
НаименованиеПолное = РезультатВыбора.Значение;
КонецЕсли;
КонецПроцедуры
(7) Спасибо конечно, но не так вопрос звучал)
При определённом условии нажимается кнопка, затем получаются данные взятые из интернета. Дальше я хочу из этой процедуры, взять кое какую инфу (а именно наименования) и передать в Список Выбора)
(9) Вот не могу понять. Или я не правильно вношу значения в список ( ну то есть запись ЭлементыФормы.НаименованиеПолное.СписокВыбора.Добавить("тест"); верная или нет, можно ли так или нет) или где то в коде стоят определённые условия, которые или не дают записать или же перезаписывают значения, тем самым в список не вносятся мои записи. Но по сути, как я понимаю, эти "левые" условия могут быть либо при событии "ПриИзменении" либо при "НачалоВыбораИзСписка". Но в них я тоже ничего такого не увидел ...
(10) Их там и не будет. Список выбора - это свойство поля ввода на форме и кроме как в нем эти значения больше нигде не светятся. Список выбора будет вываливаться при нажатии на кнопку выбора из списка. Никаких обработчиков событий лепить не надо.
Разобрался. В моё случае лучшим вариантом было создать общую переменную, присвоить ей полученное значение из второй процедуры, и в первой процедуре добавить в сам список, так как (в моём случае) нужно было чтобы список каждый раз перезаписывался.