Имя: Пароль:
1C
1С v8
На что заменить в коде ЗначениеЗаполнено(глТекущийПользователь)?
,
0 Vika_22
 
23.11.11
10:30
Всем Доброе утро.
Управление торговлей 8.2 (10.3.14.5)
Во внешнем отчете на 8.2 есть такой код
// Установим дату начала отчета
Если ЗначениеЗаполнено(глТекущийПользователь) Тогда
   ДатаНач = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь,"ОсновнаяДатаНачалаОтчетов");
КонецЕсли;

При проверке ошибок 1С ругается на: Переменная не определена (глТекущийПользователь).
Я не понимаю две вещи: Что делает ЗначениеЗаполнено в данном коде? И Чем заменить ГлТекущийПользователь?
Если вместо ГлТекущийПользователь поставить ПользователиИнформационнойБазы.ТекущийПользователь(), то вылезает ошибка = "Проверка мутабельных значений на заполненность не поддерживается".
1 Wobland
 
23.11.11
10:31
а у меня вот такая конструкция есть
           Ответственный = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойОтветственный");
           Если Ответственный.Пустая() Тогда
               Ответственный = ПараметрыСеанса.ТекущийПользователь;
           КонецЕсли;
2 guitar_player
 
23.11.11
10:37
Написать так:

// Установим дату начала отчета
глТекущийПользователь = глЗначениеПеременной("глТекущийПользователь");
Если ЗначениеЗаполнено(глТекущийПользователь) Тогда
   ДатаНач = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глТекущийПользователь,"ОсновнаяДатаНачалаОтчетов");
КонецЕсли;
3 guitar_player
 
23.11.11
10:38
ЗначениеЗаполнено как это ни странно. Проверяет заполненность переданного параметра
4 Vika_22
 
23.11.11
10:41
(3) Я спросила по поводу этой функции, потому что в СП написано: "Функция проверяет, отличается ли переданное значение от значения по умолчанию того же типа.". Какое значение по умолчанию у Текущего пользователя?
5 Vika_22
 
23.11.11
10:41
(2) глТекущийПользователь = глЗначениеПеременной("глТекущийПользователь");
6 marvak
 
23.11.11
10:41
(0)
Обычно глТекущийПользователь это переменная расположенная в модуле обычного приложения. Пр начале работы как правило туда пишется ссылка на юзера, работающего в данном сеансе. Но у твоем случае ее может там и не быть, надо проверить,
А насчет мутабельности - эта функция неприменима к объектам, тока к ссылкам.
7 Vika_22
 
23.11.11
10:41
(5) Скажите, пожалуйста, а изменение конструкции связано с переходом с8.1 на 8.2?
8 Reset
 
23.11.11
10:43
(4) В данном случае конструкция означает примерно следующее:
"Если известен текущий пользователь, дату начала отчета возьмем из его настроек, если не известен, ничего не будем делать"
9 Reset
 
23.11.11
10:46
(8) Прогнал, простите, вопрос не об этом был
10 guitar_player
 
23.11.11
10:51
(4) значение по умолчание пустая ссылка, т.е. Справочники.Пользователи.ПустаяСсылка();
(7) я думаю, это связано, что во внешнем отчете эта переменная нигде не инициализирована. Конструкция не менялась. В типовых механизмах и раньше был такой подход
11 Vika_22
 
23.11.11
10:53
Спасибо всем!!!! Воспользовалась конструкцией (2)
Посмотрела модуль обычного приложения, там эта конструкция везде используется. Странно, что в отчете ей не воспользовались. Работал ли отчет раньше, сказать не могу, не я его писала)
(10) Возможно там и раньше была ошибка.
Скажите, а ЗначениеЗаполнено вообще где может использоваться, для проверки чего?
12 guitar_player
 
23.11.11
11:56
(11) Везде для проверки всего примитивного и ссылочного типа.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.