Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как писать в переменную внешнего модул и считать? (число прочтений - 2206 )
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Как писать в переменную внешнего модул и считать?
26. Мая 2008 :: 12:56
Печать  
Создается объект, открывается ERT, как в классе-ERT (который открывается) прочитать значение переменной с модуля октуда создается объект и вызывается метод? Также как в эту переменную что то записать?
ЗЫ
Извините за ламерский вопрос.
  
Наверх
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #1 - 26. Мая 2008 :: 13:09
Печать  
Код
Выбрать все
Функция Сам(Конт) Возврат Конт; КонецФункции

Процедура Конструктор()
	Конт=Сам(Контекст).ПолучитьКонтекстОкружения();
		    ..........твой код..........
КонецПроцедуры 



Через Конт обращаешся к глоб.переменным модуля  Подмигивание
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #2 - 26. Мая 2008 :: 13:15
Печать  
PVR писал(а) 26. Мая 2008 :: 13:09:
Код
Выбрать все
Функция Сам(Конт) Возврат Конт; КонецФункции

Процедура Конструктор()
	Конт=Сам(Контекст).ПолучитьКонтекстОкружения();
		    ..........твой код..........
КонецПроцедуры 



Через Конт обращаешся к глоб.переменным модуля  Подмигивание

Спасибо, но чуть чуть не понятно,
потом обращаться к переменным как "Конт.ИмяПерем", или "ИмяПерем"?
  
Наверх
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #3 - 26. Мая 2008 :: 13:21
Печать  
Конт.ИмяПерем  Улыбка
+ можно вызывать процедуры Конт.ИмяПроцедуры
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #4 - 26. Мая 2008 :: 13:29
Печать  
Конт.ИмяПроцедуры() Улыбка - причем Экспорт в модуле для метода не обязателен!

Эта фича доступна только при загруженных ВК 1С++ или ТурбоБЛ, в штатной 1С подобного нету.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #5 - 26. Мая 2008 :: 14:04
Печать  
Спасибо работает. Еще есть вопросика:
1 - как заставить 1С перекомпилировать модуль объекта не выходя из 1С (когда поменялсмя ert-модуль объекта, то 1С почему то помнит первую запущенную версию)?
2 - Как выводить сообщения о ошибках в модулях объектов. Есть предположение что возникает ошибка во время вызова метода ActiveX, но 1С продолжает дальше работать?
  
Наверх
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #6 - 26. Мая 2008 :: 17:07
Печать  
pvase писал(а) 26. Мая 2008 :: 14:04:
1 - как заставить 1С перекомпилировать модуль объекта не выходя из 1С (когда поменялсмя ert-модуль объекта, то 1С почему то помнит первую запущенную версию)?

http://www.1cpp.ru/index.php/FAQ#.D0.9F.D1.80.D0.BE.D1.87.D0.B8.D0.B5_.D0.B2.D0....

Вопрос №3.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #7 - 27. Мая 2008 :: 04:03
Печать  
pvase писал(а) 26. Мая 2008 :: 14:04:
Спасибо работает. Еще есть вопросика:
1 - как заставить 1С перекомпилировать модуль объекта не выходя из 1С (когда поменялсмя ert-модуль объекта, то 1С почему то помнит первую запущенную версию)?
2 - Как выводить сообщения о ошибках в модулях объектов. Есть предположение что возникает ошибка во время вызова метода ActiveX, но 1С продолжает дальше работать?

Модуль объекта - подразумевается модуль класса?
На п.1 тебе ответили.
По п.2 давай более подробную инфу и очень желательно тест.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как писать в переменную внешнего модул и счита
Ответ #8 - 27. Мая 2008 :: 05:53
Печать  
ActiveX - MSComctlLib.TreeCtrl
Код
Выбрать все
Процедура NodeClick(Узел)
	Конт=Сам(Контекст).ПолучитьКонтекстОкружения();
	КлючПр = СокрЛП(Конт.КлючВыбр);

	Если ПустаяСтрока(КлючПр) = 0 Тогда
		Сообщить("пред: "+КлючПр);
		Тек = СокрЛП(Узел.Key);
		Узел.hWnd.Item(СокрЛП(Конт.КлючВыбр)).BackColor= глПолучитьЦвет(255,255,255);

	КонецЕсли;
	Сообщить(Узел.Key);
	Узел.BackColor=глПолучитьЦвет(10,240,245);
	Конт.КлючВыбр = СокрЛП(Узел.Key);
	Сообщить("после: "+Конт.КлючВыбр);

КонецПроцедуры 


Вот что в окне сообщений при кликах по дереве:
Код
Выбрать все
после:
Документ.ВводВЭксплуатацию
после: Документ.ВводВЭксплуатацию
пред: Документ.ВводВЭксплуатацию
пред: Документ.ВводВЭксплуатацию
пред: Документ.ВводВЭксплуатацию
пред: Документ.ВводВЭксплуатацию
пред: Документ.ВводВЭксплуатацию 



Как видно, при переходе на любое другое значение все равно идет возврат на предыдущее, причем последующие Сообщить не происходит.
  

tree.zip ( 18 KB | Загрузки )
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать