Программно растянуть поле ввода

1. sweety-twetty 16.10.12 12:34 Сейчас в теме
Добрый день, ув. форум) Подскажите, пожалуйста: в форму программно добавляю кнопку:
	ЭлементыФормы = Форма.ЭлементыФормы;
	// ЭВ
	Если ЭлементыФормы.Найти("Шаблон") = Неопределено Тогда
		ЭлементыФормы.Комментарий.Ширина = ЭлементыФормы.Комментарий.Ширина - 140;
		
		КнопкаШаблон = ЭлементыФормы.Добавить(Тип("Кнопка"), "Шаблон");
		КнопкаШаблон.Заголовок = "Заполнить по шаблону";
		КнопкаШаблон.Лево = ЭлементыФормы.Комментарий.Лево + ЭлементыФормы.Комментарий.Ширина + 5;
		КнопкаШаблон.Ширина =100;
		КнопкаШаблон.Верх = ЭлементыФормы.Комментарий.Верх;
		КнопкаШаблон.Высота = ЭлементыФормы.Комментарий.Высота;
		КнопкаШаблон.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ЭлементыФормы.Комментарий, ГраницаЭлементаУправления.Право);
		КнопкаШаблон.УстановитьПривязку(ГраницаЭлементаУправления.Право, Форма.Панель, ГраницаЭлементаУправления.Право);
		КнопкаШаблон.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ЭлементыФормы.Комментарий, ГраницаЭлементаУправления.Низ);
		КнопкаШаблон.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ЭлементыФормы.Комментарий, ГраницаЭлементаУправления.Низ);
		ОбработкаНажатия = Новый Действие("КнопкаЗаполнитьПоШаблонуНажатие");
		КнопкаШаблон.УстановитьДействие("Нажатие", ОбработкаНажатия);

	ИначеЕсли СокрЛП(ТИП(ЭлементыФормы.Шаблон)) = "Кнопка" и Форма.ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПрочееСписаниеБезналичныхДенежныхСредств  Тогда
		ЭлементыФормы.Шаблон.Видимость   = Истина;
		ЭлементыФормы.Комментарий.Ширина = ЭлементыФормы.Комментарий.Ширина - 140 ;
	ИначеЕсли СокрЛП(ТИП(ЭлементыФормы.Шаблон)) = "Кнопка" и не Форма.ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПрочееСписаниеБезналичныхДенежныхСредств Тогда
		ЭлементыФормы.Шаблон.Видимость   = Ложь;
 ////Вот здесь должно быть восстановление поля КОММЕНТАРИЙ до размеров формы
	КонецЕсли;
		
		Если ЗначениеЗаполнено(Форма.Ссылка) и Форма.ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПрочееСписаниеБезналичныхДенежныхСредств  Тогда// Доступность полей - проверка на дату запрета редактирования
			ЭлементыФормы.Шаблон.Доступность = не НастройкаПравДоступа.ДокументВЗакрытомПериоде(Форма.Ссылка.ПолучитьОбъект());
		КонецЕсли;
Показать


Подскажите, как в закомментированном месте кода вернуть размер комментария соответственно размерам формы? Заранее спасибо)
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
20. AlexO 136 16.10.12 15:04 Сейчас в теме
(14) sweety-twetty,
не путайте себя и других - есть обработка "Декомпилятор формы".
Делаете копию формы, рисуете свое поле, как надо, ставите привязки, и снимаете программное формирование данного поля.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. AlexO 136 16.10.12 13:15 Сейчас в теме
(1) sweety-twetty,
а что,
ШиринаКомментария = ЭлементыФормы.Комментарий.Ширина;

не работает?
4. sweety-twetty 16.10.12 13:22 Сейчас в теме
(3)просто потом при Сворачивании и разворачивании окна, ширина не будет увеличиваться пропорционально форме (если будет первоначально значение 25 в не развернутом виде, то есть не на все окно, то и при разворичивании ширина будет 25)
5. AlexO 136 16.10.12 13:29 Сейчас в теме
(4) sweety-twetty,
ширина не будет увеличиваться пропорционально форме

нужно сделать привязку края ЭУ к правому краю формы, можно еще устанвоить "пропорционально".
8. sweety-twetty 16.10.12 13:32 Сейчас в теме
(5)а как это сделать программно?
6. AlexO 136 16.10.12 13:30 Сейчас в теме
(4) sweety-twetty,
при Сворачивании и разворачивании окна

при сворачивании/разворачивании окна размеры элементов не меняются никак. А если растягивание/сужение формы - тогда (5).
2. sweety-twetty 16.10.12 13:10 Сейчас в теме
7. mymyka 16.10.12 13:30 Сейчас в теме
автоширина элемента регулируется его привязками, у тебя же для кнопкаи они описаны. Аналогично надо описать и для поля комментария.
9. sansanih 16.10.12 13:41 Сейчас в теме
не виже ни какого смысла делать это программно. зачем делать лишнюю работу. Все элементарно и просто, привязки настраиваем и все.
12. sweety-twetty 16.10.12 13:47 Сейчас в теме
(9) привязки уже настроены, но после строки:
ЭлементыФормы.Комментарий.Ширина = ЭлементыФормы.Комментарий.Ширина - 140;
они сбиваются(насколько я понимаю из-за установки точного значения)
15. sansanih 16.10.12 14:38 Сейчас в теме
(12) sweety-twetty, Обьясни зечем нужны вот эти строки ---(9) привязки уже настроены, но после строки:
ЭлементыФормы.Комментарий.Ширина = ЭлементыФормы.Комментарий.Ширина - 140;
они сбиваются(насколько я понимаю из-за установки точного значения)
18. AlexO 136 16.10.12 15:01 Сейчас в теме
(9) sansanih,
у неё ЭУ формируется программно, поэтому и привязки тоже нужны - программно.
10. ALexKGV 16.10.12 13:44 Сейчас в теме
Попробуйте действительно поработать с свойствах объектов.
11. tolyan_ekb 80 16.10.12 13:45 Сейчас в теме
Попробуй элементыформы.Комментарий.УстановитьПривязку ()
13. sweety-twetty 16.10.12 13:47 Сейчас в теме
14. sweety-twetty 16.10.12 13:57 Сейчас в теме
Попробовала сделать так:
	ИначеЕсли СокрЛП(ТИП(ЭлементыФормы.Шаблон)) = "Кнопка" и не Форма.ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПрочееСписаниеБезналичныхДенежныхСредств Тогда
		ЭлементыФормы.Шаблон.Видимость   = Ложь;
		ЭлементыФормы.Комментарий.Ширина = ЭлементыФормы.Панель1.Ширина - ЭлементыФормы.Надпись15.Ширина ;
		ЭлементыФормы.Комментарий.УстановитьПривязку(ГраницаЭлементаУправления.Право, ЭлементыФормы.Ответственный, ГраницаЭлементаУправления.Право);
КонецЕсли;

Надпись15 - надпись комментария
получила вот такое:
Прикрепленные файлы:
16. sansanih 16.10.12 14:40 Сейчас в теме
(14) sweety-twetty, почему ширину не указать в свойствах объекта и тогда привязки слетать не будут.
17. sweety-twetty 16.10.12 14:59 Сейчас в теме
(16) в том то и дело, что програмно добавляю кнопку(а она должна появляться только при определенном виде операций - Прочее списание безналичных ДС)
21. warenic 109 16.10.12 15:04 Сейчас в теме
(17) sweety-twetty,
Как вариант: поле вставить в форму, а при всех прочих операциях кроме "Прочее списание безналичных ДС" удалять?
22. AlexO 136 16.10.12 15:12 Сейчас в теме
(21) warenic,
а обновлять как будете потом?
23. sweety-twetty 16.10.12 15:23 Сейчас в теме
(22) спасибо за понимание)Пока не сталкивалась с такой обработкой,как "Декомпилятор формы". Попробую
24. AlexO 136 16.10.12 15:28 Сейчас в теме
(23) sweety-twetty,
ну вот и столкнитесь :)
все вопросы отпадут.
Правда, там не совсем корректно с привязками получается - издержки автоформирования сказываются.
ну да ничего сложного - в типовых тоже есть примеры программного формирвоания привязок.
20. AlexO 136 16.10.12 15:04 Сейчас в теме
(14) sweety-twetty,
не путайте себя и других - есть обработка "Декомпилятор формы".
Делаете копию формы, рисуете свое поле, как надо, ставите привязки, и снимаете программное формирование данного поля.
19. sansanih 16.10.12 15:02 Сейчас в теме
не вижу смысла всех этих лишних сложностей
Оставьте свое сообщение

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