|
Ошибка при установке значения атрибута контекста | ☑ | ||
---|---|---|---|---|
0
Jamiq
06.09.12
✎
09:13
|
Утро доброе. Установил 1с на новый компьютер, захожу под любым пользователем, выдает такую ошибку:
{МодульПриложения(182)}: Ошибка при установке значения атрибута контекста (***): Несоответствие типов ПараметрыСеанса.*** = Компьютер; В инете, нашел подобную проблему, только, приравнивание идет к ТекущийПользователь. Там проблема решается чисткой профиля в windows. А как решить, данную, проблему? Комп находиться на расстоянии, профиль почищу, как доберусь, просто хотел узнать, может загвоздка в другом. |
|||
1
Рэйв
06.09.12
✎
09:15
|
Компьютер=Неопределено у тебя скорее всего.
|
|||
2
Jamiq
06.09.12
✎
09:16
|
Хм, база одна на 20 компов, проблема только с этим.
Неопределенность смотреть в том же модуле? |
|||
3
Рэйв
06.09.12
✎
09:18
|
(2)Смотри где определяется переменная Компьютер
|
|||
4
Jamiq
06.09.12
✎
10:11
|
Переменная Компьютер берется из запроса.
Вот кусок кода: Если РольДоступна("смсПользователь") Тогда Если ПараметрыСеанса.смсТекущийКонтакт = Неопределено ИЛИ ПараметрыСеанса.смсТекущийКонтакт = NULL ИЛИ ПараметрыСеанса.смсТекущийКонтакт = Справочники.смсКонтактЛист.ПустаяСсылка() Тогда ПодключитьОбработчикОжидания("смсПроверитьСообщения" , 10); ПодключитьОбработчикОжидания("смсВыполнитьКомандуИзОчереди" , 20); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | смсКомпьютеры.Ссылка |ИЗ | Справочник.смсКомпьютеры КАК смсКомпьютеры |ГДЕ | смсКомпьютеры.Наименование = &Наименование"; Запрос.УстановитьПараметр("Наименование",ИмяКомпьютера() ); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Если Выборка.Следующий() Тогда Компьютер = Выборка.Ссылка; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | смсКонтактЛист.Ссылка |ИЗ | Справочник.смсКонтактЛист КАК смсКонтактЛист |ГДЕ | смсКонтактЛист.Код = &Код"; Запрос.УстановитьПараметр("Код",ИмяПользователя() ); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Если Выборка.Следующий() Тогда Контакт = Выборка.Ссылка; КонецЕсли; РегСв = РегистрыСведений.смсСтатусыКонтактов.СоздатьМенеджерЗаписи(); РегСв.Контакт = Контакт; РегСв.СтатусКонтакта = Перечисления.смсСтатусыКонтактов.Активен; РегСв.СостояниеСотрудника = Справочники.смсСостоянияСотрудника.Работает; РегСв.ЦелыйДень = Истина; РегСв.Период = ТекущаяДата(); РегСв.Компьютер = Компьютер; РегСв.Записать(); ПараметрыСеанса.смсТекущийКомпьютер = Компьютер; ПараметрыСеанса.смсТекущийКонтакт = Контакт; ПараметрыСеанса.смсРегистрироватьОбрабатыватьСобытия = Истина; ПараметрыСеанса.смсРегистрироватьСобытия = Истина; ПараметрыСеанса.смсИнтервалМеждуЗагрузками = 60; ПараметрыСеанса.смсИнтервалМеждуОперациями = 60; ФормаСпр = Справочники.смсКонтактЛист.ПолучитьФорму("ФормаКонтактЛист"); ФормаСпр.Открыть(); КонецЕсли; КонецЕсли; |
|||
5
ssh2006
06.09.12
✎
10:19
|
(4) Если Выборка.Следующий() Тогда
Компьютер = Выборка.Ссылка; КонецЕсли; Что будет, если Выборка.Следующий() = Ложь? |
|||
6
Jamiq
06.09.12
✎
10:34
|
На моем компе, ни чего не меняется =)
На том, посмотреть не могу, плюс, если поменяю код, придется выгонять всех пользователей, что бы обновить, либо ждать, пока ночью обновиться. |
|||
7
ssh2006
06.09.12
✎
10:36
|
(6) что насчет (5)?
|
|||
8
Jamiq
06.09.12
✎
10:42
|
Я же написал, что не могу проверить.
У себя изменил, в тестовой, все работает. |
|||
9
ssh2006
06.09.12
✎
10:44
|
(8) может получится так, что в справочнике смсКомпьютеры нет наименования проблемного компьютера.
|
|||
10
Jamiq
06.09.12
✎
10:45
|
Думал над этим, только, почему программа его не добавляет.
|
|||
11
ssh2006
06.09.12
✎
10:47
|
(10) куда?
|
|||
12
Jamiq
06.09.12
✎
10:47
|
в справочник
|
|||
13
ssh2006
06.09.12
✎
10:48
|
(12) должна добавлять?
|
|||
14
Jamiq
06.09.12
✎
10:52
|
А как, по другому, имя компьютера там появится? =)
Перед этим, устанавливал на другие компьютеры 1с, делал все тоже самое - все работает. У меня есть подозрение, что не порядки с правами в винде. С админами сейчас поговорю, они как раз, в том здании, где комп. |
|||
15
ssh2006
06.09.12
✎
10:56
|
(14) [А как, по другому, имя компьютера там появится? =)]
Например, пользователь руками создаст элемент справочника. Для это нужно запустить приложение в режиме 1с:Предприятие. |
|||
16
Jamiq
06.09.12
✎
10:59
|
(15) Сейчас попробую. Просто не делал ни когда такого, не требовалось.
|
|||
17
Jamiq
06.09.12
✎
11:18
|
http://s2.ipicture.ru/uploads/20120906/4hJSVglF.png
Справочник заполняется программой. Таки думаю, что с правами косяк. |
|||
18
ssh2006
06.09.12
✎
12:11
|
(0) так есть в справочнике элемент с наименованием того компьютера?
|
|||
19
Jamiq
06.09.12
✎
14:15
|
В справочнике нет наименования.
Зашел в другую базу, с этого же сервера - все работает (правда не создавал нового пользователя в этой базе, зашел под админом). Зашел в другую базу, с другого сервера - аналогично, все работает. Не работает одна единственная база, хотя, базы, у которых идентичный код, с неработающей и находящиеся на том же сервере, так же работают. Добавил в справочник наименование компьютера. Пойду смотреть. |
|||
20
Jamiq
06.09.12
✎
14:58
|
Помогло добавление справочника.
Не понятно, из-за чего сие чудо было. |
|||
21
ssh2006
06.09.12
✎
15:12
|
(20) [Помогло добавление справочника.]
Ну вообще это очевидно сразу было - первым делом проверить есть ли в этом справочнике элемент с именем этого компьютера;) |
|||
22
Jamiq
06.09.12
✎
15:25
|
(21) Мысля то была, просто, при установки программы на новый комп и добавлении нового пользователя ни когда его не заполнял.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |