Имя: Пароль:
1C
1C 7.7
v7: В Глобальном модуле около переменной стоит Экспорт - это что?
0 sysadminlk
 
20.03.13
08:55
В Глобальном модуле около переменной стоит Экспорт - это что?
Перем ДаблКликЗначение Экспорт;

ДаблКликЗначение будет доступно другим пользователям?
ДаблКликЗначение будет доступно только текущему пользователю но во всех процедурах?
ДаблКликЗначение без Экспорт будет доступно только в глобальном модуле?
1 vis_tmp
 
20.03.13
08:57
А что в СП пишут об этом?
2 HeroShima
 
20.03.13
08:57
(0) с тобой всё в порядке?
3 viktor_vv
 
20.03.13
08:57
2. и 3.
4 ЧеловекДуши
 
20.03.13
08:57
(0) Это означает, что данная переменная доступна в любом модуле метаданных.
А так же видна через Ком или ОЛЕ соединение из другой БД.
5 ЧеловекДуши
 
20.03.13
08:58
+(0) Ты еще голосовалку прикрути :)
6 vis_tmp
 
20.03.13
08:58
1986 )
7 ЧеловекДуши
 
20.03.13
08:59
(6) Опять это клятое число :)
8 sysadminlk
 
20.03.13
08:59
(2) под утро уже в голове каша туплю, думал что гоню пора идти спать, потом буду разбираться.
9 ДенисЧ
 
20.03.13
08:59
продам СП, безумно дорого.
Научу его читать - вообще заоблачные цены...
10 Chum
 
20.03.13
08:59
facepalm
11 vis_tmp
 
20.03.13
09:00
(9) Монополист!
12 cw014
 
20.03.13
09:00
Утром каша в голове?
Что бы лицом в грязь не упасть
Программиста позови,
И иди учи матчасть
13 ДенисЧ
 
20.03.13
09:01
(11) дык.
14 sysadminlk
 
20.03.13
09:01
В языке переменные не обязательно объявлять в явном виде. Неявным определением переменной является первое ее появление в левой части оператора присваивания. Возможно также явное объявление переменной при помощи оператора Перем. Тип переменной определяется типом присвоенного ей значения. Не допускается использование в выражениях переменных с неопределенным значением (то есть переменных, которым никогда не присваивалось значения).
   Синтаксис:
   Перем <Имя_переменной> [[<Размерность>]] [Экспорт];
   Англоязычный синоним - Var: Параметры:
   <Имя_переменной> - Имя переменной.
   [<Размерность>] - Необязательная числовая константа (записывается в квадратных скобках), указывается только в том случае, если объявляется массив и должна представляться в виде положительного целого числа. [Экспорт] Необязательное ключевое слово Экспорт указывает, что данная переменная станет доступна для других модулей. Использование данного ключевого слова имеет смысл только в глобальном программном модуле.
   Область использования переменных зависит от места их определения в конфигурации задачи. Существует три области, в которых можно объявить переменные:
   В разделе определения переменных глобального программного модуля. Если переменные определены с ключевым словом Экспорт (см. оператор Перем), то это будут глобальные переменные. В разделе определения переменных модуля. Это переменные модуля. В процедуре или функции. Это локальные переменные. Глобальные переменные доступны для использования в исполняемых операторах, выражениях, в любой процедуре и функции любого программного модуля конфигурации задачи.
   Переменные модуля доступны для использования в исполняемых операторах, выражениях, в любой процедуре и функции того программного модуля, в пределах которого они объявлены.
   Локальные переменные доступны в пределах той процедуры или функции, в которой они объявлены.
   Единственный способ создать для процедуры локальную переменную с именем, совпадающим с именем переменной, определенной как глобальная переменная - это объявить ее явно при помощи оператора Перем.
15 Рэйв
 
20.03.13
09:04
(14)Не может быть! У него есть СП!
16 sysadminlk
 
20.03.13
09:05
А вообще самый главный вопрос который интересует
Откуда "второй" и "третий" пользователь знает значение переменной которое выставил "первый" пользователь если Переменная в глобальном модуле с параметром Экспорт.
Такая переменная должна быть локальной для каждого участника.
Ведь так?
17 ДенисЧ
 
20.03.13
09:05
(16) да, они уникальны для каждого сеанса
18 1Сергей
 
20.03.13
09:07
(16) в переменной может быть ссылка на объект, который доступен у всех пользователей
19 sysadminlk
 
20.03.13
09:08
Например какой объект?
20 1Сергей
 
20.03.13
09:08
(19) например, Константа
21 НафНаф
 
20.03.13
09:08
(18) на объект)) ох уж эта 1С со своими понятиями
скорее на запись таблицы
22 sysadminlk
 
20.03.13
09:09
уже проверял (20) не нашел связей
23 1Сергей
 
20.03.13
09:11
(21) У записи таблицы есть свойства и методы?
24 cw014
 
20.03.13
09:11
Переменные глобального модуля, с ключевым словом "Экспорт" доступны в любой части конфигурации для текущего сеанса.
25 1Сергей
 
20.03.13
09:13
(21) хотя, может ты и прав
26 sysadminlk
 
20.03.13
09:15
при начале работы системы в переменную записывается ссылка на объект элемента справочника сотрудника но он меняется на последнего пользователя кто зашел используется только одна переменная с глобального модуля экспорт и справочник сотрудников пример зашел вася переменная стала василий петрович, зашел федя переменная стала федор иванович у обоих пользователей
27 ДенисЧ
 
20.03.13
09:15
(26) чо*????????????????
28 НафНаф
 
20.03.13
09:17
(26) врешь ты все, вы наверное в константу пишите
29 cw014
 
20.03.13
09:17
(26) Вот это скрытые возможности семерки, это я понимаю
30 cw014
 
20.03.13
09:17
(26) А еще он читать мысли умеет
31 vis_tmp
 
20.03.13
09:18
Это ИИ, он "вася" превращает в "василий петрович" и т.д.
32 sysadminlk
 
20.03.13
09:18
(26) по идее у каждого пользователя должна быть своя переменная
федя - федор иванович,
вася - василий пертрович
а она ставится на последнего зашедшего

вот я и думаю что с ума схожу.
не должно так работать
33 НафНаф
 
20.03.13
09:18
(32) и не работает так, что-то ты врешь нам
34 sysadminlk
 
20.03.13
09:21
Все спасибо всем, пойду спать, потом буду дальше разбираться откуда экстрасенсорные возможности семерки. или кривые руки бывшего сотрудника. где-то гад наверно накодил шибко хитро.
Еще раз всем спасибо.
35 DCKiller
 
20.03.13
09:23
М-да. Лет 8 назад за такую ветку здесь просто забанили бы...
36 cw014
 
20.03.13
09:23
(32) Это глюки от недосыпа. Иди проспись и все заработает правильно
37 aka AMIGO
 
20.03.13
09:24
проверить-то проще простого!
создать внешний отчет с одной строкой
Сообщить(ИмяЭтойСамойПеременнойНаЭкспорт);
и запустить у двух пользователей.

а ведь (26) прав.. у нас есть переменная
Перем Пользователь Экспорт;

и этот "Пользователь" у каждого - свой
38 aka AMIGO
 
20.03.13
09:27
+37 в теле гм определяется так:

Спр=СоздатьОбъект("Справочник.Сотрудники");
Спр.НайтиПоКоду(ИмяПользователя());
Пользователь=Спр.ТекущийЭлемент();
39 sysadminlk
 
20.03.13
09:30
Какая то Бага :)))) ура!!! разобрался.....
сервак не ребутали 47 дней
помог ребут сервера
теперь точно спать... :) счастье...
40 aka AMIGO
 
20.03.13
09:31
(39) отключи его совсем.. чтоб не побеспокоил :)
41 cw014
 
20.03.13
09:32
(39) Сервак не ребутали 47 дней и от этого он начал читать мысли? Срочно не выключайте его, он же скоро разговаривать с вами начнет и на вопросы отвечать...
42 Тихий омут
 
20.03.13
09:36
(20) ссылка на константу в клюшках? это как?
43 Mikeware
 
20.03.13
09:45
(6)(7) да еще и киргизия....
44 Надсмотрщик
 
20.03.13
09:51
(0) Поставь слово ИМПОРТ и посмотри, что получится.   ;-))
45 aka AMIGO
 
20.03.13
09:54
(42) Пример в гм? вот:
Рубли=Константа.БазоваяВалюта;
46 aka AMIGO
 
20.03.13
09:55
+45 вернее, даже так:

//в ГМ
Перем Рубли Экспорт;
...
Рубли=Константа.БазоваяВалюта;
47 Злопчинский
 
20.03.13
19:05
> Не допускается использование в выражениях переменных с неопределенным значением (то есть переменных, которым никогда не присваивалось значения).
.
ну как бэ не так... ;-)
.
до приведенного оператора упомянутые в нем переменные нигде не упоминались...
.
выполнение оператора даже не приведек к исключительной ситуации
.
x=x/0;
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший