Содержание:
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 — тоже ничего
Тэги:
Комментарии доступны только авторизированным пользователям
Обновил БП, вылезла ошибка «Несоответствие типов» |
Я |
16.07.10 — 08:52
{ОбщийМодуль.ПолныеПрава(16)}: Ошибка при установке значения атрибута контекста (ПравилаРегистрацииОбъектов): Несоответствие типов
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;
Не понял, мне параметры сеанса менять? Впервые с таким багом сталкиваюсь..
1 — 16.07.10 — 08:53
ИмяПользователя = ИмяПользователя();
Если ПустаяСтрока(ИмяПользователя) Тогда
// пользователь не авторизовался
ИмяПользователя = «НеАвторизован»;
КонецЕсли;
ТекущийПользователь = Справочники.Пользователи.ПустаяСсылка();
Если НЕ ПустаяСтрока(ИмяПользователя) Тогда
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;
2 — 16.07.10 — 08:53
ПараметрыСеанса.ТекущийПользователь это и есть СправочникСсылка.Пользователи
3 — 16.07.10 — 08:54
что на что обновлял???
4 — 16.07.10 — 08:55
Релиз 1.6.25.5 на 1.6.25.6
5 — 16.07.10 — 08:56
Я сам глюк непонял — как несоответствие типов, если идет соответствие
6 — 16.07.10 — 08:58
Ап
7 — 16.07.10 — 09:00
отладчик же есть. Посмотри, чего там в этих полях.
8 — 16.07.10 — 09:00
значения атрибута контекста (ПравилаРегистрацииОбъектов)
9 — 16.07.10 — 09:00
план обмена?
10 — 16.07.10 — 09:02
(8) Вот я всю ошибку написал и продедуру:
Процедура УстановитьПараметрСеансаТекущийПользователь() Экспорт
ИмяПользователя = ИмяПользователя();
Если ПустаяСтрока(ИмяПользователя) Тогда
// пользователь не авторизовался
ИмяПользователя = «НеАвторизован»;
КонецЕсли;
ТекущийПользователь = Справочники.Пользователи.ПустаяСсылка();
Если НЕ ПустаяСтрока(ИмяПользователя) Тогда
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;
КонецПроцедуры
11 — 16.07.10 — 09:02
ПараметрыСеанса.ПравилаРегистрацииОбъектов ?
12 — 16.07.10 — 09:02
ПараметрыСеанса.ТекущийПользователь
13 — 16.07.10 — 09:03
Причем отладчиком смотрю — в ТекущийПользователь установлен текущий пользователь Оо
14 — 16.07.10 — 09:03
(13) клиент-сервер?
15 — 16.07.10 — 09:03
модуль сеанса зырь
16 — 16.07.10 — 09:04
(15) да
(15) непонял.. (с 8-кой на вы еще пока)
17 — 16.07.10 — 09:05
(16) вставай отладчиком и трассируй пока не вывалиться…
ибо сообщение об ошибки палевное какоето
18 — 16.07.10 — 09:07
Доступно и всерьез(с)
19 — 16.07.10 — 09:07
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
// инициализация параметра сеанса «ТекущийПользователь»
ПолныеПрава.УстановитьПараметрСеансаТекущийПользователь();
Вот сюда вот входит и далее сваливается
20 — 16.07.10 — 09:09
Причем в «ПараметрыСеанса.ТекущийПользователь» — установлен именно справочник пользователь, что за песня..
21 — 16.07.10 — 09:11
1.6.25.6 релиз у кого? Были подобные проблемы или нет?
22 — 16.07.10 — 09:13
(21) скорее всего накосячил в обновление
либо востанови бэкап и обнови
либо выгрузи в файловый и трассирую
либо переведи сервер в режим отладки и трассируй
23 — 16.07.10 — 09:14
Ужас на.
Полные права слетели не в полные — как страшно жить!
24 — 16.07.10 — 09:15
а это все кривые руки виноваты
25 — 16.07.10 — 09:15
(21) в 25.6 изменился только модуль персонифицированного учета. Всё остальное в точности совпадает с 25.5.
26 — 16.07.10 — 09:16
В общем ПараметрыСеанса.ТекущийПользователь не было прав писать в данный объект, всего навсего.
Всем спасибо — тема закрыта
27 — 16.07.10 — 09:16
(24) Так не было кривых рук, все по дефолту всегда ставилось, вообще не было изменений!
28 — 16.07.10 — 09:16
Правда если начальник ничего не менял..
29 — 16.07.10 — 09:35
Это была засада. Комментарий из БП ..25.6
«»
// В этом случае почитим в
«»
30 — 16.07.10 — 09:52
(29) Хахаха
31 — 16.07.10 — 09:52
// Процедура вызывается перед записью документа
//
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
// Посчитать суммы документа и записать ее в соответствующий реквизит шапки для показа в журналах
СуммаДокумента = УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект, «Товары»);
// В этом случае почитим в табличных частях поля НомерГТД и СтранаПроисхождения.
32 — 16.07.10 — 09:52
В 2-х местах встречаются, читеры блин..
DGorgoN
33 — 16.07.10 — 09:53
Реально в осадок выпал, оказалось в правах дело — ладно хоть догадался быстро
Здравствуйте!
Конфигурация 1С-Рарус: Комбинат питания, редакция 1 (01.0.10.01). При запуске выдает сообщение
http://piccy.info/view3/5073332/beb0a7aa12c47023f11e8d0b81963c27/
{МодульСеанса(94)}: Ошибка при установке значения атрибута контекста (НомерТекущегоСоединения)
ПараметрыСеанса.НомерТекущегоСоединения = НомерСоединенияИнформационнойБазы();
по причине:
Несоответствие типов
Происходит с периодичностью раз в 2-3 месяца.
В информационную базу зайти в режиме Предприятия не возможно,
[DIV]проблему решает рестарт операционной системы (Windows Server 2003 R2).
Остальные конфигурации (БП, ЗУП, УТ) запускаются нормально.
Если сталкивались — подскажите в чем может быть проблема и ее решение без ребута сервера?
Спасибо.
Утро доброе. Установил 1с на новый компьютер, захожу под любым пользователем, выдает такую ошибку: {МодульПриложения}: Ошибка при установке значения атрибута контекста (***): Несоответствие типов В инете, нашел подобную проблему, только, приравнивание идет к ТекущийПользователь. Там проблема решается чисткой профиля в windows. А как решить, данную, проблему? Комп находиться на расстоянии, профиль почищу, как доберусь, просто хотел узнать, может загвоздка в другом.
Компьютер=Неопределено у тебя скорее всего.
Хм, база одна на 20 компов, проблема только с этим. Неопределенность смотреть в том же модуле?
Смотри где определяется переменная Компьютер
Переменная Компьютер берется из запроса. Вот кусок кода:
Что будет, если Выборка.Следующий = Ложь?
На моем компе, ни чего не меняется =) На том, посмотреть не могу, плюс, если поменяю код, придется выгонять всех пользователей, что бы обновить, либо ждать, пока ночью обновиться.
Я же написал, что не могу проверить. У себя изменил, в тестовой, все работает.
может получится так, что в справочнике смсКомпьютеры нет наименования проблемного компьютера.
Думал над этим, только, почему программа его не добавляет.
А как, по другому, имя компьютера там появится? =) Перед этим, устанавливал на другие компьютеры 1с, делал все тоже самое — все работает. У меня есть подозрение, что не порядки с правами в винде. С админами сейчас поговорю, они как раз, в том здании, где комп.
[А как, по другому, имя компьютера там появится? =)] Например, пользователь руками создаст элемент справочника. Для это нужно запустить приложение в режиме 1с:Предприятие.
Сейчас попробую. Просто не делал ни когда такого, не требовалось.
Справочник заполняется программой. Таки думаю, что с правами косяк.
так есть в справочнике элемент с наименованием того компьютера?
В справочнике нет наименования. Зашел в другую базу, с этого же сервера — все работает (правда не создавал нового пользователя в этой базе, зашел под админом). Зашел в другую базу, с другого сервера — аналогично, все работает. Не работает одна единственная база, хотя, базы, у которых идентичный код, с неработающей и находящиеся на том же сервере, так же работают. Добавил в справочник наименование компьютера. Пойду смотреть.
Помогло добавление справочника. Не понятно, из-за чего сие чудо было.
[Помогло добавление справочника.] Ну вообще это очевидно сразу было — первым делом проверить есть ли в этом справочнике элемент с именем этого компьютера;)
Мысля то была, просто, при установки программы на новый комп и добавлении нового пользователя ни когда его не заполнял.
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям