Имя: Пароль:
1C
1С v8
Волшебство в базе!
,
0 mzelensky
 
13.01.12
13:02
Доброго всем!
Имеем базу УТ 8.1.15.14. До сегодняшнего дня все шло нормально...НО сегодня вышла странная ошибка по пересчету КУРСА ВАЛЮТЫ (при этом всегда применяется рубли и валюта никогда не трогается).

Захожу в "Настройки параметров учета", вкладка "Валюта", там "Валюта регламентированного учета" = "рубли" (все как нужно)...но если обработать код (который устанавливает валюту при создании любого документа):

мВалютаРегламентированногоУчета   = глЗначениеПеременной("ВалютаРегламентированногоУчета");
Сообщить(мВалютаРегламентированногоУчета);

то в результате я получаю НЕ РУБЛИ, а почему-то "База -6", а это вообще НЕ ВАЛЮТА, а тип цен у нас... ЧТО ЭТО ТАКОЕ????
1 n0ther
 
13.01.12
13:03
(0) ТиИ?
2 Asmody
 
13.01.12
13:04
это не вы имеете базу, это база имеет вас.
тестирование-исправление прогони для начала
3 mzelensky
 
13.01.12
13:05
Да этого монопольные права нужны, если я не ошибаюсь... или нет?!
4 mzelensky
 
13.01.12
13:08
ТиИ смогу запустить ток после рабочего дня...сейчас что еще можно сделать/посмотреть?!
5 hhhh
 
13.01.12
13:08
(3) наверно, какие-нибудь волшебники наименование валюты у вас заменили. Не наливайте им больше.
6 mzelensky
 
13.01.12
13:10
(5) с наименованием валюты все в полном порядке. И если бы они просто изменили НАИМЕНОВАНИЕ, то перерасчет КУРСА бы не срабатывал!!! А он срабатывает!!!
7 mzelensky
 
13.01.12
13:15
Еще варианты есть?!
8 alxbzm
 
13.01.12
13:15
(7) глЗначениеПеременной("ВалютаРегламентированногоУчета") в конченом итоге возвращает значение из Константы.ВалютаРегламентированногоУчета.Получить()

посмотрите в отладчике что там у вас в константе, ну и ради интереса пройдитесь по всей ветке вызова функции глЗначениеПеременной("ВалютаРегламентированногоУчета") - посмотрите откуда что берется. Там еще переменные кэшируются - может там где засада.
9 alxbzm
 
13.01.12
13:16
+(8) ))) в конченом итоге = в конечном итоге ))) пятница )))
10 dk
 
13.01.12
13:18
отладчик не предлагать?
11 mzelensky
 
13.01.12
13:20
(10) а что тебе покажет отладчик, извините??? я тебе уже сказал -

мВалютаРегламентированногоУчета   = глЗначениеПеременной("ВалютаРегламентированногоУчета");
Сообщить(мВалютаРегламентированногоУчета);

возвращает ХРЕНЬ?!
12 mzelensky
 
13.01.12
13:21
Перезапустил базу...ошибка ушла! Что это було ума не приложу :(
13 hhhh
 
13.01.12
13:24
(12) пятница 13-е
14 mzelensky
 
13.01.12
13:27
(13) иное в голову и не приходит
15 alxbzm
 
13.01.12
13:31
(11) это у Вас не кошерный отладчик... кошерный отладчик привел бы Вас к такому вот коду:

Если Кэш = Неопределено Тогда
       // Кэш не был проинициализирован
       Кэш = Новый Структура;
   Иначе
       // Ищем значение в структуре
       НайденноеЗначение = Неопределено;
       Если Кэш.Свойство(ИмяПараметра, НайденноеЗначение) Тогда
           Возврат НайденноеЗначение;
       КонецЕсли;
   КонецЕсли;

а вот откуда у Вас в кеш попало не то что нужно - уже другой вопрос )))
Основная теорема систематики: Новые системы плодят новые проблемы.