Имя: Пароль:
1C
1С v8
Регламентные задания и инициализация глобальных переменных
0 DreamMaster
 
14.01.14
12:04
Доброго времени суток! Столкнулся с такой проблемой: в модуле приложения при начале работы системы заполняется большое кол-во глобальных переменных. Регламентные задания данные переменные использовать не могут (так как не происходит заполнения). Подскажите, как лучше (где?) описать заполнение глобальных переменных, чтобы можно было использовать из в фоновых заданиях?
1 Defender aka LINN
 
14.01.14
12:10
1. С разбега ударить в лицо человека, который это придумал.
2. Запустить проверку конфигурации со всеми флагами в разделе "Синтаксический контроль"
3. Исправить все ошибки (в процессе можно и даже рекомендуется пинать ногами человека из п.1)
4. Запустить свое регламентные задания и радоваться жизни.
З.Ы. Запихивание модуля в #Если Клиент это не исправление ошибки, а заметание отходов жизнедеятельности под скатерть на обеденном столе.
2 Сисой
 
14.01.14
12:17
(0) Никак. Регламентные задания не должны использовать параметры сеанса. Точка.
3 SUA
 
14.01.14
12:18
(2)глобальные переменные. Параметры сеанса почему бы и нет?
4 Defender aka LINN
 
14.01.14
12:19
(2) Чойта?
5 DreamMaster
 
14.01.14
12:20
Не описал: 1С 8 не упр.формы
Глобальных переменных море и все они реально нужны. Пытаюсь найти решение, что-то типа создать отдельную процедуру, которая их заполнит, но вот где её вызывать пока не пойму...
6 DreamMaster
 
14.01.14
12:20
Увы для параметров их слишком много...
7 DreamMaster
 
14.01.14
12:21
решил сделать отдельную процедуру, которая их будет заполнять. Процедура будет вызываться при начале работы системы и в момент выполнения регламентного задания
8 Defender aka LINN
 
14.01.14
12:24
(7) Брюки на заказ шьешь, или где-то есть специальная фабрика?
9 zladenuw
 
14.01.14
12:29
(6) чего ? есть ФиксированноеСоответствие или фиксированный массив или же хранилище значений. смотри как реализовано в типовой
10 zladenuw
 
14.01.14
12:31
(9) у нас было больше 10 глобальных переменных. исправили на 1 параметр сеанс и получаем через функцию и все. а то ловили ошибок вроде твоих. когда определение глобальных шло на клиенте. а при вызове на сервере. они были не определенны
11 Defender aka LINN
 
14.01.14
13:00
(10) Интересно, что ж вы туда понапихали?
12 zladenuw
 
14.01.14
13:02
(11) ну а как тогда надо было решить проблему ? 1 параметра сеанса решил ее на всегда :)
13 zladenuw
 
14.01.14
13:05
(11) конфа самопал, часть переменных нужно было оставить. так как пока вызывается в разных местах. потихоньку приводим в порядок. стремимся к тонкому клиенту. но путь долгий. бо все криво написано :(
14 Лефмихалыч
 
14.01.14
13:10
(8) надо такое ателье организовать. Спрос должен быть безумным
15 Defender aka LINN
 
14.01.14
13:14
(12) Ты на вопрос не ответил.
16 DreamMaster
 
14.01.14
13:15
(8) Когда-то была простенькая конфа УТ, но постепенно фирма стала набирать обороты, конфа превратилась на 90% самописной. База 300 гигов.
17 Maxus43
 
14.01.14
13:15
(11) нельзя объять необъятное, нельзя описать неописуемое и нельзя впихнуть невпихуемое (с)
18 DreamMaster
 
14.01.14
13:15
В итоге 1С только что кофе не варит =)
19 Maxus43
 
14.01.14
13:16
(16) дак делали бы как в типовой, глЗначениеПеременной юзали бы, тогда и фоновое бы проглотило это. Изначально криво реализовали
20 Лефмихалыч
 
14.01.14
13:18
(15) да там варианта-то два - либо неописуемое зло в фиксированном массиве, либо неописуемое зло в хранилище значения. Ну, могут еще комбинации быть
21 DreamMaster
 
14.01.14
13:32
(16) Вот я тоже только бы счастлив был
22 DreamMaster
 
14.01.14
13:43
Всем спасибо за помощь!
23 DreamMaster
 
16.01.14
11:21
Увы эксперементы с глобальными переменными не удались. Указалость, что гл переменные в модуле обычного приложения в фоновых заданиях даже не инициализируются (не заводятся).

Решил освоить как работает:
Процедура глЗначениеПеременнойУстановить(Имя, Значение, ОбновлятьВоВсехКэшах = Ложь) Экспорт
    
    ОбщегоНазначения.УстановитьЗначениеПеременной(Имя, глОбщиеЗначения, Значение, ОбновлятьВоВсехКэшах);
    
КонецПроцедуры

Но вызвать её у меня не получилось.

1С 8.2 Не упр. формы
24 Azgerd
 
16.01.14
11:46
А если это использовать?
ХранилищеОбщихНастроек.Сохранить(,"КлючЗначения",Значение)
Правда эти значения сохранятся и в следующих сеансах.
25 DreamMaster
 
16.01.14
11:47
(24) Хорошая мысль! Можно ещё сделать обработку, в которой можно будет настраивать и удалять настройки