Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Заменить стандартную кнопку своей #6

Open
SeiOkami opened this issue Jan 18, 2024 · 0 comments
Open

Заменить стандартную кнопку своей #6

SeiOkami opened this issue Jan 18, 2024 · 0 comments

Comments

@SeiOkami
Copy link
Owner

Есть полурабочий вариант с заменой стандартной кнопки "Провести и закрыть"
Надо сделать универсальнее

// Заменить стандартную кнопку Провести и закрыть на команду формы.
// 
// Параметры:
//  Форма - ФормаКлиентскогоПриложения
//  ИмяКоманды - Строка
Процедура ЗаменитьСтандартнуюКнопкуПровестиИЗакрыть(Форма, ИмяКоманды, Знач КоманднаяПанель = Неопределено) Экспорт
	
	Элементы = Форма.Элементы;
	РасположитьПередЭлементом = Неопределено;
	
	ИмяСтандартнойКнопки = "ФормаПровестиИЗакрыть";
	СтандратнаяКнопка = Элементы.Найти(ИмяСтандартнойКнопки);
	
	Если СтандратнаяКнопка = Неопределено Тогда
		Если КоманднаяПанель = Неопределено Тогда
			КоманднаяПанель = Форма.КоманднаяПанель;
			РасположитьПередЭлементом = КоманднаяПанель[0];
		КонецЕсли;
	Иначе
		СтандратнаяКнопка.Видимость = Ложь;
		Если КоманднаяПанель = Неопределено Тогда
			РасположитьПередЭлементом = СтандратнаяКнопка;
			КоманднаяПанель = СтандратнаяКнопка.Родитель;
		КонецЕсли;
	КонецЕсли;
	
	СобственнаяКнопка = Элементы.Найти(ИмяКоманды);
	Если СобственнаяКнопка = Неопределено Тогда
		
		КнопкаФормы = Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), КоманднаяПанель);
		КнопкаФормы.ИмяКоманды = ИмяКоманды;
		КнопкаФормы.Заголовок = "Провести и закрыть";
		КнопкаФормы.КнопкаПоУмолчанию = Истина;
		
		Если РасположитьПередЭлементом <> Неопределено Тогда
			Элементы.Переместить(КнопкаФормы, КоманднаяПанель, РасположитьПередЭлементом);
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant