Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Работа с TreeCtrl (активИкс) (число прочтений - 2362 )
Zalex
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 23. Марта 2007
Работа с TreeCtrl (активИкс)
13. Февраля 2009 :: 03:04
Печать  
Есть вопрос при работе с TreeCtrl.
У объекта есть свойство SelectedItem если не выделен узел то при опросе этого свойства 1С ругается плохой тип данных. Приходится делать через попытка-исключение. Есть другие пути проверки, что выделен узел?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Работа с TreeCtrl (активИкс)
Ответ #1 - 13. Февраля 2009 :: 05:50
Печать  
Можешь продемонстрировать небольшой пример? создание контрола, наполнение данными, обращение к данным

ps
дело в том что меня в последнее время интересует все что связано с "плохой тип данных"
  

1&&2&&3
Наверх
 
IP записан
 
Zalex
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 23. Марта 2007
Re: Работа с TreeCtrl (активИкс)
Ответ #2 - 13. Февраля 2009 :: 05:55
Печать  
Вот код
Код
Выбрать все
Процедура ФДерево_DblClick()
	Попытка
		Узел=Объект.SelectedItem;
		Идентификатор=Узел.Key;
		НаимУзла=Узел.Text;
		Если Найти(Идентификатор,"/")>0 Тогда
			Попытка
				ВыбрГруппа=ОбъектГрупп.SelectedItem;
				Попытка
					Родитель=ВыбрГруппа.Parent;
				Исключение
					Родитель=ВыбрГруппа;
				КонецПопытки;

				Узел2=ОбъектГрупп.Nodes.Add(Родитель,4,Идентификатор,НаимУзла);
			Исключение
				Предупреждение("Не выбрана группа");
			КонецПопытки;


		КонецЕсли;
	Исключение
		//Предупреждение("Не выбран вид расчета");
	КонецПопытки;
КонецПроцедуры
 


вот пример отчета (работать будет в ЗиК)
  

_________________.ert ( 69 KB | Загрузки )
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Работа с TreeCtrl (активИкс)
Ответ #3 - 13. Февраля 2009 :: 09:04
Печать  
попробуй
скачай и загрузи ВК OleExSup
и вместо кода
ВыбрГруппа=ОбъектГрупп.SelectedItem;
написать
OLEExSup = СоздатьОбъект("OLEExSup");
ВыбрГруппа = OLEExSup.InvokeOLEMethod(ОбъектГрупп, "SelectedItem");
Если ПустоеЗначение(ВыбрГруппа)=0 Тогда
...
КонецЕсли;
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Работа с TreeCtrl (активИкс)
Ответ #4 - 13. Февраля 2009 :: 09:17
Печать  
Код
Выбрать все
Процедура ФДерево_DblClick()
	OLEExSup=СоздатьОбъект("OLEExSup");
	Узел=OLEExSup.InvokeOLEMethod(Объект,"SelectedItem");
	Если ПустоеЗначение(Узел)=0 Тогда
		Идентификатор=Узел.Key;
		НаимУзла=Узел.Text;
		Если Найти(Идентификатор,"/")>0 Тогда
			ВыбрГруппа=OLEExSup.InvokeOLEMethod(ОбъектГрупп,"SelectedItem");
			Если ПустоеЗначение(ВыбрГруппа)=0 Тогда
				Родитель=OLEExSup.InvokeOLEMethod(ВыбрГруппа,"Parent");
				Если ПустоеЗначение(Родитель)=1 Тогда
					Родитель=ВыбрГруппа;
				КонецЕсли;
				Узел2=ОбъектГрупп.Nodes.Add(Родитель,4,Идентификатор,НаимУзла);
			Иначе
				Предупреждение("Не выбрана группа");
			КонецЕсли;
		КонецЕсли;
	Иначе
		Предупреждение("Не выбран вид расчета");
	КонецЕсли;
КонецПроцедуры
 

  

1&&2&&3
Наверх
 
IP записан
 
Zalex
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 23. Марта 2007
Re: Работа с TreeCtrl (активИкс)
Ответ #5 - 13. Февраля 2009 :: 09:48
Печать  
т.е. без доп. компоненты никак нельзя ?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Работа с TreeCtrl (активИкс)
Ответ #6 - 13. Февраля 2009 :: 09:52
Печать  
Zalex писал(а) 13. Февраля 2009 :: 09:48:
т.е. без доп. компоненты никак нельзя ?

только попыткой
  

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