Имя: Пароль:
1C
1С v8
глЗначениеПеременной. Присвоение переменной определенного значения.
0 antgrom
 
27.11.12
16:52
Есть РИБ
8.2
Розница

Есть обработка.
В ней определенной переменной с помощью глЗначениеПеременнойУстановить присваивается значение Истина. Обработка выполняется. Потом нашей переменной присваивается Ложь.
Присвоение безусловное и в начале и в конце.
Если обработка начнет работать при значении переменной равной Ложь - выйдет ошибка.

Запускаю на переферийном узле несколько раз - выходит ошибка.
Т.е. почему то переменной не присваивается Истина.
Открываю Конфигуратор  , ставлю точку останова и смотрю - значение присваивается , обработка отрабатывает нормально. И так на нескольких переферийных базах.

Мистика ?

Кеш чистил.
1 antgrom
 
27.11.12
16:58
ни у кого  не было такой мистики ?
2 antgrom
 
28.11.12
09:35
ап
3 Maxus43
 
28.11.12
09:42
глЗначениеПеременнойУстановить(Имя, Значение, ИСТИНА) - так делаеш? с ИТИСНА?
4 Maxus43
 
28.11.12
09:42
*с Истина
5 Maxus43
 
28.11.12
10:11
ждал автор 2 дня, почитал что написали и пропал с концами. нет бы хоть ответил чего
6 antgrom
 
28.11.12
17:32
глЗначениеПеременнойУстановить("РежимВосстановленияПоследовательности", Истина, Истина)

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


а ОбщегоНазначения.УстановитьЗначениеПеременной это :
Процедура УстановитьЗначениеПеременной(ИмяПараметра, Кэш, ЗначениеПараметра, ОбновлятьВоВсехКэшах = Ложь) Экспорт
   
   Если Кэш.Свойство(ИмяПараметра) Тогда
       Кэш.Вставить(ИмяПараметра, ЗначениеПараметра);
   КонецЕсли;
   
   #Если Клиент ИЛИ ВнешнееСоединение Тогда
       Если ОбновлятьВоВсехКэшах Тогда
           КэшНаСервере = ПараметрыСеанса.ОбщиеЗначения.Получить();
           КэшНаСервере.Вставить(ИмяПараметра, ЗначениеПараметра);
           ПараметрыСеанса.ОбщиеЗначения = Новый ХранилищеЗначения(КэшНаСервере);
       КонецЕсли;
   #КонецЕсли
   
КонецПроцедуры
7 antgrom
 
28.11.12
17:32
это - объяснение процедур
8 antgrom
 
28.11.12
17:34
пока не раскрыта тема "глОбщиеЗначения"