Имя: Пароль:
1C
 
Как присвоить группе на форме счетчик
0 Ivan_1C8
 
26.07.24
17:13
Добрый день!

Подскажите, пожалуйста, как прикрутить к названию группы элемента формы счетчик.

Мне нужно, чтобы в цикле выводились кнопки с названием судов.
Самим элементам я назначил реквизит = ГруппаСудна (оно варьируется от 1 до 4 (пока).
И вывожу их на форму как динамические кнопки.

 Функция ДинамическиеКнопкиСудовСоздание()
	

	КоличествоСтрок = 4; 
	
	Для Счетчик = 1 по КоличествоСтрок Цикл
		
		ЗапросКнопкиСудов = Новый Запрос;
		ЗапросКнопкиСудов.Текст = 
		"ВЫБРАТЬ
		|	ПодразделенияОрганизацийУпр.Наименование КАК Наименование,
		|	ПодразделенияОрганизацийУпр.Код КАК Код,
		|	ПодразделенияОрганизацийУпр.ГруппаСудна КАК ГруппаСудна
		|ИЗ
		|	Справочник.ПодразделенияОрганизацийУпр КАК ПодразделенияОрганизацийУпр
		|ГДЕ
		|	ПодразделенияОрганизацийУпр.ЭтоГруппа = ЛОЖЬ
		|	И ПодразделенияОрганизацийУпр.ПометкаУдаления = ЛОЖЬ
		|	И ПодразделенияОрганизацийУпр.АстраМарин = ИСТИНА
		|	И ПодразделенияОрганизацийУпр.ГруппаСудна = &ГруппаСудна
		|
		|УПОРЯДОЧИТЬ ПО
		|	Наименование";	
		ЗапросКнопкиСудов.УстановитьПараметр("ГруппаСудна", Счетчик);
		ВыборкаДетальныеЗаписиЗапросКнопкиСудов = ЗапросКнопкиСудов.Выполнить().Выбрать();
		
		ГруппаКнопкиСудов = ЭтаФорма.Элементы.ГруппаКнопкиСудов + "" + Счетчик;
		
		Пока ВыборкаДетальныеЗаписиЗапросКнопкиСудов.Следующий() Цикл
			НаименованиеКнопки = ВыборкаДетальныеЗаписиЗапросКнопкиСудов.Наименование;
			КодКнопки = "_" + ВыборкаДетальныеЗаписиЗапросКнопкиСудов.Код;	
			Команда = ЭтаФорма.Команды.Добавить(КодКнопки);
			Команда.Заголовок = НаименованиеКнопки;
			Команда.Действие = "ДинамическиеКнопкиСудовДействиеКнопки";	
			КнопкаФормы = ЭтаФорма.Элементы.Добавить(КодКнопки,Тип("КнопкаФормы"),ЭтаФорма.Элементы.ГруппаКнопкиСудов);
			КнопкаФормы.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
			КнопкаФормы.ИмяКоманды = КодКнопки;		
		КонецЦикла;	
	Счетчик = Счетчик + 1;	
	КонецЦикла;
КонецФункции
1 Ivan_1C8
 
26.07.24
17:08
2 Волшебник
 
26.07.24
17:13
Команда.Заголовок = НаименованиеКнопки + счетчик;
3 Ivan_1C8
 
26.07.24
17:41
(2) Нужно именно не наименование кнопки, а группы в которую кнопки помещаются
4 Ivan_1C8
 
26.07.24
17:43
ГруппаКнопкиСудов = ЭтаФорма.Элементы.ГруппаКнопкиСудов + "" + Счетчик;
5 Волшебник
 
26.07.24
18:27
(4) Не взлетит. Думайте ещё
6 Мультук
 
26.07.24
18:41
ИмяГруппы = "ГруппаКнопкиСудов" + Строка(Счетчик);

ГруппаКнопкиСудов = ЭтаФорма.Элементы[ИмяГруппы];

P.S.
Вместо Строка(Счетчик) нужно формат(...)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший