Привязка групп в УФ

1. userPro321 46 18.10.18 06:45 Сейчас в теме
Добрый день, создаю программно множество кнопок допустим 20, на форме создаю группу страницы в нее помещаю группу страница и уже в ней создаю все эти кнопки, но проблема в том что эти 20 кнопок должны на форме быть по 4 вряд, как на уф сделать привязку чтоб были по 4 вряд? сейчас или все вертикально создаются или горизонтально без переноса. Так же делал обычную группу.
1кн 2кн 3кн 4кн тут перенос как сделать? игрался с положением в группе ничего не вышло
5кн 6кн 7кн 8кн
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. accounting_cons 788 18.10.18 06:52 Сейчас в теме
Делайте горизонтальные группы без отображения по одной строке - по 4 в ряд.
3. userPro321 46 18.10.18 06:56 Сейчас в теме
(2) как указать что в одной строке 4 шт? горизонтальные делаю, без отображения делаю.
мКнопка = Элементы.Добавить("КнНоменклатура"+НаименованиеКнопки, Тип("КнопкаФормы"), Элементы.ГруппаНоменклатур);
мКнопка .Вид = ВидКнопкиФормы.ОбычнаяКнопка;
мКнопка .ИмяКоманды = "КнопкаНоменклатуры_Нажатие";
мКнопка .Ширина = мКнопкаНоменклатура_Ширина;
мКнопка .Высота = мКнопкаНоменклатура_Высота;
мКнопка .Заголовок = ЗаголовокКнопки;
мКнопка .Шрифт = мКнопкаНоменклатура_Шрифт;
Показать
4. accounting_cons 788 18.10.18 07:13 Сейчас в теме
(3)
как указать что в одной строке 4 шт?


Странный вопрос. Создайте группу, добавьте в нее 4 кнопки. Тут нечего узнавать. Или вопрос в том, поместятся ли они? Если не поместятся в горизонтальной группе, то будут обрезаны визуально. Если группа горизонтальная по возможности, то перейдут на следующий ряд.
6. userPro321 46 18.10.18 07:15 Сейчас в теме
(4) Повторюсь программно кнопки создаю, а не вытаскиваю созданные на форме
(5) да в цикле создаются кнопки их может быть до 50
7. dandykry 10 18.10.18 07:22 Сейчас в теме
(6) Иииии....программно вы как их создаете? Как понимаете, что вам нужно 50 а не 100?

При добавлении есть возможность вести счетчик созданных команд?

Вроде

УжеПоместил = 0;
ГруппаВКоторуюПомещаю = Элементы.Добавить("Группа" + Строка(УжеПоместил ), Тип("ГруппаФормы", Элементы.ГруппаНоменклатур)); 

 Если Ужепоместил = 3 тогда

УжеПоместил = 0;
ГруппаВКоторуюПомещаю = Элементы.Добавить("Группа" + Строка(УжеПоместил ), Тип("ГруппаФормы", Элементы.ГруппаНоменклатур)), 

КонецЕсли

мКнопка = Элементы.Добавить("КнНоменклатура"+НаименованиеКнопки, Тип("КнопкаФормы"), Элементы.ГруппаНоменклатур);
мКнопка .Вид = ВидКнопкиФормы.ОбычнаяКнопка;
мКнопка .ИмяКоманды = "КнопкаНоменклатуры_Нажатие";
мКнопка .Ширина = мКнопкаНоменклатура_Ширина;
мКнопка .Высота = мКнопкаНоменклатура_Высота;
мКнопка .Заголовок = ЗаголовокКнопки;
мКнопка .Шрифт = мКнопкаНоменклатура_Шрифт;


УжеПоместил  = УжеПоместил +1;
Показать
8. userPro321 46 18.10.18 07:27 Сейчас в теме
(7) Берется родитель номенклатуры, и все подчиненные этому родителю номенклатуры создаются, то есть предугадать невозможно сколько будет кнопок, группу создавать программно вариант, а как быть с Если Ужепоместил = 4 тогда постоянно писать ИЛИ 8 ИЛИ 12 ИЛИ 16?
10. dandykry 10 18.10.18 07:52 Сейчас в теме
(8) Это зачем 8 или 16?

Смысл:
1) Создать в группе страница группу с горизонтальной группировкой. Обозвать ее переменной - ГруппаВКоторуюПомещаю
2) Сделать переменную счетчик, которая будет считать сколько кнопок в эту группу уже засунули
3)Проверяете счетчик: Если = 4 тогда - тогда создаете заново ГруппаВКоторуюПомещаю с префиксом, обнуляете счетчик
Иначе Просто создаете кнопку с Родитель = ГруппаВКоторуюПомещаю, увеличиваете счетчик на 1
11. userPro321 46 18.10.18 08:20 Сейчас в теме
(10) что то я уже совсем видимо запарился, можете программно написать? делаю так
Если УжеПоместил = 4 Тогда
					
					ГруппаВКоторуюПомещаю = Элементы.Добавить("Группа1" + Строка(НаименованиеГруппы), Тип("ГруппаФормы"), Элементы.ГруппаНоменкалтура);
					КнопкаТест = Элементы.Добавить("КнНоменклатура"+НаименованиеКнопки, Тип("КнопкаФормы"), ГруппаВКоторуюПомещаю);
					КнопкаТест.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
					КнопкаТест.ИмяКоманды = "КнопкаНоменклатуры_Нажатие";
					КнопкаТест.Ширина = мКнопкаНоменклатура_Ширина;
					КнопкаТест.Высота = мКнопкаНоменклатура_Высота;
					КнопкаТест.Заголовок = ЗаголовокКнопки;
					КнопкаТест.Шрифт = мКнопкаНоменклатура_Шрифт;

					УжеПоместил = 0;
								
	Иначе
				
				КнопкаТест = Элементы.Добавить("КнНоменклатура"+НаименованиеКнопки, Тип("КнопкаФормы"), Элементы.ГруппаНоменкалтура);
				КнопкаТест.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
				КнопкаТест.ИмяКоманды = "КнопкаНоменклатуры_Нажатие";
				КнопкаТест.Ширина = мКнопкаНоменклатура_Ширина;
				КнопкаТест.Высота = мКнопкаНоменклатура_Высота;
				КнопкаТест.Заголовок = ЗаголовокКнопки;
				КнопкаТест.Шрифт = мКнопкаНоменклатура_Шрифт;
				УжеПоместил = УжеПоместил + 1;
КонецЕсли;
Показать

но это не правильный подход, с группами что то путаю, совсем уже зациклился на этом
12. dandykry 10 18.10.18 08:35 Сейчас в теме
(11)

УжеПоместил = 0;
ПрефиксГрупп = 0;
ГруппаВКоторуюПомещаю = Элементы.Добавить("Группа1" + Строка(ПрефиксГрупп), Тип("ГруппаФормы"), Элементы.ГруппаНоменкалтура);

Пока Выборка.Следующий() Цикл  //тут сами как вы там получаете всех подчиненных к группе я хз
	
	Если УжеПоместил  = 4 Тогда
		
		ПрефиксГрупп = ПрефиксГрупп + 1;
		ГруппаВКоторуюПомещаю = Элементы.Добавить("Группа1" + Строка(ПрефиксГрупп), Тип("ГруппаФормы"), Элементы.ГруппаНоменкалтура); 
		УжеПоместил   = 0;
		
	КонецЕсли
	
	КнопкаТест = Элементы.Добавить("КнНоменклатура"+НаименованиеКнопки, Тип("КнопкаФормы"), ГруппаВКоторуюПомещаю);     //Как вы контролируете уникальность кнопок я хз
	КнопкаТест.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
	КнопкаТест.ИмяКоманды = "КнопкаНоменклатуры_Нажатие";
	КнопкаТест.Ширина = мКнопкаНоменклатура_Ширина;
	КнопкаТест.Высота = мКнопкаНоменклатура_Высота;
	КнопкаТест.Заголовок = ЗаголовокКнопки;
	КнопкаТест.Шрифт = мКнопкаНоменклатура_Шрифт;
	УжеПоместил = УжеПоместил + 1;
	
КонецЦикла;
Показать
5. dandykry 10 18.10.18 07:14 Сейчас в теме
(3) А как вы добавляете кнопки? Если циклом то можно вести кол-во помещенных элементов в группу. Если 4, то создавать новую группу и туда сувать
9. userPro321 46 18.10.18 07:30 Сейчас в теме
(5) да циклом, то есть в цикле берется наименование номен., и по этому наим. создается кнопка
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот