Имя: Пароль:
1C
 
Для чего нужна промежуточная функция "глВзятьКонтекст()"?
0 Diter
 
27.11.05
16:22
Слышал, что без неё лучше текущий контекст не получать. Не подскажите почему? Для чего нужны промежуточные теловижения?

На всякий случай приведу её код

// ===============================
// Функция возвращает переданное значение параметра (для получения Контекста)
Функция глВзятьКонтекст(Конт) Экспорт
   Возврат Конт;
КонецФункции
// ===============================
1 Композитор
 
27.11.05
16:29
Никогда не пользовался этой функцией.
2 Diter
 
27.11.05
16:43
(1) Как то 427 и Рупор (по моему они, ну или кто то ещё из старожилов) в своей беседе здесь на форуме по поводу "у кого длинее"  писали какой то код и вот там то и прозвучала фраза - "контекст нужно получать через глВзятьКонтекст() а не напрямую"... найти эту ветку не смогу даже под страхом смертной казни.
3 427
 
27.11.05
19:37
Длиннее у Ропора... Он им бензин из бензобаков сливает...
4 DimG
 
27.11.05
20:12
Поискал по форуму, например параметр контекст
5 GrayT
 
27.11.05
20:15
(0)Попробуй присвоить контекст переменной
6 NS
 
27.11.05
20:21
(3) Контекстом?
7 Diter
 
27.11.05
20:34
(5) И чего будет? Я могу конечно проверить, но это нужно что то выдумать...
Может скажешь?
8 SKrin
 
27.11.05
20:36
(7) ты же сам в (4) ссылку кинул
там вроде все объяснено
9 GrayT
 
27.11.05
20:38
(7)Для этого надо загрузить конфигуратор.... ну для некоторых надо еще что то повыдумывать :)
П = Контекст; //Чтоб не надо было выдумывать
10 Diter
 
27.11.05
20:38
(8) Я?????? Ссылка пока грузится... щас гляну
11 Diter
 
27.11.05
20:39
вопрос снят. в ссылке всё есть. спасибо...
12 Diter
 
27.11.05
20:59
Так... кое что понятно. передавать как параметр - бога ради, присваивать переменной - балалайку. Вопрос два - для чего может понадобиться присваивать значение контекста переменной внутри этого же контекста?
13 GrayT
 
27.11.05
21:03
Чтоб передать его в форму, а через переменную получить контекст..... 1000 баксовый ты наш
14 427
 
27.11.05
21:18
Опять пена с пива Дитера жжот...
15 Diter
 
27.11.05
21:19
(13) Так я не понял..... Точнее что то такое в голове шевелится (не вши) а вот ниточку поймать не могу. Это как то связано с двумя формами и реакцией одну на другую. Где то такое видел - вроде - как дождаться окончания выполнения формы № 2, открытой из формы № 1 не модально.


Давай попробуем на примере, если можно конечно.

ЗЫ. Фразу про "1000 баксовый ты наш" отнесу к юмору :)
16 Diter
 
27.11.05
21:21
(14) Я не пью пива. Не хочешь рассказать - не надо. Просьба - не мешай. ок?
17 GrayT
 
27.11.05
21:21
Мляяяяяя.
Открой ТиС и глобальный поиск по конфе = глВзятьКонтекст
ЗЫ Интересно, а куда ее еще отнести сможешь?
18 Diter
 
27.11.05
21:27
(17) Я её там и взял. Я не могу понять, для чего она нужна? Почему нельзя сделать напрямую, не

// ===============================
Процедура ВыборФирмы()
   // по кнопке редактирования параметров фирмы в докумнете
   Перем КонтекстДокумента;
   КонтекстДокумента = глВзятьКонтекст(Контекст);
   ОткрытьФормуМодально("Обработка.ИнформацияОфирме", КонтекстДокумента);
   ОбновитьНадписи();
КонецПроцедуры

а

// ===============================
Процедура ВыборФирмы()
   // по кнопке редактирования параметров фирмы в докумнете
   ОткрытьФормуМодально("Обработка.ИнформацияОфирме", Контекст);
   ОбновитьНадписи();
КонецПроцедуры

если

 Волшебник
20 - 15.11.04 - 12:42
(18) Да, проблемы только при присвоении, т.е. "Контекст" нельзя использовать в выражении, но можно передавать куда-то как параметр
19 GrayT
 
27.11.05
21:34
Это уже просто стиль. Если вдург придется через контекст делать что то с открытой формой.....
20 Diter
 
27.11.05
21:37
(19) Т.е. в ТиС эта процедура не несёт смысловой нагрузки?

Что делать? Пример можешь привести?
21 GrayT
 
27.11.05
21:38
+ А при открытии модально ваще другая история
22 Diter
 
27.11.05
21:40
А зачем тогда  к ТиС посылаешь? Если "это просто стиль"? Я думал просмотрел что то важное. Какую то особенность...
23 Guk
 
27.11.05
21:40
Эта процедура подробно описана на ИТС. Вы их вообще не читаете что-ли?...
24 Diter
 
27.11.05
21:41
(23) Веришь - ни разу статьи с ИТС не читал. Обычно всё заканчивалось обработками и конфами.
25 Композитор
 
27.11.05
21:42
(23) Не читаю. :(((
26 GrayT
 
27.11.05
21:42
(20)Т.е. не несет нагрузки? Говорю ж тебе это стиль, после открытия формы иметь ее контест - а вдруг пригодитьься. ВО многих случаях так и быват. Посмотри еще вот что - во многих модулях КонтекстФормы, не локальная переменная, а переменная модуля.
27 GrayT
 
27.11.05
21:47
(23, 24) Ну и зря.
28 Diter
 
27.11.05
21:47
(26) Или я чего то не понимаю, или одно из двух. Какое отношение имеет контекст открытой формы к переданному в неё контексту открывающей формы?

Попробую свести вопрос к абсурду.

При открытии формы передаётся текущий контекст. Зачем его передавать через промежуточную процедуру, если передавая его напрямую тоже работает. Причём из вызываемой процедуры через Форма.Параметр на текущий контекст можно прекрасно влиять.
29 GrayT
 
27.11.05
21:48
Да затем чо через переменную вернеться контекст открытой
30 GrayT
 
27.11.05
21:50
формы. (сорри) не на ту капу нажал
31 Diter
 
27.11.05
22:06
(30) О!!! и тогда через переменную эту можно будет из вызывающей формы вдиять на вызванную. так?
32 GrayT
 
27.11.05
22:21
(31)Америку открыл? ..............................
Я даже подколоть не смог как следует :(
33 Diter
 
27.11.05
22:36
(32) "О сколько нам открытий чудных готовит просвещения дух..."

На самом деле я предполагал нечто такое. Но дабы удостоверится. Кстати, тогда спорили не рупор и 427 а ты и рупор. А спрашивал чудак про то, как из вызываемой формы "пнуть" вызывающую. Ему нельзя было открывать форму в модальном режиме, а вызываемая должна была подождать, пока отработает вызываемая...
34 GrayT
 
27.11.05
22:39
Было дело. Я там левой пяткой правое ухо чесал... :)
2 + 2 = 3.9999999999999999999999999999999...