Переключение на Главную Страницу Страницы: 1 2 [3]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Баг - Сервис.ВыполнитьФункцию портит Контекст (число прочтений - 11105 )
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Баг - Сервис.ВыполнитьФункцию портит Контекст
Ответ #30 - 03. Июля 2008 :: 10:19
Печать  
  

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



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Баг - Сервис.ВыполнитьФункцию портит Контекст
Ответ #31 - 03. Июля 2008 :: 13:00
Печать  
Честное слово, ничего не понимаю. В указанных примерах, насколько я понял, получаем значение перемнной контекста. А как его задать?
Возвращаться к старому способу?:
Код
Выбрать все
Функция Присвоить(Чему, Что, Флаг = 0) // присвоить переменной текущего контекста значение
	Если Флаг = 0 Тогда
		Шаблон("[Присвоить(" + Чему + ", Что, 1)]");
	Иначе
		Чему = Что;
	КонецЕсли;
	Возврат "";
КонецФункции 

  
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Баг - Сервис.ВыполнитьФункцию портит Контекст
Ответ #32 - 03. Июля 2008 :: 13:05
Печать  
artbear писал(а) 27. Июня 2008 :: 06:08:
ЗЫ ВМ как раз для подобных хитростей и был спроектирован Улыбка

У почему нет простого и понятного метода Получить/УстановитьПерменнуюКонтекста() ?
Я просто только начинаю разбираться в 1С++ и это до меня не доходит.
А то при этих хитростях столько хитрить приходиться, что сам запутываюсь...
  
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Баг - Сервис.ВыполнитьФункцию портит Контекст
Ответ #33 - 03. Июля 2008 :: 14:11
Печать  
blindvic писал(а) 03. Июля 2008 :: 10:03:
У меня что-то не получается установить значение переменой. Мой код:
Код
Выбрать все
Процедура глУстановитьПеременнуюКонтекста(Конт, ИмяПеременной, Значение)
	Модуль = СоздатьОбъект("ВыполняемыйМодуль");
	Модуль.УстановитьМодуль("Процедура УстановитьПеременную(Значение)"
		"" + ИмяПеременной + " = Значение;"
		"КонецПроцедуры");
	Модуль.НазначитьКонтекст(Конт);
	Модуль.КомпилироватьИВыполнитьМодуль();
	Модуль.УстановитьПеременную(Значение);
КонецПроцедуры 


Ошибок не выдает, но значение реквизата форма остается неизменным.

Прошу прощения - работает. Надо было поставить Форма.Обновить()
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Баг - Сервис.ВыполнитьФункцию портит Контекст
Ответ #34 - 04. Июля 2008 :: 03:30
Печать  
blindvic писал(а) 03. Июля 2008 :: 13:00:
Честное слово, ничего не понимаю. В указанных примерах, насколько я понял, получаем значение перемнной контекста. А как его задать?

Тем же способом, только функция в ВМ превращается в процедуру с двумя параметрами и внутри пишешь что-то типа "Конт."+ИмяПеременной +" = "+ НовоеЗначение+";" Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать