Ошибка при получении значения атрибута контекста текущийпользователь

Ошибка при получении значения атрибута контекста (ТекущийПользователь)

bless18
06.04.2010 09:32 Прочитано: 51444

Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеансаКод 1C v 8.х

 Процедура ПриНачалеРаботыСистемы()
Пользователь = ПараметрыСеанса.ТекущийПользователь;
Если обЗначениеНеЗаполнено(Пользователь.Сотрудник) Тогда
ИмяПользователя = СокрЛП(Пользователь.Наименование);
Иначе
ИмяПользователя = СокрЛП(Пользователь.Сотрудник.Наименование);
КонецЕсли;
Предупреждение("Здравствуйте уважаемый пользователь """+ИмяПользователя+"""
|Система готова к работе.", 3);
КонецПроцедуры

Где происходит их инициализация?

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
06.04.2010 09:48 Ответ № 1

Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
так же в процедуре ПриНачалеРаботыСистемы пишешь что то типо:
Код 1C v 8.х

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

Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код

bless18
06.04.2010 09:56 Ответ № 2

А если не совпадают, можно как-нибудб привязать пользователя к сотруднику?

E_Migachev
06.04.2010 09:57 Ответ № 3

А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса)

В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают:

Код 1C v 8.х

 Процедура УстановкаПараметровСеанса()
Спр = Справочники.Сотрудники;
ПараметрыСеанса.ТекущийПользователь=Спр.НайтиПоРеквизиту("Пользователь1С", ИмяПользователя());
КонецПроцедуры
//где Пользователь1С, это реквизит справочника сотрудники, и именем как вбито в конфигураторе

Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы.

Ну а дальше подставлять сопоставленное значение при создании соответствующего документа:

Код 1C v 8.х

  Док.Пользователь=ПараметрыСеанса.Пользователь;   

События модуля сеанса:
Глобальный контекст
УстановкаПараметровСеанса (SessionParametersSetting)
Синтаксис:
УстановкаПараметровСеанса(<Требуемые параметры>)
Параметры:
<Требуемые параметры>
Тип: Массив; Неопределено. Массив устанавливаемых идентификаторов параметров сеанса, которые нужно инициализировать, если обработчик вызывается перед использованием неинициализированных параметров сеанса.
Неопределено, если обработчик события вызывается системой при начале сеанса или при захвате соединения из пула.
Описание:
Событие предназначено для инициализации параметров сеанса.
Вызывается системой:
при установке соединения с информационной базой или при захвате соединения с информационной базой из пула до вызова всех остальных обработчиков. Значение параметра «Параметры сеанса» — Неопределено;
перед фактическим использованием значений параметров сеанса, которые не были инициализированы ранее. В этом случае значением параметра «Параметры сеанса» является массив идентификаторов неинициализированных параметров сеанса, значения которых используются. Если после выполнения обработчика хотя бы один из перечисленных параметров сеанса остается неинициализированным, то возникает исключение.

bless18
06.04.2010 12:13 Ответ № 4

Спасибо вам огромное! Вы мне очень помогли!

bless18
06.04.2010 12:15 Ответ № 5

Спасибо вам огромное! Вы мне очень помогли!

E_Migachev
06.04.2010 15:44 Ответ № 6

Пожалуйста )

Подсказка: Для быстрого поиска ответов — используйте ‘Поиск’

Ошибка при получении значения атрибута контекста (ТекущийПользователь)

bless18
06.04.2010 09:32 Прочитано: 49823

Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеансаКод 1C v 8.х

 Процедура ПриНачалеРаботыСистемы()
Пользователь = ПараметрыСеанса.ТекущийПользователь;
Если обЗначениеНеЗаполнено(Пользователь.Сотрудник) Тогда
ИмяПользователя = СокрЛП(Пользователь.Наименование);
Иначе
ИмяПользователя = СокрЛП(Пользователь.Сотрудник.Наименование);
КонецЕсли;
Предупреждение("Здравствуйте уважаемый пользователь """+ИмяПользователя+"""
|Система готова к работе.", 3);
КонецПроцедуры

Где происходит их инициализация?

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
06.04.2010 09:48 Ответ № 1

Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
так же в процедуре ПриНачалеРаботыСистемы пишешь что то типо:
Код 1C v 8.х

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

Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код

bless18
06.04.2010 09:56 Ответ № 2

А если не совпадают, можно как-нибудб привязать пользователя к сотруднику?

E_Migachev
06.04.2010 09:57 Ответ № 3

А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса)

В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают:

Код 1C v 8.х

 Процедура УстановкаПараметровСеанса()
Спр = Справочники.Сотрудники;
ПараметрыСеанса.ТекущийПользователь=Спр.НайтиПоРеквизиту("Пользователь1С", ИмяПользователя());
КонецПроцедуры
//где Пользователь1С, это реквизит справочника сотрудники, и именем как вбито в конфигураторе

Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы.

Ну а дальше подставлять сопоставленное значение при создании соответствующего документа:

Код 1C v 8.х

  Док.Пользователь=ПараметрыСеанса.Пользователь;   

События модуля сеанса:
Глобальный контекст
УстановкаПараметровСеанса (SessionParametersSetting)
Синтаксис:
УстановкаПараметровСеанса(<Требуемые параметры>)
Параметры:
<Требуемые параметры>
Тип: Массив; Неопределено. Массив устанавливаемых идентификаторов параметров сеанса, которые нужно инициализировать, если обработчик вызывается перед использованием неинициализированных параметров сеанса.
Неопределено, если обработчик события вызывается системой при начале сеанса или при захвате соединения из пула.
Описание:
Событие предназначено для инициализации параметров сеанса.
Вызывается системой:
при установке соединения с информационной базой или при захвате соединения с информационной базой из пула до вызова всех остальных обработчиков. Значение параметра «Параметры сеанса» — Неопределено;
перед фактическим использованием значений параметров сеанса, которые не были инициализированы ранее. В этом случае значением параметра «Параметры сеанса» является массив идентификаторов неинициализированных параметров сеанса, значения которых используются. Если после выполнения обработчика хотя бы один из перечисленных параметров сеанса остается неинициализированным, то возникает исключение.

bless18
06.04.2010 12:13 Ответ № 4

Спасибо вам огромное! Вы мне очень помогли!

bless18
06.04.2010 12:15 Ответ № 5

Спасибо вам огромное! Вы мне очень помогли!

E_Migachev
06.04.2010 15:44 Ответ № 6

Пожалуйста )

Подсказка: Для редактирования своего ответа щелкните по значку (справа)

  

TolstiyBeremenniy

30.10.18 — 04:18

Выявлена проблема с обновлением конфигурации УПП 1.3.110.3.

Обновление идет с конфигурации Enterprise_1_3_106_1.

Так как не хватает ресурсов сервере, на релиз 1.3.106.1,

было загруженно обновление Enterprise_1_3_109_1.

Заранее подготовленное.

Потом оно было обновленно на 1.3.110.3.

были произведены все обновления и сохранения на этот релиз.

Но, сейчас при запуске обновленной конфигурации 1.3.110.3

выдается ошибка:

{ОбщийМодуль.ПолныеПрава.Модуль(707)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

{ОбщийМодуль.ПолныеПрава.Модуль(707)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

{МодульСеанса(24)}: Слишком много фактических параметров

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

Что с ней можно сделать?

  

TolstiyBeremenniy

1 — 30.10.18 — 04:19

(0+) То есть в самом коде ошибки нет.

Но она выдается.

  

TolstiyBeremenniy

2 — 30.10.18 — 04:34

Я не знаю что делать. Из за чего идет такая ошибка?

Как её исправлять?

  

Пробел

3 — 30.10.18 — 04:37

Попробуйте почистить кэш.

  

TolstiyBeremenniy

4 — 30.10.18 — 04:40

Вот в этой процедуре, не видим ТекущийПользователь

  

TolstiyBeremenniy

5 — 30.10.18 — 04:58

(3) Я почистил, удалил все каталоги с кракозябрами

из каталогов Local и Roaming.

Что то ещё нужно сделать?

  

Случайный прохожий

6 — 30.10.18 — 05:10

Конфигуратор не предлагать? :)

  

TolstiyBeremenniy

7 — 30.10.18 — 05:14

(6) там не срабатывает точка останова!

Сразу из конфигуратора запускается предприятие

и выходит ошибка!!!!!

  

TolstiyBeremenniy

8 — 30.10.18 — 05:15

Сейчас вот такая ошибка стала выходить, —

{МодульСеанса(24)}: Слишком много фактических параметров

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

{МодульСеанса(24)}: Слишком много фактических параметров

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

на процедуру.

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)

    

    Если ТребуемыеПараметры = Неопределено Тогда

        // раздел «безусловной» инициализации параметров сеанса

        
        ПолныеПрава.УстановитьПараметрыМеханизмаОграниченияПравДоступа();

        
    Иначе        

        
        УстановленныеПараметры = Новый Структура;

        

        Для Каждого ИмяПараметра ИЗ ТребуемыеПараметры Цикл

            УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры);

        КонецЦикла;

        
    КонецЕсли;

    

    // СтандартныеПодсистемы

    СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ТребуемыеПараметры);

    // Конец СтандартныеПодсистемы

    

    // ЕГАИС

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

    // Конец ЕГАИС

    
    ПараметрыСеанса.УдаляемыйДокумент = Неопределено;

    
КонецПроцедуры

  

TolstiyBeremenniy

9 — 30.10.18 — 05:16

Что запускается в самом начале при старте УПП.

Почему не останавливается на точке останова?

  

Пробел

10 — 30.10.18 — 05:22

похоже кривое обновление. В 1.3.106 ИнтеграцияЕГАИС.УстановитьПараметрыСеанса выглядит так:

// Выполняет установку параметров сеанса. Вызывается из модуля сеанса.

//

Процедура УстановитьПараметрыСеанса(ТребуемыеПараметры) Экспорт

    

    Если ТипЗнч(ТребуемыеПараметры) <> Тип(«Массив») Тогда

        Возврат;

    КонецЕсли;

    

    Для Каждого ИмяПараметра Из ТребуемыеПараметры Цикл

        Если ИмяПараметра = «ИдентификаторСеансаЕГАИС» Тогда

            ПараметрыСеанса.ИдентификаторСеансаЕГАИС = Новый УникальныйИдентификатор;

        КонецЕсли;

    КонецЦикла;

    
КонецПроцедуры

Попробуйте заменить эту процедуру процедурой из конфигурации поставщика.

А отладка у Вас, возможно, не работает из-за того, что в командной строке агента сервера не указан debug

  

TolstiyBeremenniy

11 — 30.10.18 — 05:23

(10) обычное приложение. Там тоже нужен debug?

  

Михаил Иванович

12 — 30.10.18 — 05:33

Похоже ТС это ливингстар.

  

Пробел

13 — 30.10.18 — 05:35

(11) а, ну да. Должно отлаживаться без дебага.

  

Пробел

14 — 30.10.18 — 05:39

Я бы поднял бэкап и повторил цепочку обновлений, аккуратно и вдумчиво. Если ошибка вылезла при старте системы, то другие ошибки могут вылезти вообще где угодно.

  

TolstiyBeremenniy

15 — 30.10.18 — 05:41

(14) Проблема в том что это не реально.

Сервер не дает ресурсы.

  

TolstiyBeremenniy

16 — 30.10.18 — 05:46

(14)

Так а если релизы

Enterprise_1_3_106_1

Enterprise_1_3_107_1

Enterprise_1_3_108_2

Enterprise_1_3_109_1

все запустились?

а Enterprise_1_3_110_3 нет. почему проблема в релизе 1_3_106_1 ?

  

НоваяВолна

17 — 30.10.18 — 05:48

(16) да пересоздай ты уже пользователя и не парься…

  

Пробел

18 — 30.10.18 — 05:49

(16) тогда возьмите 109 и обновите на 110. При сравнении-объединении обратите особое внимание на общий модуль «ИнтеграцияЕГАИС».

  

TolstiyBeremenniy

19 — 30.10.18 — 05:52

(18) Я пока делал через поддержка. Обновить конфигурацию.

  

НоваяВолна

20 — 30.10.18 — 05:52

(19) упссс … это интересно. Неужели?

  

TolstiyBeremenniy

21 — 30.10.18 — 05:57

(20) Да, а почему интересно?

Автоматическое обновление типовых релизов.

  

TolstiyBeremenniy

22 — 30.10.18 — 06:09

(18) Да тут не в этом дело.

Обновление прошло. И я сверил процедуры.

В типовом 1.3.106.1 и 1.3.110.3, они идентичны.

Дело в том что Ругается на текущего пользователя.

он же всегда должен быть в параметрах сеанса!

а если обычное приложение, почему не работает отладка?

  

Mankubus

23 — 30.10.18 — 06:13

(1) как это  в коде нет ошибки? В процедуре может быть только 1 параметр, а в неё передаётся 2 параметра

  

TolstiyBeremenniy

24 — 30.10.18 — 06:14

Или все же нужен debug на сервере?

Открыл файловую версию, там запускается отладка. А тут нет.

  

TolstiyBeremenniy

25 — 30.10.18 — 06:16

Подскажите как именно включить debug ?

  

НоваяВолна

26 — 30.10.18 — 06:30

  

TolstiyBeremenniy

27 — 30.10.18 — 07:43

А почему могло быть что Enterprise_1_3_109_1 релиз

запустился.

А на 1.3.110.3. стали выходить ошибки?

Пока на сервере не запустить отладку.

Я выгрузил .cf в файловую базу и там тоже есть в журнале ошибки.

Просматривал их через журнал регистрации, —

{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(88)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

{ОбщийМодуль.ПолныеПрава.Модуль(641)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(88)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

{ОбщийМодуль.ПолныеПрава.Модуль(641)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

{МодульСеанса(24)}: Слишком много фактических параметров

Обновление информационной базы на версию «1.3.110.3» завершилось с ошибками:

{(1)}: Метод объекта не обнаружен (ЗаполнитьВходящиеДокументыНастроек)

Справочники.СоглашенияОбИспользованииЭД.ЗаполнитьВходящиеДокументыНастроек()

  

Lexey_

28 — 30.10.18 — 07:45

(12) да, это ливингстар

Содержание:

1.       Ошибка при установке значения атрибута контекста

2.       Ошибка при получении значения атрибута контекста

Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.  

1.    Ошибка при установке значения атрибута контекста

Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута. 

Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.  

2.    Ошибка при получении значения атрибута контекста

Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.

При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).  

Специалист компании «Кодерлайн»

Александр Суворов

September 13 2016, 22:08

Category:

  • Общество
  • Cancel

_ИнспекторПоКадрам
На основе Подсистемы Кадры / ... — Выгрузил в описание и по тем же объектом проставил права
Настроил Интерфейс — тоже на основе Подсистемы
В Пользователях выбрать Интерфейс, Права, указать режим запуска — Обычное приложение (если Обычное)
Все роли открываются: Роли / Все роли.

Выдает: У текущего пользователя нет доступных ролей, для запуска информационной базы.
Раньше был Пользователь (права), теперь надо выбирать Бухгалтера, но он дает слишком много прав.
Ибо Общий модуль Управление пользователями

Процедура ПроверитьВозможностьРаботыПользователя(Отказ) Экспорт

Если НЕ РольДоступна(«ПолныеПрава») И НЕ РольДоступна(«Бухгалтер») Тогда
//_Отказ = Истина;
#Если Клиент Тогда
//_Предупреждение(«У текущего пользователя нет доступных ролей, для запуска информационной базы.«, 10, «Недостаточно прав доступа»);
#КонецЕсли
КонецЕсли;
КонецПроцедуры

Потом включаем объекты, какие надо (документы — по отбору нужной Подсистемы, остальные можно вообще все включить)

Вызывается из Модуль обычного приложения / ПередНачаломРаботыСистемы()
Можно закомментить или еще как-то обойти: //_ УправлениеПользователями.ПроверитьВозможностьРаботыПользователя(Отказ);
Пишут про RLS (Record Level Security) или ограничение прав на уровне записи… но пока не до того
Выдает нарушение прав доступа из-за Модуля Обычного приложения:  ПервыйЗапуск = (Константы.НомерВерсииКонфигурации.Получить()=»»);
Еще и вылетает после этого…
Поставить у константы право Просмотр (заодно и Чтение ставится)

{МодульОбычногоПриложения(100)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
Если Не ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь) Тогда
по причине:
Нарушение прав доступа!
добавить ТекущийПользователь в ПараметрыСеанса, сэр (link) — еще —
Ставим Общие  / Параметры сеанса / Текущий пользователь — все права.

{МодульОбычногоПриложения(119)}: Ошибка при вызове метода контекста (Получить)
Если Константы.ПрименяемыеСистемыНалогообложения.Получить() = Перечисления.ПрименяемыеСистемыНалогообложения.УпрощеннаяСистемаНалогообложения Тогда
по причине:
Нарушение прав доступа!
Ставим права на все Константы Просмотр-Чтение.

{ОбщийМодуль.ОбщегоНазначения.Модуль(6881)}: Ошибка при вызове метода контекста (Выполнить)РезультатЗапроса = Запрос.Выполнить();
по причине: Недостаточно прав для работы с таблицей «Справочник.ВнешниеОбработки»
Ставим права на Справочники: Внешние обработки, Организации

МенеджерЗаписи в модуле Общего приложения:
{ОбщийМодуль.УправлениеПользователями.Модуль(135)}: Ошибка при вызове метода контекста (Записать)
МенеджерЗаписи.Записать(Истина);
по причине:
Нарушение прав доступа!
Это вот: МенеджерЗаписи = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи(); Стаим права на него
Опять параметры сеанса!… в окне (роли / Все роли) ставим на все …
Планы видов характеристик … Настройки пользователей …  на
Уже при запуске …

{МодульОбычногоПриложения(569)}: Ошибка при вызове метода контекста (ПолучитьФорму)
Форма = Обработки.ДополнительнаяИнформация.ПолучитьФорму(«ФормаРабочийСтол»);
по причине:
Нарушение прав доступа!
Справочник. Внешние обработки
На все обработки ставим

{ВнешняяОбработка.ИнтернетПоддержкаПользователей.МодульОбъекта(2041)}: Ошибка при вызове метода контекста (Следующий)
Пока Выборка.Следующий() Цикл
по причине: Нарушение прав доступа!
Можно конечно, до ума довести, но…  Короче, судя по всему, надо ставить права бухгалтера а уже потом убирать не нужные

Не работает с 1с 8.2 Бухгалтерия

Модераторы: Дмитрий Юхтимовский, Лысиков Денис

Не работает с 1с 8.2 Бухгалтерия

Не работает с 1с 8.2 Бухгалтерия Версия 3.0, а 2.0 работает. После объедения выдает ошибку {ОбщийМодуль.ПользователиКлиентСервер.Модуль(22)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
Возврат ?(ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь),
по причине:
Попытка получения неинициализированного значения параметров

tanksod
 
Сообщений: 9
Зарегистрирован: 24 фев 2014, 12:38

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение Лысиков Денис » 27 фев 2014, 13:16

Здравствуйте! Проверьте каким образом Вы объединили модуль сеанса. Не удалили ли Вы оттуда типовые процедуры по инициализации параметров сеансов.

Лысиков Денис
 
Сообщений: 86
Зарегистрирован: 11 фев 2013, 21:46

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение tanksod » 27 фев 2014, 14:42

теперь вышла ошибка.
МодульСеанса(11,7)}: Переменная не определена (ТребуемыеПараметры)
Если <<?>>ТребуемыеПараметры = Неопределено ИЛИ ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда (Проверка: Сервер)
{МодульСеанса(11,45)}: Переменная не определена (ТребуемыеПараметры)
Если ТребуемыеПараметры = Неопределено ИЛИ <<?>>ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда (Проверка: Сервер)
сам модуль сеанса
// СтандартныеПодсистемы
СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);
// Конец СтандартныеПодсистемы
// АПДЕКС

Если ТребуемыеПараметры = Неопределено ИЛИ ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда
ХранилищеЗначения = Новый ХранилищеЗначения(Новый Соответствие);
ПараметрыСеанса.APDEX_ТекущийЗамерВремени = ХранилищеЗначения;

APDEX_Настройки = APDEX_ОценкаПроизводительностиСерверВызовСервера.ПолучитьНастройки();
APDEX_НастройкиЗамеров = Новый Структура;
APDEX_НастройкиЗамеров.Вставить(«APDEX_ОтключитьЗамер»,APDEX_Настройки.APDEX_ОтключитьЗамер);
APDEX_НастройкиЗамеров.Вставить(«APDEX_МинимальноеВремяЗамера»,APDEX_Настройки.APDEX_МинимальноеВремяЗамера);
APDEX_НастройкиЗамеров.Вставить(«APDEX_ИдентификаторБазыAPDEX»,APDEX_Настройки.APDEX_ИдентификаторБазыAPDEX);
APDEX_НастройкиЗамеров.Вставить(«APDEX_СпособЗаписиЗамеров»,APDEX_Настройки.APDEX_СпособЗаписиЗамеров);

ПараметрыСеанса.APDEX_НастройкиЗамеров = Новый ФиксированнаяСтруктура(APDEX_НастройкиЗамеров);
КонецЕсли;

tanksod
 
Сообщений: 9
Зарегистрирован: 24 фев 2014, 12:38

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение Лысиков Денис » 28 фев 2014, 09:11

Если в типовой процедуре модуля сеансов не используется переменная ТребуемыеПараметры. тогда вообще удалите условие «Если ТребуемыеПараметры = Неопределено ИЛИ ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда» оставьте только следующий код:

ХранилищеЗначения = Новый ХранилищеЗначения(Новый Соответствие);
ПараметрыСеанса.APDEX_ТекущийЗамерВремени = ХранилищеЗначения;

APDEX_Настройки = APDEX_ОценкаПроизводительностиСерверВызовСервера.ПолучитьНастройки();
APDEX_НастройкиЗамеров = Новый Структура;
APDEX_НастройкиЗамеров.Вставить(«APDEX_ОтключитьЗамер»,APDEX_Настройки.APDEX_ОтключитьЗамер);
APDEX_НастройкиЗамеров.Вставить(«APDEX_МинимальноеВремяЗамера»,APDEX_Настройки.APDEX_МинимальноеВремяЗамера);
APDEX_НастройкиЗамеров.Вставить(«APDEX_ИдентификаторБазыAPDEX»,APDEX_Настройки.APDEX_ИдентификаторБазыAPDEX);
APDEX_НастройкиЗамеров.Вставить(«APDEX_СпособЗаписиЗамеров»,APDEX_Настройки.APDEX_СпособЗаписиЗамеров);

ПараметрыСеанса.APDEX_НастройкиЗамеров = Новый ФиксированнаяСтруктура(APDEX_НастройкиЗамеров);

Лысиков Денис
 
Сообщений: 86
Зарегистрирован: 11 фев 2013, 21:46

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение tanksod » 03 мар 2014, 09:46

спасибо большое. помагло :)

tanksod
 
Сообщений: 9
Зарегистрирован: 24 фев 2014, 12:38


Вернуться в APDEX — статистика длительности операций

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Проблема с аутентификацией и сохранеия пароли на устройствах с ОC IOS я написал в первой части статьи здесь .

Проблема в том, что клиентское приложение почты на iPhone и iPad в отличии от смартфонов не сохраняют параметры входа и каждый раз запрашивают их у пользователя для передачи на веб-сервер в HTTP-запросе

Форма ввода имени и пароля в програме почты на iPhone и iPad

Такое поведение неудобно когда нужно часто ображаться к веб-серверу для получения данных или выполнения операции через НТТР запросы, .например, согласование платежей

Попытка исползования OpenID-аутентификации с целью обойти эту проблему я описал во вторй части статьи здесь. Но ничего не получилось – программа “почта” все время запрашивает у пользователя имя и пароль для отправки к веб – серверу через НТТР запрос

В этой третьей части я описываю методику, с помощью которой мне удалось обойти эту проблему.

Суть методики в том, что нужно опубликовать только http-сервис в отдельном файле публикации и добавить в нем специальный анонимный пользователь 1С .Таким образом веб – сервер не затребует у клиентского приложения передать имя и пароль .

Порядок работы

1. Публикация http-сервис в отдельной публикации

С помощью диалога публикации в конфигурации информационной базы   не нужно опубликовать тонкий клиент , веб-клиент , а также стандартный интерфейс Odata и все веб – сервисе на закладке веб-сервисы .

  На закладке НТТР сервисы  публиковать  НТТР сервис.  В моем приложение 1С : согласование я создал только один один НТТР сервис –  Установка статуса заявки

После нажатия опубликовать нужно редактировать файл  публикации default.vrd с помощью простого текстового редактора Блокнот или Notepad

Фрагмент файла публикации default.vrd

В этом файле нужно найти тег ib =  и довавить   user =UserHttp; pwd = 123

Этот ползователь UserHttp  я добавил предворительно в базу данных, установил пароль 123   и дал ему полные права . Однако не показываю в списке выбора :

Внимание! Если имя и пароль в этом файле не соответствует пользователю 1С  , то при обращении к сервису будет выдана ошибка при получении значения атрибута контекста (ТекущийПользователь). и обработать случай, когда  параметры входа, которые заданные в файле не соответствуют  ни одному пользователю . Поэтому если будете изменять пароль  у пользователя usrHttp  в базе данных, то нужно также менять его в файле публикации.

Для обращения НТТР сервису через Agreement не нужно авторизоваться. Все сделает пользователь usrHttp :

При попытке запускать веб –клиент на  Agreement браузер выдает сообщение:

2. Создать еще один файл публикации

Я назвал имя базы WAgreement и сохранил в другом каталоге.  В файле публикации  WAgreement  я опубликовал тонький клиент и веб-клиент потому, что я буду использовать WAgreement для запуска тонкого клиента и веб -клиента .

Файл публикации  WAgreement не нужно редактировать!!!!!

Для запуска веб- приложения нужно теперь обращаться к WAgreement, но при этом нужно авторизоваться :

   TolstiyBeremenniy

30.10.18 — 04:18

Выявлена проблема с обновлением конфигурации УПП 1.3.110.3.

Обновление идет с конфигурации Enterprise_1_3_106_1.

Так как не хватает ресурсов сервере, на релиз 1.3.106.1,

было загруженно обновление Enterprise_1_3_109_1.

Заранее подготовленное.

Потом оно было обновленно на 1.3.110.3.

были произведены все обновления и сохранения на этот релиз.

Но, сейчас при запуске обновленной конфигурации 1.3.110.3

выдается ошибка:

{ОбщийМодуль.ПолныеПрава.Модуль(707)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

{ОбщийМодуль.ПолныеПрава.Модуль(707)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Запрос.УстановитьПараметр(«ТекущийПользователь», ПараметрыСеанса.ТекущийПользователь);

{МодульСеанса(24)}: Слишком много фактических параметров

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

Что с ней можно сделать?

   TolstiyBeremenniy

1 — 30.10.18 — 04:19

(0+) То есть в самом коде ошибки нет.

Но она выдается.

   TolstiyBeremenniy

2 — 30.10.18 — 04:34

Я не знаю что делать. Из за чего идет такая ошибка?

Как её исправлять?

   Пробел

3 — 30.10.18 — 04:37

Попробуйте почистить кэш.

   TolstiyBeremenniy

4 — 30.10.18 — 04:40

Вот в этой процедуре, не видим ТекущийПользователь

   TolstiyBeremenniy

5 — 30.10.18 — 04:58

(3) Я почистил, удалил все каталоги с кракозябрами

из каталогов Local и Roaming.

Что то ещё нужно сделать?

   Случайный прохожий

6 — 30.10.18 — 05:10

Конфигуратор не предлагать? :)

   TolstiyBeremenniy

7 — 30.10.18 — 05:14

(6) там не срабатывает точка останова!

Сразу из конфигуратора запускается предприятие

и выходит ошибка!!!!!

   TolstiyBeremenniy

8 — 30.10.18 — 05:15

Сейчас вот такая ошибка стала выходить, —

{МодульСеанса(24)}: Слишком много фактических параметров

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

{МодульСеанса(24)}: Слишком много фактических параметров

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

на процедуру.

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)

    
    Если ТребуемыеПараметры = Неопределено Тогда

        // раздел «безусловной» инициализации параметров сеанса

        
        ПолныеПрава.УстановитьПараметрыМеханизмаОграниченияПравДоступа();

        
    Иначе        

        
        УстановленныеПараметры = Новый Структура;

        
        Для Каждого ИмяПараметра ИЗ ТребуемыеПараметры Цикл

            УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры);

        КонецЦикла;

        
    КонецЕсли;

    
    // СтандартныеПодсистемы

    СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ТребуемыеПараметры);

    // Конец СтандартныеПодсистемы

    
    // ЕГАИС

     ИнтеграцияЕГАИС.УстановитьПараметрыСеанса(«ИдентификаторСеансаЕГАИС», УстановленныеПараметры);

    // Конец ЕГАИС

    
    ПараметрыСеанса.УдаляемыйДокумент = Неопределено;

    
КонецПроцедуры

   TolstiyBeremenniy

9 — 30.10.18 — 05:16

Что запускается в самом начале при старте УПП.

Почему не останавливается на точке останова?

   Пробел

10 — 30.10.18 — 05:22

похоже кривое обновление. В 1.3.106 ИнтеграцияЕГАИС.УстановитьПараметрыСеанса выглядит так:

// Выполняет установку параметров сеанса. Вызывается из модуля сеанса.

//

Процедура УстановитьПараметрыСеанса(ТребуемыеПараметры) Экспорт

    
    Если ТипЗнч(ТребуемыеПараметры) <> Тип(«Массив») Тогда

        Возврат;

    КонецЕсли;

    
    Для Каждого ИмяПараметра Из ТребуемыеПараметры Цикл

        Если ИмяПараметра = «ИдентификаторСеансаЕГАИС» Тогда

            ПараметрыСеанса.ИдентификаторСеансаЕГАИС = Новый УникальныйИдентификатор;

        КонецЕсли;

    КонецЦикла;

    
КонецПроцедуры

Попробуйте заменить эту процедуру процедурой из конфигурации поставщика.

А отладка у Вас, возможно, не работает из-за того, что в командной строке агента сервера не указан debug

   TolstiyBeremenniy

11 — 30.10.18 — 05:23

(10) обычное приложение. Там тоже нужен debug?

   Михаил Иванович

12 — 30.10.18 — 05:33

Похоже ТС это ливингстар.

   Пробел

13 — 30.10.18 — 05:35

(11) а, ну да. Должно отлаживаться без дебага.

   Пробел

14 — 30.10.18 — 05:39

Я бы поднял бэкап и повторил цепочку обновлений, аккуратно и вдумчиво. Если ошибка вылезла при старте системы, то другие ошибки могут вылезти вообще где угодно.

   TolstiyBeremenniy

15 — 30.10.18 — 05:41

(14) Проблема в том что это не реально.

Сервер не дает ресурсы.

   TolstiyBeremenniy

16 — 30.10.18 — 05:46

(14)

Так а если релизы

Enterprise_1_3_106_1

Enterprise_1_3_107_1

Enterprise_1_3_108_2

Enterprise_1_3_109_1

все запустились?

а Enterprise_1_3_110_3 нет. почему проблема в релизе 1_3_106_1 ?

   НоваяВолна

17 — 30.10.18 — 05:48

(16) да пересоздай ты уже пользователя и не парься…

   Пробел

18 — 30.10.18 — 05:49

(16) тогда возьмите 109 и обновите на 110. При сравнении-объединении обратите особое внимание на общий модуль «ИнтеграцияЕГАИС».

   TolstiyBeremenniy

19 — 30.10.18 — 05:52

(18) Я пока делал через поддержка. Обновить конфигурацию.

   НоваяВолна

20 — 30.10.18 — 05:52

(19) упссс … это интересно. Неужели?

   TolstiyBeremenniy

21 — 30.10.18 — 05:57

(20) Да, а почему интересно?

Автоматическое обновление типовых релизов.

   TolstiyBeremenniy

22 — 30.10.18 — 06:09

(18) Да тут не в этом дело.

Обновление прошло. И я сверил процедуры.

В типовом 1.3.106.1 и 1.3.110.3, они идентичны.

Дело в том что Ругается на текущего пользователя.

он же всегда должен быть в параметрах сеанса!

а если обычное приложение, почему не работает отладка?

   Mankubus

23 — 30.10.18 — 06:13

(1) как это  в коде нет ошибки? В процедуре может быть только 1 параметр, а в неё передаётся 2 параметра

   TolstiyBeremenniy

24 — 30.10.18 — 06:14

Или все же нужен debug на сервере?

Открыл файловую версию, там запускается отладка. А тут нет.

   TolstiyBeremenniy

25 — 30.10.18 — 06:16

Подскажите как именно включить debug ?

   НоваяВолна

26 — 30.10.18 — 06:30

   TolstiyBeremenniy

27 — 30.10.18 — 07:43

А почему могло быть что Enterprise_1_3_109_1 релиз

запустился.

А на 1.3.110.3. стали выходить ошибки?

Пока на сервере не запустить отладку.

Я выгрузил .cf в файловую базу и там тоже есть в журнале ошибки.

Просматривал их через журнал регистрации, —

{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(88)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

{ОбщийМодуль.ПолныеПрава.Модуль(641)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

{ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль(88)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

по причине:

{МодульСеанса(24)}: Слишком много фактических параметров

        Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда

{ОбщийМодуль.ПолныеПрава.Модуль(641)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)

{МодульСеанса(24)}: Слишком много фактических параметров

Обновление информационной базы на версию «1.3.110.3» завершилось с ошибками:

{(1)}: Метод объекта не обнаружен (ЗаполнитьВходящиеДокументыНастроек)

Справочники.СоглашенияОбИспользованииЭД.ЗаполнитьВходящиеДокументыНастроек()

  

Lexey_

28 — 30.10.18 — 07:45

(12) да, это ливингстар

Содержание:

1.       Ошибка при установке значения атрибута контекста

2.       Ошибка при получении значения атрибута контекста

Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.  

1.    Ошибка при установке значения атрибута контекста

Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута. 

Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.  

2.    Ошибка при получении значения атрибута контекста

Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.

При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).  

Специалист компании «Кодерлайн»

Александр Суворов

Не работает с 1с 8.2 Бухгалтерия

Модераторы: Дмитрий Юхтимовский, Лысиков Денис

Не работает с 1с 8.2 Бухгалтерия

Не работает с 1с 8.2 Бухгалтерия Версия 3.0, а 2.0 работает. После объедения выдает ошибку {ОбщийМодуль.ПользователиКлиентСервер.Модуль(22)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
Возврат ?(ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь),
по причине:
Попытка получения неинициализированного значения параметров

tanksod
 
Сообщений: 9
Зарегистрирован: 24 фев 2014, 12:38

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение Лысиков Денис » 27 фев 2014, 13:16

Здравствуйте! Проверьте каким образом Вы объединили модуль сеанса. Не удалили ли Вы оттуда типовые процедуры по инициализации параметров сеансов.

Лысиков Денис
 
Сообщений: 86
Зарегистрирован: 11 фев 2013, 21:46

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение tanksod » 27 фев 2014, 14:42

теперь вышла ошибка.
МодульСеанса(11,7)}: Переменная не определена (ТребуемыеПараметры)
Если <<?>>ТребуемыеПараметры = Неопределено ИЛИ ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда (Проверка: Сервер)
{МодульСеанса(11,45)}: Переменная не определена (ТребуемыеПараметры)
Если ТребуемыеПараметры = Неопределено ИЛИ <<?>>ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда (Проверка: Сервер)
сам модуль сеанса
// СтандартныеПодсистемы
СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);
// Конец СтандартныеПодсистемы
// АПДЕКС

Если ТребуемыеПараметры = Неопределено ИЛИ ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда
ХранилищеЗначения = Новый ХранилищеЗначения(Новый Соответствие);
ПараметрыСеанса.APDEX_ТекущийЗамерВремени = ХранилищеЗначения;

APDEX_Настройки = APDEX_ОценкаПроизводительностиСерверВызовСервера.ПолучитьНастройки();
APDEX_НастройкиЗамеров = Новый Структура;
APDEX_НастройкиЗамеров.Вставить(«APDEX_ОтключитьЗамер»,APDEX_Настройки.APDEX_ОтключитьЗамер);
APDEX_НастройкиЗамеров.Вставить(«APDEX_МинимальноеВремяЗамера»,APDEX_Настройки.APDEX_МинимальноеВремяЗамера);
APDEX_НастройкиЗамеров.Вставить(«APDEX_ИдентификаторБазыAPDEX»,APDEX_Настройки.APDEX_ИдентификаторБазыAPDEX);
APDEX_НастройкиЗамеров.Вставить(«APDEX_СпособЗаписиЗамеров»,APDEX_Настройки.APDEX_СпособЗаписиЗамеров);

ПараметрыСеанса.APDEX_НастройкиЗамеров = Новый ФиксированнаяСтруктура(APDEX_НастройкиЗамеров);
КонецЕсли;

tanksod
 
Сообщений: 9
Зарегистрирован: 24 фев 2014, 12:38

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение Лысиков Денис » 28 фев 2014, 09:11

Если в типовой процедуре модуля сеансов не используется переменная ТребуемыеПараметры. тогда вообще удалите условие «Если ТребуемыеПараметры = Неопределено ИЛИ ТребуемыеПараметры.Найти(«APDEX_НастройкиЗамеров»)<>Неопределено Тогда» оставьте только следующий код:

ХранилищеЗначения = Новый ХранилищеЗначения(Новый Соответствие);
ПараметрыСеанса.APDEX_ТекущийЗамерВремени = ХранилищеЗначения;

APDEX_Настройки = APDEX_ОценкаПроизводительностиСерверВызовСервера.ПолучитьНастройки();
APDEX_НастройкиЗамеров = Новый Структура;
APDEX_НастройкиЗамеров.Вставить(«APDEX_ОтключитьЗамер»,APDEX_Настройки.APDEX_ОтключитьЗамер);
APDEX_НастройкиЗамеров.Вставить(«APDEX_МинимальноеВремяЗамера»,APDEX_Настройки.APDEX_МинимальноеВремяЗамера);
APDEX_НастройкиЗамеров.Вставить(«APDEX_ИдентификаторБазыAPDEX»,APDEX_Настройки.APDEX_ИдентификаторБазыAPDEX);
APDEX_НастройкиЗамеров.Вставить(«APDEX_СпособЗаписиЗамеров»,APDEX_Настройки.APDEX_СпособЗаписиЗамеров);

ПараметрыСеанса.APDEX_НастройкиЗамеров = Новый ФиксированнаяСтруктура(APDEX_НастройкиЗамеров);

Лысиков Денис
 
Сообщений: 86
Зарегистрирован: 11 фев 2013, 21:46

Re: Не работает с 1с 8.2 Бухгалтерия

Сообщение tanksod » 03 мар 2014, 09:46

спасибо большое. помагло :)

tanksod
 
Сообщений: 9
Зарегистрирован: 24 фев 2014, 12:38


Вернуться в APDEX — статистика длительности операций

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Понравилась статья? Поделить с друзьями:
  • Ошибка при получении значения атрибута контекста текущиеданные
  • Ошибка при получении значения атрибута контекста сумма
  • Ошибка при получении значения атрибута контекста результат
  • Ошибка при получении значения атрибута контекста рабочееместоклиента
  • Ошибка при получении значения атрибута контекста путькданным