Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 дек 2024, 00:25

Бага в конструкции ?(,,) by 1с

Автор ferrari314, 19 мар 2015, 14:55

0 Пользователей и 1 гость просматривают эту тему.

ferrari314

Сегодня целый день боролся с багой, ничего подобного не нагуглил, выложу сюда, может кому потом пригодится.
При таком вот куске кода:
ТекущийРаздел = ЗагрузитьНастройку("ОсновныеНастройки", "ОтделПоУмолчанию");
ПараметрыСеанса.ТекущийРаздел = ?(ТекущийРаздел = Неопределено, ПараметрыСеанса.Пользователь.Отдел, ПараметрыСеанса.ТекущийРаздел)

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

то есть параметр заполнялся, но не инициализировался. И абсолютно одинаковые с точки зрения логики конструкции по факту работают по разному.

LexaK

ни какого бага, кроме тараканов в голове

ТекущийРаздел
и
ПараметрыСеанса.ТекущийРаздел

это две большие разницы!!! :befhbt:

в вашем коде

ТекущийРаздел = ЗагрузитьНастройку("ОсновныеНастройки", "ОтделПоУмолчанию");
ПараметрыСеанса.ТекущийРаздел = ?(ТекущийРаздел = Неопределено, ПараметрыСеанса.Пользователь.Отдел, ПараметрыСеанса.ТекущийРаздел)


поэтому система правильно ругается  :D
если помогло нажмите: Спасибо!

cska-fanat-kz

"Зря инстрУмент не кори" (С) "Василий Теркин"

в конструкции
ПараметрыСеанса.ТекущийРаздел = ?(ТекущийРаздел = Неопределено, ПараметрыСеанса.Пользователь.Отдел, ПараметрыСеанса.ТекущийРаздел)

у вас зацикливание происходит. что получается если условие попадает в ветку ЛОЖЬ? сами догадаетесь?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги: 1С баг 

Похожие темы (2)

Рейтинг@Mail.ru

Поиск