Выпадающий список в колонке табличной части УПРАВЛЯЕМОЙ формы

1. ~ZasrAnka~ 21.11.13 18:34 Сейчас в теме
Здравствуйте!
Подскажите, пожалуйста, мне необходимо в ТЧ документа в одной из колонок сделать выпадающий список с несколькими значениями, написала вот так, но это неправильно:
&НаСервере
Функция ВернутьСпособыПогашенияЗадолженности()
СписокДляВыбора = Новый ТаблицаЗначений;
СписокДляВыбора.Колонки.Добавить("СпособПогашенияЗадолженности");
СписокДляВыбора.Добавить().СпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.ПоДокументу;
СписокДляВыбора.Добавить().СпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.НеПогашать;
Возврат СписокДляВыбора;
КонецФункции

&НаКлиенте
Процедура ОплатаПоставщикамСпособПогашенияЗадолженностиНачалоВыбораИзС­писка(Элемент, СтандартнаяОбработка)
Элемент.РежимВыбораИзСписка = Истина;
Элемент.СписокВыбора = ВернутьСпособыПогашенияЗадолженности();
КонецПроцедуры

Так не прокатывает, т.к. ТЗ не передать с сервера на клиент. Пробовала передавать Элемент на сервер, чтобы там ему присвоить ТЗ в СписокВыбора, но с клиента на сервер Элемент не передать...
Как тогда быть?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. AllexSoft 21.11.13 18:43 Сейчас в теме
(1) ~ZasrAnka~, ну зачем так все усложнять( все делается без кода... у тебя тип реквизита к которому привязана колонка должен быть ПеречисленияСсылка.СпособыПогашенияЗадолженности
и все!
3. ~ZasrAnka~ 21.11.13 20:56 Сейчас в теме
Я то это понимаю. А вот бухи в бп 2.0 захотели, чтобы у них не было значения Не погашать. Что и сделали программисты, убрали это значение. А теперь необходимо эти изменения перенести на 3.0.
4. ~ZasrAnka~ 21.11.13 20:58 Сейчас в теме
Точнее, чтобы не было Автоматически. Чтобы осталось По документу и не погашать.
5. Alexey_ 26 21.11.13 21:20 Сейчас в теме
Да можно без кода тупо заполнить список выбора нужными значениями.
А если программно надо, то в модуле менеджера перечисления в процедуре ОбработкаПолученияДанныхВыбора, пишите:
СтандартнаяОбработка = Ложь;
ДанныеВыбора = Новый СписокЗначений;
ДанныеВыбора.Добавить(Перечисления.СпособыПогашенияЗадолженности.ПоДокументу);
ДанныеВыбора.Добавить(Перечисления.СпособыПогашенияЗадолженности.НеПогашать);
Прикрепленные файлы:
bakshook; +1 Ответить
6. ~ZasrAnka~ 21.11.13 22:26 Сейчас в теме
7. T_Guest 22.03.19 10:28 Сейчас в теме
Я запарился искать ответ на этот же вопрос только в управляемых формах на платформе 8,3,13 и в расширении.

У меня вообще не заходит в обработчик "НачалоВыбораИзСписка"
на ИТС этот вопрос не рассматривается....
Но эксперементально удалось выяснить вот что:

1 В обработчике "НачалоВыбора" поля табличной части прописать отказ стандартной обработки и создать свой список значений (из ссылок типа самого поля конечно) и засунуть в параметр "ДанныеВыбора".

ВСЕ! И ничего больше делать не нужно, все работает по кнопке выбор.

если хочется красивый список выбора как раньше смотри скрин.

значение свойства "БыстрыйВыбор" в значении НЕТ (это значение будет в режиме Авто) показывает команду "показать все", а в значении ДА убирает эту команду! причем если ткнуть "показать все" то в нашем случае список выпадает заново и все равно состоит из наших значений по моему это идиотизм...

Я был искренне удивлен от такого логичного функционала, быстрого выбора и выбора из списка.
по-моему 8,2 был лучше...
Прикрепленные файлы:
ejka; edyardg; user1586954; LDanS; serg-gld; Ку, дядя Вова!; +6 Ответить
9. Ку, дядя Вова! 22.02.22 12:26 Сейчас в теме
(7) Спасибо тебе огромное, добрый человек!
10. user1586954 28.04.23 14:47 Сейчас в теме
(7) Огромная благодарность за скрин с настройками!!! Сидела очень долго, перебирала процедуры, и наконец-то нашла это решение!)))
11. user1880116 29.04.23 02:43 Сейчас в теме
(10)
Сидела очень долго, перебирала процедуры
Вот, пожалуй, и всё, что надо знать про то, как действует Сообщество.

Хе-хе. Хе-хе-хе.
12. YozZzhik 20.10.23 17:14 Сейчас в теме
(7) Отличный пример, но так должна работать кнопка выпадающего списка, а не кнопка выбора. Что-то намудрили создатели платформы. Причем быстрый выбор по этой схеме не запускает еще раз процедуру НачалоВыбора, а кнопка выдает список не под полем, а в углу экрана))
8. user1070412 4 01.11.19 14:35 Сейчас в теме
ПоляДанных - ТаблицаЗначений с двумя колонками (тип "строка") НомерКолонки и ТипДанныхКолонки

&НаКлиенте
Процедура ПриОткрытии(Отказ)

	ЭтаФорма.Элементы.ПоляДанных.ПодчиненныеЭлементы.ПоляДанныхТипДанныхКолонки.РежимВыбораИзСписка = Истина;
	
	СтруктураДанных.Добавить("Наименование");
	СтруктураДанных.Добавить("ИнвентарныйНомер");
	СтруктураДанных.Добавить("Количество");
	СтруктураДанных.Добавить("СерийныйНомер");
	СтруктураДанных.Добавить("МестоХранения");
	СтруктураДанных.Добавить("Сотрудник");
	СтруктураДанных.Добавить("Комментарий");
	
	ДоступныеСтруктураДанных = СтруктураДанных.Скопировать();

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

&НаКлиенте
Процедура ПоляДанныхТипДанныхКолонкиНачалоВыбора(Элемент, СтандартнаяОбработка)
	
	Элемент.СписокВыбора.Очистить();
	Для каждого Элем Из ДоступныеСтруктураДанных Цикл
		Элемент.СписокВыбора.Добавить(Элем);	
	КонецЦикла; 
	
КонецПроцедуры

&НаКлиенте
Процедура ПоляДанныхТипДанныхКолонкиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

	СтандартнаяОбработка = Ложь;
	
	ЭтаФорма.Элементы.ПоляДанных.ТекущиеДанные.ТипДанныхКолонки = ВыбранноеЗначение;
	
	//автозавершение выбора
	Shell= Новый COMОбъект("Wscript.Shell");
	Shell.SendKeys("{ENTER}");	
КонецПроцедуры

Показать

так более-менее работает
Оставьте свое сообщение
Вакансии
Программист 1С
Кемерово
зарплата от 200 000 руб.
Полный день

Программист 1С
Киров (Кировская обл.)
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Архитектор 1С
Москва
зарплата от 250 000 руб.
Полный день

1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день