Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Активизировать ТабличноеПоле на форме? (число прочтений - 3565 )
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Активизировать ТабличноеПоле на форме?
03. Августа 2010 :: 10:15
Печать  
Можно ли как то активизировать объект ТабличноеПоле на форме программно?
Пользователям не нравиться что надо жать все врем мышкой на ТабличноеПоле, можно ли при выборе или редактировании полей на форме, сразу после редактирования делать активным ТабличноеПоле?
Пишу так:
Код
Выбрать все
Форма.Активизировать("ТП_Отчета"); 


а в ответ: "...: Поле агрегатного объекта не обнаружено (Активизировать)". Может как то через FormEx?
  
Наверх
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Активизировать ТабличноеПоле на форме?
Ответ #1 - 03. Августа 2010 :: 11:04
Печать  
Активизировать("ТП_Отчета");
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Активизировать ТабличноеПоле на форме?
Ответ #2 - 03. Августа 2010 :: 11:20
Печать  
vip писал(а) 03. Августа 2010 :: 11:04:
Активизировать("ТП_Отчета");


Спасибо, но не срабатывает, пишет:
В данной формуле не может быть вызвана эта процедура(функция)

Просто в окне диалога вызывается процедура, эта процедура обновляет табличное поле и его надо активизировать. Помню когда очень давно кто то писал как обойти это ограничение, но уже забыл, когда то информация об этом была на: http://www.sinor.ru/~my1c/knowhow/getskod.html, но там уже нет такой сайта. Напомните плиз.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Активизировать ТабличноеПоле на форме?
Ответ #3 - 03. Августа 2010 :: 11:23
Печать  
Возьми у меня в классе "ПоставщикДанных.ТабличноеПоле" есть метод "активизировать". Вот собственно там и написано.
А чтобы не писало 1С всякие гадости, задай формулу в табличное поле, например "Форма.Заголовок("",1)". И все.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Активизировать ТабличноеПоле на форме?
Ответ #4 - 03. Августа 2010 :: 11:48
Печать  
Не помогает, сделал через внешнюю обработку, в ней написал:
Код
Выбрать все
Конт.Активизировать(Поле, 1);
   Сообщить("2 "+Конт.Форма.АктивныйЭлемент()); 


Сообщает что активный тот что надо, но в самой форме после открытия пишу:
Код
Выбрать все
Сообщить(Форма.АктивныйЭлемент()); 


Сообщает о первой на форме.
  
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Активизировать ТабличноеПоле на форме?
Ответ #5 - 03. Августа 2010 :: 12:01
Печать  
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Активизировать ТабличноеПоле на форме?
Ответ #6 - 03. Августа 2010 :: 14:38
Печать  
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Активизировать ТабличноеПоле на форме?
Ответ #7 - 04. Августа 2010 :: 09:22
Печать  
Или при помощи FormEx:
Код
Выбрать все
//==============================================
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
	Если Источник="АктивизироватьТабПоле" Тогда
		// "Событие" - ИмяКолонки ТабПоля, "Данные" - Строка для активизации
		Если ПустоеЗначение(Событие)=0 Тогда
			оТабличноеПоле.ТекущаяКолонка=оТабличноеПоле.Колонки.Получить(СокрЛП(Событие));
		КонецЕсли;
		Если ПустоеЗначение(Данные)=0 Тогда
			оТабличноеПоле.ТекущаяСтрока=Число(Данные);
		КонецЕсли;
		Активизировать("ТабПоле",0);
	КонецЕсли;
КонецПроцедуры // ОбработкаВнешнегоСобытия 


а в любом нужном месте:
Код
Выбрать все
глСервис.ВнешнееСобытие("АктивизироватьТабПоле","Количество",1); 

  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать