Ошибка при получении значения атрибута контекста (ТекущийПользователь)
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 — тоже ничего
Тэги:
Комментарии доступны только авторизированным пользователям
|
|||
bestuzhev
26.11.13 — 14:19 |
Вот решил посмотреть сабж, но не могу никак запустить. Выдает ошибку:
Ошибки: |
||
Ерепень
1 — 26.11.13 — 14:23 |
ясно |
||
dj_serega
2 — 26.11.13 — 14:23 |
(1) +1 |
||
grayshadow
3 — 26.11.13 — 14:24 |
афигенный релиз:) |
||
bestuzhev
4 — 26.11.13 — 14:29 |
Собственно из-за вот этого полез смотреть: |
||
grayshadow
5 — 26.11.13 — 14:34 |
ухтыж, сделали все-таки бонусы… |
||
Aleksey
6 — 26.11.13 — 14:41 |
11.1.4.4 точно заускается |
||
Aleksey
7 — 26.11.13 — 15:01 |
Новый объект: ПланОбмена.ИнтеграцияС1СДокументооборотом
Новый объект: Константа.ИспользоватьАктыПриемкиКлиентом
Новый объект: РегистрНакопления.ПланыОплатКлиентов |
||
Aleksey
8 — 26.11.13 — 15:07 |
Обновил до 11.1.4.5, подтверждаю, ошибка релиза
{ОбщийМодуль.СтандартныеПодсистемыВызовСервера.Модуль(35)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере) |
||
y22-k
9 — 26.11.13 — 15:14 |
(0) ппц они там совсем что ли не проверяют ничего |
||
Aprobator
10 — 26.11.13 — 15:16 |
(0) не иначе от толстого клиента уже отказываются ) |
||
dj_serega
11 — 26.11.13 — 15:17 |
(10) Кто-то определенно получит по шапке. |
||
saaken
12 — 26.11.13 — 15:28 |
(0) в модуль сеанса добавь одну процедуру, забыли параметры инициализировать, ничего страшного, тестовый релиз |
||
Aleksey
13 — 26.11.13 — 15:28 |
(10) так в тонком изапускаем |
||
saaken
14 — 26.11.13 — 15:28 |
(0) остальное работает |
||
Aleksey
15 — 26.11.13 — 15:31 |
(14) это вопрос или утверждение |
||
saaken
16 — 26.11.13 — 15:31 |
(0) в модуле сеанса добавь одну процедуру из прошлого релиза |
||
bestuzhev
17 — 26.11.13 — 16:20 |
(12) Ну раз уж написал, выложи для всех! |
||
saaken
18 — 26.11.13 — 16:31 |
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса) #КонецЕсли |
||
Aprobator
19 — 27.11.13 — 09:52 |
(13) в (0) указано … Приложение: толстый клиент…. |
||
Aleksey
20 — 27.11.13 — 13:45 |
(19) а прием тут это? У меня в тонком клиенте та же ошибка |
||
Trucker
21 — 27.11.13 — 14:37 |
Как утверждают разрабы, это связанно с ошибкой платформы. |
||
Aleksey
22 — 27.11.13 — 14:43 |
(21) т.е. платформа при старте похерила кусок кода? Или в (18) были костыли для обхода бага платформы? |
||
hhhh
23 — 27.11.13 — 14:51 |
(22) похоже сравнение конфигураций криво работает. Постоянно какие-то глюки возникают, и в 8.2 тоже. А до 8.2.13 работало практически идеально. |
||
hhhh
24 — 27.11.13 — 14:54 |
(23)+ у меня вот в точности такой глюк был вчера, в 8.2, при обновлении БП. Это же: ПараметрыКлиентаНаСервере. Сравнил с конфигурацией поставщика: отличаются три модуля. Заменил, ошибка с параметрами сеанса исчезла. |
||
Trucker
25 — 27.11.13 — 14:59 |
(22) при обновлении код херится. |
||
Aleksey
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
УстановитьПривилегированныйРежим() тоже не помогает, если чё.
Хочешь стать профессионалом, общайся с ними.
Хочешь стать профессионалом, общайся с ними.