Имя: Пароль:
1C
1С v8
Глобальные переменные
0 Bibr
 
21.02.12
14:01
Был файловый вариант - глобальные переменные были видны из моего общего модуля.

поставил sql - перестали видеться.

Поюзал поиск - оказывается:
1. гл. переменные якобы вообще не должны никогда видеться из общих модулей.
2. гл. переменные - это вообще дурной тон и бла-бла-бла, надо юзать параметры сеанса

В связи с этим вопросы.
1. Почему у меня в файловом работало если не должно и как сделать чтоб заработало в кл-серверном.
2. Какие нафиг параметры сеанса, если у меня есть необходимость хранить ТЗ. И меняются они каждую секунду (в отличие от параметров)

Подскажите как методологически правильно?
1 DrShad
 
21.02.12
14:09
1. ты не поверишь но параметры сеанса тоже можно менять
2. изучить мат часть в области компиляции модулей в серверном варианте и в файловом

ну и после этого снова милости просим к нам
2 Bibr
 
21.02.12
14:15
(1) В параметры ТЗ не лезет.
3 DrShad
 
21.02.12
14:19
(2) а где я написал что лезет? кроме того хз че у него в ТЗ - вместо нее вполне можно использовать другие объекты

а вообще ТС из 8.2 сделал клюшечную базу
4 Loyt
 
21.02.12
14:23
(0) Глобальные у тебя скорее всего в модуле приложения. Файловые у тебя открываются как клиент и юзают этот модуль. А вот сервер этого модуля не видит и обламывается.
5 Fish
 
21.02.12
14:26
(0) методологически правильно так: прежде, чем что-то ваять, надо почитать умные книжки для начала :))
6 Bibr
 
21.02.12
14:35
DrShad, Fish, по делу - ноль.
Если не можете / не хотите помочь, то зачем вообще лезть.

Loyt, Сервер видит мой общий модуль. Сервер не видит экспортные переменные модуля приложения. Хотя файловый вариант видел.

Я понял уже, что и не увидит, надо переделывать, но не понимаю как. Т.к. параметры сеанса не подходят
7 Fish
 
21.02.12
14:39
(6) "надо переделывать, но не понимаю как"
А что ты хочешь по делу? Если ты не понимаешь, как надо программировать, зачем ты вообще в это полез? Все правильно тебе сказали, сначала поучись, потом сюда приходи. Может тогда про что-то конкретное спросишь, а не про то, как надо программировать и думать. Здесь тебя никто этому не научит.
8 Fish
 
21.02.12
14:40
+(7) Вот тебе ответ по делу: не используй глобальные переменные. Так по делу? :)))
9 Bibr
 
21.02.12
14:54
(8) да, по делу, но ничего нового. То, что от глоб. переменных надо избавиться я понял сам, поюзав поиск.

Смысл в том, что в файловом варианте РАБОТАЛО.
Цель: переделать, чтобы ЗАРАБОТАЛО в клиент-серверном.

Если это правильно делать через параметры сеанса, прошу вас подсказать как.
10 Rovan
 
гуру
21.02.12
14:59
(9) тебе надо чтобы работало в клиент-серверном варианте на стороне серевера или только клиента ?
11 Bibr
 
21.02.12
15:01
(10) Сервера
12 Fish
 
21.02.12
15:01
(9) Для начала надо понять, для чего у тебя вообще использовались эти глобальные переменные. Тогда станет ясно как обойтись без них. пока не очень понятно.
13 Reset
 
21.02.12
15:02
Что такое глобальные переменные?
Переменные модуля приложения - знаю. Модуля формы - знаю. Что значит глобальные?
14 Bibr
 
21.02.12
15:04
(13) да, глобальные - имелось ввиду Экспортные переменные модуля обычного приложения
15 Fish
 
21.02.12
15:04
(13) Это экспортные переменные в модуле приложения. Иногда их так обзывают, по-старинке :)))
16 Rovan
 
гуру
21.02.12
15:06
(11) создаешь параметр сеанса типа ХранилищеЗначения -
хранишь там структуру со своими переменными
17 Fish
 
21.02.12
15:06
(16) Я так понял, ему надо ТЗ там хранить. Пока непонятно только - зачем :)))
18 Bibr
 
21.02.12
15:10
Есть две ТЗ и одна структура.

Структуру в принципе можно сделать перечислением и положить в базу.

С ТЗ сложнее.
В ТЗ хранятся данные по работе пользователя, которые меняются в зависимости от проведеных, измененных документов итп, которые в определенный момент скидываются в регистр.
Меняются ТЗ в подписках на события доков, справочников.
Обработки подписок - в отдельном модуле.
Также в модуле есть процедуры, вызываемые из форм документов, справочников. также меняющие эти ТЗ
19 Bibr
 
21.02.12
15:12
вот как-то так:)
т.е. логически параметры сеанса подходят - существуют на время работы сеанса и хранят инфу грубо говоря о сеансе, но тЗ в параметры не лезет
20 Fish
 
21.02.12
15:13
(18) "В ТЗ хранятся данные по работе пользователя" - какой-то аналог журнала регистрации? А зачем тогда извращаться с ТЗ? Не проще ли сразу в регистр писать, и с ним работать?
21 Rovan
 
гуру
21.02.12
15:16
(19) почему не лезет ? в тип ХранилищеЗначения можно сохранить что угодно !
22 Fish
 
21.02.12
15:20
(21) Да тут ХранилищеЗначения вообще не нужно. Он же потом все равно это в регистр пишет. Зачем извращаться с ХранилищемЗначения, когда можно просто все изменения сразу в регистр писать, и когда надо, из регистра читать?
23 Fish
 
21.02.12
15:28
+(22) Только всё равно непонятно, зачем использовать именно ТЗ :)))
24 Bibr
 
21.02.12
15:29
(22) В принципе можно попробовать.. Хотя на первый взгляд чувствую, что через ж*пу это будет. Т.к. у каждый пользователь в конкретый момент работает со своей ТЗ в которой несколько строк. По ним часто поиск идет. Если это все в регистре будет, который активно растет, то постоянный поиск по большому регистру каждым пользователем...
25 Bibr
 
21.02.12
15:30
+(24) Хотя можно конечно отдельный регистр только для текущих записей с ключом по пользователю.
26 Fish
 
21.02.12
15:31
(24) Какой еще поиск по регистру? А запросы на что?
27 Fish
 
21.02.12
15:33
(25) Ты хоть приведи пример, что такого у тебя в этой ТЗ содержится, что нельзя параметрами сеанса обойтись?
28 Bibr
 
21.02.12
15:33
(26) это понятно.
Тут есть еще момент.
В ТЗ также хранились формы открытых документов, справочников
29 Bibr
 
21.02.12
15:34
(27)
   Колонки.Добавить("Форма");
   Колонки.Добавить("Объект");
   Колонки.Добавить("Время");
30 Fish
 
21.02.12
15:36
(28) О_о. Стесняюсь спросить, а нафига это вообще надо? :)))
31 Bibr
 
21.02.12
15:42
опять двадцать пять:)
над означит надо:)

нашел тут тему - пробую
Книга знаний: v8: Доступ к глобальным переменным, процедурам и функциям из общих модулей
32 Fish
 
21.02.12
15:43
+(30) Тем более с учётом (11). На сервере такого понятия, как "форма" - нет и быть не может. Форма существует только на клиетте :)))
33 Bibr
 
21.02.12
15:49
(32) опа..  Учтем
34 Fish
 
21.02.12
15:50
(31) Надо значит надо - сильный ответ. :)))) Но спрашиваю я не просто так. Мне непонятно В ПРИНЦИПЕ, зачем эти данные нужно хранить в каких-то экспортных переменных, тем более там, где их в принципе быть не может. Есть ведь другие решения. Что-то у тебя похоже происходит какое-то непонимание программирования в 1с.
Резюме: Без обид только, но мне всё-таки кажется, что для твоих задач можно найти более красивые и простые решения. Надо только приложить немножечко мозгов, и всё-таки почитать наконец-то умные книжки :))))
35 Bibr
 
21.02.12
15:51
(34) мне тут надо делать теперь 2 модуля - клиентский и серверный. и уже в них разделять.
в общем не все так просто
36 ЧеловекДуши
 
21.02.12
15:52
(31)Используй структуру, не мучай ТЗ, она для другого :)
37 Bibr
 
21.02.12
15:52
(34) спасибо. А порекомендуйте книжки
38 Fish
 
21.02.12
15:52
(35) А как ты хотел? В 8.2. еще надо думать, тонкий у тебя клиент или толстый :)))
39 ЧеловекДуши
 
21.02.12
15:53
+ Ты случаем не на управляемом приложении пишешь?
40 ЧеловекДуши
 
21.02.12
15:53
(38)Он хотел, как в 7.7, бездумно слепить, как попало и получить гонорар :)
41 Fish
 
21.02.12
15:54
(37) Для начала вполне пойдёт ЖКК и изучение типовых конфигураций.
42 Bibr
 
21.02.12
15:59
(38) да я то не против. я как раз и хочу разобраться как правильно.
(39) нет.
(40) я уже писал выше. Сделал - работает. Все хорошо. Потом условия изменились.
(41) ЖКК это что?
43 Reaper_1c
 
21.02.12
16:00
Не запинали еще? зря, зря...
44 Fish
 
21.02.12
16:03
(42) ЖКК – Желто-красные книжки. – комплект стандартной конфигурации. Там есть полезная книжица, называется "Руководство разработчика" :)))
45 Bibr
 
21.02.12
16:05
по методологии там 0+.
там энциклопедическая информация грубо говоря
46 Fish
 
21.02.12
16:07
(45) Тогда вот: http://center-comptech.ru/1c8.2.prog.html
или из этих посмотри: http://center-comptech.ru/1c_knigi.html
47 Fish
 
21.02.12
16:08
48 Bibr
 
21.02.12
16:14
(46, 47) Спасибо большое
49 Reaper_1c
 
21.02.12
16:48
(47) Она как раз ни о чем.
50 Fish
 
21.02.12
16:51
(49) Если честно, не читал :)))
51 Bibr
 
21.02.12
16:53
(50) во жук :)))
52 Fish
 
21.02.12
16:59
(51) Ну я как бы не очень люблю книжки читать. Мне для начала вполне хватило вот этих двух:
http://center-comptech.ru/knigi/prostie_primeri_razrabotki.html
http://center-comptech.ru/knigi/prakticheskoe_posobie_razrabotchika.html

Потом еще на курсы разные ходил. Ну и конечно же Миста - наше всё :))
53 Bibr
 
21.02.12
17:48
(52) миста - да
54 DrShad
 
21.02.12
17:57
(53) т.е. в итоги пришли к тому что книжки наше все, но первых отправивших туда таки лесом?
55 DrShad
 
21.02.12
17:58
(53) молодца! так далеко пойдешь
а вот изречение что в файловом же все работало достойно увольнения, ибо писать нужно изначально чтоб работало в любом варианте
56 Bibr
 
21.02.12
18:55
Дружище, ни в одном из твоих ответов нет ни намека на желание помочь.
Ни раньше, ни сейчас. О чем тут можно говорить? :)

А с товарищем Fish мы продуктивно пообщались.
57 fisher
 
21.02.12
19:24
(0) Увы. По сей день нет нормальных способов хранить на сервере в рамках сеанса сложные структуры данных типа таблиц. Только хранением в параметре сеанса типа хранилище значения. Что не очень вариант, если таблицы большие а обращаться нужно часто. Ну или в базу писать, что тоже как бы не гут.
Благо на рядовых задачах такой необходимости не возникает.
58 DrShad
 
21.02.12
21:24
(56) дружище ты с первых же постов отмел конструктивные советы как неугодные, и о каком конструктиве ты говоришь?