Бухгалтерия 2.0, управляемые формы
Необходимо получить список операций накладной запросом (т.к. в разных конфигурациях перечисление для "ВидаОперации" называется по разному; будет параметром), и дать пользователю возможность выбора. На форме: список выбора.
Обнаружил, что после того, как пользователь внес значение со списка - повторный клик на списке вызывает дублирование списка. Хотя список очищаю, перед выполнением запроса.
&НаКлиенте
Процедура ОперацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Элементы.Операция.СписокВыбора.Очистить(); //???
Элементы.Операция.СписокВыбора.ЗагрузитьЗначения(Получить_Операцию());
КонецПроцедуры
Функция Получить_Операцию()
Запрос= Новый Запрос();
Запрос.Текст= "ВЫБРАТЬ
| ВидыОперацийНалоговаяНакладная.Ссылка КАК ВидОперации
|ИЗ
| Перечисление.ВидыОперацийНалоговаяНакладная КАК ВидыОперацийНалоговаяНакладная";
Выборка = Запрос.Выполнить();
Если Не Выборка.Пустой() Тогда
Возврат Выборка.Выгрузить().ВыгрузитьКолонку("ВидОперации");
КонецЕсли;
КонецФункции
Inkognito @ Сегодня, 12:57
,
взял ваш код засунул в обработку = работает, не задваивает
пробуйте событие поставить не в НачалоВыбора
а в НачалоВыбораИзСписка
уберите ДанныеВыбора... так как они лишние, там в расширении формы ДанныеВыбора = Элемент.
Процедура ОперацияНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
&НаКлиенте
Процедура ОперацияНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
Элемент.СписокВыбора.Очистить(); //???
МассивЗначений = ПолучитьОперацию();
Элемент.СписокВыбора.ЗагрузитьЗначения(МассивЗначений);
КонецПроцедуры
&наСервере
Функция ПолучитьОперацию()
Запрос= Новый Запрос();
Запрос.Текст= "ВЫБРАТЬ
| ВидыОперацийНалоговаяНакладная.Ссылка КАК ВидОперации
|ИЗ
| Перечисление.ВидыОперацийНалоговаяНакладная КАК ВидыОперацийНалоговаяНакладная";
Выборка = Запрос.Выполнить();
Если Не Выборка.Пустой() Тогда
Возврат Выборка.Выгрузить().ВыгрузитьКолонку("ВидОперации");
КонецЕсли;
КонецФункции
fly
1) "пробуйте событие поставить не в НачалоВыбора а в НачалоВыбораИзСписка".
Теперь вообще нет списка. Проверил, процедура вообще не отрабатывает:
&НаКлиенте
Процедура ОперацияНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
Элементы.Операция.СписокВыбора.Очистить();
Элементы.Операция.СписокВыбора.ЗагрузитьЗначения(Получить_Операцию());
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua