Ошибка при получении значения атрибута контекста (ТекущийПользователь)
bless18 |
|
||
---|---|---|---|
|
Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь; по причине: Попытка получения неинициализированного значения параметра сеансаКод 1C v 8.х
Где происходит их инициализация? |
Yandex |
|
||
---|---|---|---|
E_Migachev |
|
||
---|---|---|---|
Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
так же в процедуре ПриНачалеРаботыСистемы пишешь что то типо: Код 1C v 8.х
Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код |
bless18 |
|
||
---|---|---|---|
А если не совпадают, можно как-нибудб привязать пользователя к сотруднику? |
E_Migachev |
|
||
---|---|---|---|
А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса)
В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают: Код 1C v 8.х
Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы. Ну а дальше подставлять сопоставленное значение при создании соответствующего документа: Код 1C v 8.х
События модуля сеанса: |
bless18 |
|
||
---|---|---|---|
Спасибо вам огромное! Вы мне очень помогли! |
bless18 |
|
||
---|---|---|---|
Спасибо вам огромное! Вы мне очень помогли! |
E_Migachev |
|
||
---|---|---|---|
Пожалуйста |
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку |
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Обновил БП, вылезла ошибка «Несоответствие типов» |
Я |
DGorgoN
16.07.10 — 08:52
{ОбщийМодуль.ПолныеПрава(16)}: Ошибка при установке значения атрибута контекста (ПравилаРегистрацииОбъектов): Несоответствие типов
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;
Не понял, мне параметры сеанса менять? Впервые с таким багом сталкиваюсь..
DGorgoN
1 — 16.07.10 — 08:53
ИмяПользователя = ИмяПользователя();
Если ПустаяСтрока(ИмяПользователя) Тогда
// пользователь не авторизовался
ИмяПользователя = «НеАвторизован»;
КонецЕсли;
ТекущийПользователь = Справочники.Пользователи.ПустаяСсылка();
Если НЕ ПустаяСтрока(ИмяПользователя) Тогда
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;
DGorgoN
2 — 16.07.10 — 08:53
ПараметрыСеанса.ТекущийПользователь это и есть СправочникСсылка.Пользователи
bazvan
3 — 16.07.10 — 08:54
что на что обновлял???
DGorgoN
4 — 16.07.10 — 08:55
Релиз 1.6.25.5 на 1.6.25.6
DGorgoN
5 — 16.07.10 — 08:56
Я сам глюк непонял — как несоответствие типов, если идет соответствие
DGorgoN
6 — 16.07.10 — 08:58
Ап
hhhh
7 — 16.07.10 — 09:00
отладчик же есть. Посмотри, чего там в этих полях.
Дикообразко
8 — 16.07.10 — 09:00
значения атрибута контекста (ПравилаРегистрацииОбъектов)
Дикообразко
9 — 16.07.10 — 09:00
план обмена?
DGorgoN
10 — 16.07.10 — 09:02
(8) Вот я всю ошибку написал и продедуру:
Процедура УстановитьПараметрСеансаТекущийПользователь() Экспорт
ИмяПользователя = ИмяПользователя();
Если ПустаяСтрока(ИмяПользователя) Тогда
// пользователь не авторизовался
ИмяПользователя = «НеАвторизован»;
КонецЕсли;
ТекущийПользователь = Справочники.Пользователи.ПустаяСсылка();
Если НЕ ПустаяСтрока(ИмяПользователя) Тогда
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;
КонецПроцедуры
Дикообразко
11 — 16.07.10 — 09:02
ПараметрыСеанса.ПравилаРегистрацииОбъектов ?
DGorgoN
12 — 16.07.10 — 09:02
ПараметрыСеанса.ТекущийПользователь
DGorgoN
13 — 16.07.10 — 09:03
Причем отладчиком смотрю — в ТекущийПользователь установлен текущий пользователь Оо
Дикообразко
14 — 16.07.10 — 09:03
(13) клиент-сервер?
Дикообразко
15 — 16.07.10 — 09:03
модуль сеанса зырь
DGorgoN
16 — 16.07.10 — 09:04
(15) да
(15) непонял.. (с 8-кой на вы еще пока)
Дикообразко
17 — 16.07.10 — 09:05
(16) вставай отладчиком и трассируй пока не вывалиться…
ибо сообщение об ошибки палевное какоето
kitt
18 — 16.07.10 — 09:07
Доступно и всерьез(с)
DGorgoN
19 — 16.07.10 — 09:07
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
// инициализация параметра сеанса «ТекущийПользователь»
ПолныеПрава.УстановитьПараметрСеансаТекущийПользователь();
Вот сюда вот входит и далее сваливается
DGorgoN
20 — 16.07.10 — 09:09
Причем в «ПараметрыСеанса.ТекущийПользователь» — установлен именно справочник пользователь, что за песня..
DGorgoN
21 — 16.07.10 — 09:11
1.6.25.6 релиз у кого? Были подобные проблемы или нет?
Дикообразко
22 — 16.07.10 — 09:13
(21) скорее всего накосячил в обновление
либо востанови бэкап и обнови
либо выгрузи в файловый и трассирую
либо переведи сервер в режим отладки и трассируй
DGorgoN
23 — 16.07.10 — 09:14
Ужас на.
Полные права слетели не в полные — как страшно жить!
Дикообразко
24 — 16.07.10 — 09:15
а это все кривые руки виноваты
hhhh
25 — 16.07.10 — 09:15
(21) в 25.6 изменился только модуль персонифицированного учета. Всё остальное в точности совпадает с 25.5.
DGorgoN
26 — 16.07.10 — 09:16
В общем ПараметрыСеанса.ТекущийПользователь не было прав писать в данный объект, всего навсего.
Всем спасибо — тема закрыта
DGorgoN
27 — 16.07.10 — 09:16
(24) Так не было кривых рук, все по дефолту всегда ставилось, вообще не было изменений!
DGorgoN
28 — 16.07.10 — 09:16
Правда если начальник ничего не менял..
DailyLookingOnSunset
29 — 16.07.10 — 09:35
Это была засада. Комментарий из БП ..25.6
«»
// В этом случае почитим в
«»
DGorgoN
30 — 16.07.10 — 09:52
(29) Хахаха
DGorgoN
31 — 16.07.10 — 09:52
// Процедура вызывается перед записью документа
//
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
// Посчитать суммы документа и записать ее в соответствующий реквизит шапки для показа в журналах
СуммаДокумента = УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект, «Товары»);
// В этом случае почитим в табличных частях поля НомерГТД и СтранаПроисхождения.
DGorgoN
32 — 16.07.10 — 09:52
В 2-х местах встречаются, читеры блин..
DGorgoN
33 — 16.07.10 — 09:53
Реально в осадок выпал, оказалось в правах дело — ладно хоть догадался быстро
Ошибка при получении значения атрибута контекста (ТекущийПользователь)
bless18 |
|
||
---|---|---|---|
Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Где происходит их инициализация? |
Yandex |
|
||
---|---|---|---|
E_Migachev |
|
||
---|---|---|---|
Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код |
bless18 |
|
||
---|---|---|---|
А если не совпадают, можно как-нибудб привязать пользователя к сотруднику? |
E_Migachev |
|
||
---|---|---|---|
А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса) В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают: Код 1C v 8.х
Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы. Ну а дальше подставлять сопоставленное значение при создании соответствующего документа: Код 1C v 8.х
События модуля сеанса: |
bless18 |
|
||
---|---|---|---|
Спасибо вам огромное! Вы мне очень помогли! |
bless18 |
|
||
---|---|---|---|
Спасибо вам огромное! Вы мне очень помогли! |
E_Migachev |
|
||
---|---|---|---|
Пожалуйста |
Подсказка: Для быстрого поиска ответов — используйте ‘Поиск’ |
Программа 1С 8.2 После обновления релиза с 2.0.65.38 на 39 не открывается база с текстом
{Общий Модуль. Полные Права. Модуль(22)}: Ошибка при установке значения атрибута контекста (ИспользоватьОграниченияПравДоступаНаУровнеЗаписей)
ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = Константы.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей.Получить();
по причине:
Несоответствие типов
В конфигураторе открывается на строке:
Процедура УстановитьИзменяемыеПараметрыСеансаПользователя(Интерактивно = Ложь, Текст Результата = “”) Экспорт
ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = Константы.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей.Получить();
Текст Результата = Текст Результата + ” – обновлены данные прав доступа” + Символы.ПС;
Запрос = Новый Запрос;
Запрос. Установить Параметр(“Текущий Пользователь”, ПараметрыСеанса.ТекущийПользователь);
// Группы Текущего Пользователя
Запрос.Текст =
“ВЫБРАТЬ
| Справочник.ГруппыПользователей.Ссылка КАК Значение
|ИЗ
| Справочник. Группы Пользователей
|ГДЕ
| Справочник.ГруппыПользователей.ПользователиГруппы.Пользователь = &Текущий Пользователь
|”;
Массив = Запрос.Выполнить().Выгрузить().Выгрузить Колонку(“Значение”);
Массив.Добавить(Справочники.ГруппыПользователей.ВсеПользователи);
ПараметрыСеанса.ГруппыТекущегоПользователя = Новый Фиксированный Массив(Массив);
Текст Результата = Текст Результата + ” – обновлен состав групп текущего пользователя” + Символы.ПС;
УстановитьПараметрГраницыЗапретаИзмененияДанных();
Текст Результата = Текст Результата + ” – обновлены даты запрета изменения данных” + Символы.ПС;
// инициализация параметров сеанса, связанных с механизмом РИБ:
// ПрефиксУзлаРаспределеннойИнформационнойБазы, НаличиеОбменаДаннымиПоОрганизации
// Все Узлы Обмена По Организациям, СоответствиеОрганизацийИУзловОбменаПоОрганизации
// Использование РИБ
ОпределитьПараметрыСеансаДляОбменаДанными();
Текст Результата = Текст Результата + ” – обновлены параметры распределенной информационной базы” + Символы.ПС;
Параметры Сеанса. Общие Значения = Новый Хранилище Значения(Новый Структура);
Текст Результата = Текст Результата + ” – сброшен кэш значений текущего сеанса” + Символы.ПС;
УстановитьПараметрСеансаТекущиеУчетныеЗаписиНалогоплательщика();
Текст Результата = Текст Результата + ” – обновлен список учетных записей налогоплательщика, доступных текущему пользователю” + Символы.ПС;
Конец Процедуры
База ни разу не свертывалась с 2011 г. Файл .dt выгружается. Возможно ли восстановить базу в рабочее состояние?
Оцените, пожалуйста, данный вопрос:
Загрузка…
Дата публикации: Авг 5, 2016
Поставьте вашу оценку этой статье:
Загрузка…
{ОбщийМодуль.ПолныеПрава(1225)}: Ошибка при установке значения атрибута контекста (ПрефиксУзлаРаспределеннойИнформационнойБазы): Несоответствие типов ПараметрыСеанса.ПрефиксУзлаРаспределеннойИнформационнойБазы = Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить; по причине:
посмотреть какой тип у ПараметрыСеанса.ПрефиксУзлаРаспределеннойИнформационнойБазы и что храниться в Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы по идеи и там и там должна быть строка. судя по ошибке это не так.
у обоих — тип «строка», длина 3, допустимая длина «переменная», неограниченная длина «флага нет»
что выдает отладчик на Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить
у константы еще выбран «Автоматический режим управления блокировкой данных в транзакции по умолчанию», есть управляемый
подскажите пожалуйста, как запустить отладку, чтобы был результат? (установил «останавливаться на ошибках» — это все?)
Ошибка времени выполнения {ОбщийМодуль.ПолныеПрава(1225)}: Ошибка при установке значения атрибута контекста (ПрефиксУзлаРаспределеннойИнформационнойБазы): несоответствие типов в модуле ОбщийМодуль.ПолныеПрава, строка 1225
ПараметрыСеанса.ПрефиксУзлаРаспределеннойИнформационнойБазы = Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить;
поставить брекпоинт на эту строку (ф9 в конфигураторе) когда оно там тормознется выделить мышой Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить и нажать шифт ф9. если там не строка а какаято лажа то надо бы поправить
стал выдавать вот-это: Ошибка СУБД: Не удалось зафиксировать таблицу для чтения ‘CONFIG’ по причине: Не удалось зафиксировать таблицу для чтения ‘CONFIG’
а вот тот же фокус с Параметром сеанса выдает: {}: Ошибка при получении значения атрибута контекста (ПрефиксУзлаРаспределеннойИнформационнойБазы): Попытка получения неинициализированного значения параметра сеанса
может это как-то связано с защитой (у меня CRM интегрирована в УПП), сверил с рабочим cf — тоже ничего
Тэги:
Комментарии доступны только авторизированным пользователям
26.11.13 — 14:19
Вот решил посмотреть сабж, но не могу никак запустить. Выдает ошибку:
Платформа: 1С:Предприятие 8.3 (8.3.4.346)
Конфигурация: Управление торговлей, редакция 11.1 (11.1.4.5) (http://v8.1c.ru/trade/)
Copyright © ООО «1C», 2003-2013. Все права защищены
(http://www.1c.ru)
Режим: Файловый (без сжатия)
Приложение: Толстый клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Версия 8.2
Ошибки:
———————————————————————————
26.11.2013 17:18:28
{ОбщийМодуль.СтандартныеПодсистемыВызовСервера.Модуль(35)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)
Если ПараметрыСеанса.ПараметрыКлиентаНаСервере.Количество() = 0 Тогда
по причине:
Попытка получения неинициализированного значения параметра сеанса
1 — 26.11.13 — 14:23
ясно
2 — 26.11.13 — 14:23
(1) +1
3 — 26.11.13 — 14:24
афигенный релиз:)
4 — 26.11.13 — 14:29
Собственно из-за вот этого полез смотреть:
Добавлена функциональность бонусных программ лояльности.
-Бонусные программы лояльности предполагают начисление бонусных баллов, которые могут быть использованы для оплаты покупок.
-Бонусные баллы начисляются на карту лояльности клиента.
-При оплате покупки бонусные баллы пересчитываются в определенную сумму в соответствии с указанным для них курсом конвертации.
-При начислении и оплате бонусными баллами могут применяться различные ограничения: оплатить можно только определенные товары, сумма оплаты бонусами не должна превышать определенный процент от всей покупки, оплата покупки бонусами ограничена определенным сроком и т.д.
5 — 26.11.13 — 14:34
ухтыж, сделали все-таки бонусы…
ну ради такого можно снять с поддержки и инициализировать параметр сеанса:)
6 — 26.11.13 — 14:41
11.1.4.4 точно заускается
7 — 26.11.13 — 15:01
Новый объект: ПланОбмена.ИнтеграцияС1СДокументооборотом
Новый объект: Документ.АктПриемкиКлиентом
Новый объект: Документ.КорректировкаНалогообложенияНДСПартийТоваров
Новый объект: Перечисление.ВариантыДействийПоРасхождениямВАктеПриемкеКлиента
Новый объект: Перечисление.СпособыОтраженияРасхожденийАктПриемкиКлиента
Новый объект: Перечисление.СтатусыАктаПриемкиКлиента
Новый объект: Константа.ИспользоватьАктыПриемкиКлиентом
Новый объект: Константа.ИспользоватьБюджетирование
Новый объект: РегистрНакопления.ПланыОплатКлиентов
Новый объект: РегистрНакопления.ПланыОплатПоставщикам
8 — 26.11.13 — 15:07
Обновил до 11.1.4.5, подтверждаю, ошибка релиза
{ОбщийМодуль.СтандартныеПодсистемыВызовСервера.Модуль(35)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)
Если ПараметрыСеанса.ПараметрыКлиентаНаСервере.Количество() = 0 Тогда
по причине:
Попытка получения неинициализированного значения параметра сеанса
Попытка получения неинициализированного значения параметра сеанса
9 — 26.11.13 — 15:14
(0) ппц они там совсем что ли не проверяют ничего
10 — 26.11.13 — 15:16
(0) не иначе от толстого клиента уже отказываются )
11 — 26.11.13 — 15:17
(10) Кто-то определенно получит по шапке.
12 — 26.11.13 — 15:28
(0) в модуль сеанса добавь одну процедуру, забыли параметры инициализировать, ничего страшного, тестовый релиз
13 — 26.11.13 — 15:28
(10) так в тонком изапускаем
14 — 26.11.13 — 15:28
(0) остальное работает
15 — 26.11.13 — 15:31
(14) это вопрос или утверждение
16 — 26.11.13 — 15:31
(0) в модуле сеанса добавь одну процедуру из прошлого релиза
17 — 26.11.13 — 16:20
(12) Ну раз уж написал, выложи для всех!
18 — 26.11.13 — 16:31
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса)
// СтандартныеПодсистемы
СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);
// Конец СтандартныеПодсистемы
КонецПроцедуры
#КонецЕсли
19 — 27.11.13 — 09:52
(13) в (0) указано … Приложение: толстый клиент….
20 — 27.11.13 — 13:45
(19) а прием тут это? У меня в тонком клиенте та же ошибка
21 — 27.11.13 — 14:37
Как утверждают разрабы, это связанно с ошибкой платформы.
22 — 27.11.13 — 14:43
(21) т.е. платформа при старте похерила кусок кода? Или в (18) были костыли для обхода бага платформы?
23 — 27.11.13 — 14:51
(22) похоже сравнение конфигураций криво работает. Постоянно какие-то глюки возникают, и в 8.2 тоже. А до 8.2.13 работало практически идеально.
24 — 27.11.13 — 14:54
(23)+ у меня вот в точности такой глюк был вчера, в 8.2, при обновлении БП. Это же: ПараметрыКлиентаНаСервере. Сравнил с конфигурацией поставщика: отличаются три модуля. Заменил, ошибка с параметрами сеанса исчезла.
25 — 27.11.13 — 14:59
(22) при обновлении код херится.
26 — 27.11.13 — 15:29
Т.е. желательно иметь последний CF и накатывать методом загрузки конфигурации?
kotofeich1
27 — 29.11.13 — 11:44
(18) Большое спасибо!)
ПараметрыСеанса – ФиксированныйМассив видит только отладчик
Автор Deulin, 28 мая 2017, 08:50
0 Пользователей и 1 гость просматривают эту тему.
Чувствую себя идиотом.
Запускаю систему и при попытке прочитать уже инициализированный в прошлом сеансе ПараметрСеанса типа ФиксированныйМассив
выдаёт:
«Ошибка при получении атрибута контекста…»
Строка такая:
МассивГрупп[Индекс] = ПараметрыСеанса.ТекущиеГруппы.Получить(Индекс)
Параметр видится в отладчике, но очень хитрым способом!
Если вычислить выражение (шифт+F9) «ПараметрыСеанса.ТекущиеГруппы.Получить(Индекс)» или «ПараметрыСеанса.ТекущиеГруппы»
то получаем такую же ошибку.
(остальные параметры – не ФиксированныеМассивы – вычисляются нормально)
НО если сначала вычислить выражение (шифт+F9) «ПараметрыСеанса», то параметр заполнен и все данные верные.
Самое смешное, что после этого вычисления уже без проблем вычисляются(шифт+F9) «ПараметрыСеанса.ТекущиеГруппы.Получить(Индекс)»
и просто «ПараметрыСеанса.ТекущиеГруппы»
Вторые сутки уже пошли, весь стол в песке из глаз.
Друзья, ПАМАГИТЕ ПОЖАЛУЙСТА!
Хочешь стать профессионалом, общайся с ними.
В принципе можно при каждом запуске инициировать этот параметр и тогда он нормально читается, но «библия» подобные выходки осуждает:
https://its.1c.ru/db/metod8dev#content:3435:hdoc
Добавлено: 28 мая 2017, 12:34
ПолныеПрава тоже не дают эффекта.
Вариант работы Клиент-Сервер.
На сервере включена отладка.
Добавлено: 28 мая 2017, 12:39
Не в Модуле на сервере не в МодулеСеанса параметры сеанса типа ФиксированныйМассив получить невозможноui;;t;
Пожалуйста, если у кого-нибудь хоть раз в жизни получится прочитать ФиксированныйМассив из ПараметровСеанса, напишите сюда
Добавлено: 28 мая 2017, 12:56
УстановитьПривилегированныйРежим() тоже не помогает, если чё.
Хочешь стать профессионалом, общайся с ними.
Хочешь стать профессионалом, общайся с ними.