Имя: Пароль:
1C
 
Что такое Контекст?
Ø
0 Архаровец
 
29.11.05
08:48
В глобалку в процедуру передается глНаимПроц(Контекст). А сама процедура - глНаимПроц(первый=0,второй=0). Что означает Контекст?
1 nicxxx
 
29.11.05
08:51
практически философский вопрос:)))) я вот щас задумался, действительно, а как лучше всего его описать? все знают что это такое, но как объяснить это тому кто не знает?
а вобще, вот выдержка из ЖКК
Контекст выполнения программного модуля
Каждый программный модуль связан с остальной частью конфигурации задачи. Эта связь называется контекстом выполнения модуля. Следует различать два вида контекста:
· глобальный контекст задачи;
· локальный контекст выполнения конкретного модуля.
Глобальный контекст образуется:
· значениями системных атрибутов, системными процедурами и функциями;
· значениями заданных в конфигураторе констант, перечислений, регистров, видов расчета, групп видов расчета;
· переменными, процедурами и функциями глобального программного модуля, объявленными с ключевым словом Экспорт.
Глобальный контекст виден всем программным модулям и определяет общую языковую среду конфигурации.
Локальный контекст модуля образуется тем конкретным местом конфигурации задачи, для которого использован программный модуль. Локальный контекст виден только конкретному программному модулю и определяет для модуля набор непосредственно доступных модулю значений агрегатных типов данных, их атрибутов и методов (см. «Виды программных модулей»). Однако, контекст модуля можно передать как объект в виде параметра при вызове процедур и функций (см. «Передача локального контекста программного модуля в качестве параметра»). Кроме того, контекст модуля определяет тот набор методов, которые доступны только в данном контексте (см. «Атрибуты и методы контекста Модуля формы», «Методы контекста Модуля формы элемента справочника» и т. п.). Локальный контекст предназначен для того, чтобы дать возможность управлять частными аспектами поведения задачи, присущими данному модулю.
2 nicxxx
 
29.11.05
08:53
таким образом приходим к выводу, что прежде чем задавать подобные вопросы, необходимо изучить документацию.
3 banda
 
29.11.05
08:55
(1)да... отдуши...
4 Архаровец
 
29.11.05
09:00
Ну конечно я пока ничего не понял. Можно на этом примере? То есть, если я уберу слово "Контекст" комп не поймет, что нужно искать процедуру в глобальнике? Так вроде нет, ищет и находит. Тогда зачем писать? А если мне нужно передать вторым параметром единицу? Мне как писать: глНаимПроц(Контекст,1) Или как?
5 Архаровец
 
29.11.05
09:02
(2)Документацию я изучил, только ничего не понял!
6 Шакал
 
29.11.05
09:03
Это типа self(ссылка) объекта под названием Форма документа
7 Юрикс
 
29.11.05
09:08
(5) ИМХО контекст - это некое окружение, объектная среда исполняемой "процедуры". Выходя в глобальный модуль ты теряешь локальный контекст, который содержит в себе ссылки на реквизиты формы и т.д. Чтобы иметь возможность в ГМ обращаться к реквизитам например проводимого документа, нужно передать в глобальную процедуру локальный контекст, который обозначается ключевым словом Контекст.
типа как на пальцах рассказал..
8 Архаровец
 
29.11.05
09:14
Можно на каком-нибудь примере?
9 Архаровец
 
29.11.05
09:16
(7)Очень доходчиво, спасибо. Сейчас посмотрю код, поразбираюсь!
10 который не честный
 
29.11.05
09:37
Пример
глПоставитьФирму(Контекст)
Процедура глПоставитьФирму(Док)
Док.Фирма=Константа.Фирма;
КонецПроцедуры
11 nicxxx
 
29.11.05
10:21
(3) спасиба :)
(9) между прочим в (1) то же самое написано...или ты не вдумывался в текст?
12 DRAGO
 
29.11.05
10:28
"Краткость - сестра таланта!"
13 nicxxx
 
29.11.05
10:30
(12) расскажи это тем, кто писал ЖКК :)