|
И снова значение не является значением объектного типа | ☑ | ||
---|---|---|---|---|
0
baziza
01.10.15
✎
10:18
|
Всем доброго утра! Появляется соответствующая ошибка "Значение не является значением объектного типа (Информация).
Функция ИнформацияОбОтклоняемомИнциденте(Инцидент) Экспорт Информация = Новый Структура("Дата, Ответственный, Автор, Тема", ТекущаяДата(), ПараметрыСеанса.ТекущийПользователь, Неопределено, Неопределено); Если ТипЗнч(Инцидент) = Тип("ДокументСсылка.прОбращение") Тогда СтруктураРеквизитов = БСП_ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Инцидент, "Наименование, Автор"); Информация.Автор = СтруктураРеквизитов.Автор; Информация.Тема = СтруктураРеквизитов.Наименование; ИначеЕсли ТипЗнч(Инцидент) = Тип("ДокументСсылка.БСП_ЭлектронноеПисьмоВходящее") Тогда СтруктураРеквизитов = БСП_ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Инцидент, "Тема, Ответственный, ОтправительАдрес"); Если Не ЗначениеЗаполнено(СтруктураРеквизитов.Ответственный) Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("Адрес", СокрЛП(СтруктураРеквизитов.ОтправительАдрес)); Запрос.Текст = "ВЫБРАТЬ | Пользователи.Ссылка КАК Пользователь |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи | ПО КонтактнаяИнформация.Объект = Пользователи.ФизЛицо |ГДЕ | КонтактнаяИнформация.Представление ПОДОБНО &Адрес"; Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда СтруктураРеквизитов.Автор = Справочники.Пользователи.ПустаяСсылка(); КонецЕсли; КонецЕсли; Информация.Автор = СтруктураРеквизитов.Автор; Информация.Тема = СтруктураРеквизитов.Наименование; КонецЕсли; Возврат Информация; КонецФункции Функция ТекстОповещенияОбОтклоненномИнциденте(Инцидент, ИнформацияОбОтклоняемомИнциденте) Экспорт Макет = РегистрыСведений.су_Оповещения.ПолучитьМакет("Макет"); Шаблон = Макет.ПолучитьТекст(); МассивОбластей = БСП_СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Шаблон, "--//--"); ТекстШапки = МассивОбластей[0]; ТекстШапки = СтрЗаменить(ТекстШапки, "{Автор}", ИнформацияОбОтклоняемомИнциденте.Информация.Автор); ТекстШапки = СтрЗаменить(ТекстШапки, "{Ответственный}", ИнформацияОбОтклоняемомИнциденте.Информация.Ответственный); ТекстШапки = СтрЗаменить(ТекстШапки, "{ДатаПринятияВРаботу}", ИнформацияОбОтклоняемомИнциденте.Информация.Дата); Комментарий = РегистрыСведений.су_Оповещения.ТекстКомментариев(Инцидент); Если Не ПустаяСтрока(Комментарий) Тогда ТекстШапки = ТекстШапки + "<h2>Комментарий исполнителя</h2>" + Символы.ПС; ТекстШапки = ТекстШапки + Комментарий + Символы.ПС; КонецЕсли; ТекстШапки = ТекстШапки + "<h2>Текст обращения</h2>" + Символы.ПС; ТекстШапки = ТекстШапки + Комментарий + Символы.ПС; ТекстПодвала = МассивОбластей[2]; Возврат ТекстШапки + ТекстПодвала; КонецФункции В этом месте: ИнформацияОбОтклоняемомИнциденте.Информация.Автор. Подскажите какая запись здесь будет правильной для автора, ответственного и даты? |
|||
1
Nuobu
01.10.15
✎
10:21
|
ИнформацияОбОтклоняемомИнциденте.Информация.Ответственный
ИнформацияОбОтклоняемомИнциденте.Ответственный |
|||
2
baziza
01.10.15
✎
10:25
|
Выдает ту же ошибку.
|
|||
3
Cyberhawk
01.10.15
✎
10:26
|
Такой текст ошибки говорит о том, что значение СЛЕВА от того слова, что в скобках, не позволяет брать через точку то, что в скобках
|
|||
4
hhhh
01.10.15
✎
10:41
|
какую ошибку выдает ИнформацияОбОтклоняемомИнциденте.Ответственный ??
|
|||
5
baziza
01.10.15
✎
10:42
|
(4) Ту же самую
|
|||
6
Nuobu
01.10.15
✎
10:43
|
(5) Ты уверен, что ругается именно на эту строку?
|
|||
7
Fish
01.10.15
✎
10:43
|
(5) А что отладчик говорит?
|
|||
8
hhhh
01.10.15
✎
10:46
|
(5) прямо на слово "Информация"? гонишь.
|
|||
9
hhhh
01.10.15
✎
10:47
|
(5) так во всех трех строчках убери это дебильное слово "Информация". Откуда ты вообще его откопал?
|
|||
10
baziza
01.10.15
✎
10:47
|
(7) Теперь это
{ОбщийМодуль.су_ОповещенияСервер.Модуль(3758)}: Значение не является значением объектного типа (Автор) ТекстШапки = СтрЗаменить(ТекстШапки, "{Автор}", ИнформацияОбОтклоняемомИнциденте.Автор); |
|||
11
Nuobu
01.10.15
✎
10:51
|
(10) Автор - слово из интернациональных букв и вполне может быть, что одна из букв - английская)).
Напиши его ручками везде - и в ф-и заполнения и в своей. |
|||
12
hhhh
01.10.15
✎
10:54
|
(10) ну покажите, где вызов этой Функции ТекстОповещенияОбОтклоненномИнциденте() ??
там ведь ошибка. А то что вы выложили - тут нет вызова этой функции. |
|||
13
baziza
01.10.15
✎
10:56
|
(11) Не в этом дело, тем не менее написание проверил. Даже если закомментить строку с автором начинает ругаться на след. с ответственным.
|
|||
14
hhhh
01.10.15
✎
10:59
|
(13) ну тогда ничем не сможем вамм помочь. Раз вы как партизан скрываете, откуда берется переменная ИнформацияОбОтклоняемомИнциденте. Тут экстрасенс нужен.
|
|||
15
baziza
01.10.15
✎
10:59
|
(12) Да, кстати. Возможно упустил важный кусок, где наверняка наворочил с переменными. Процедуру приведенную ниже я вызываю в другом модуле, в ней записано обращение к функциям, приведенным выше.
Процедура ОтправитьОповещениеОбОтклоненииИнцидента(Инцидент, КомментарийОтклонения)Экспорт Информация = ИнформацияОбОтклоняемомИнциденте(Инцидент); Информация1 = ТемаОповещенияОбОтклоненномИнциденте(Инцидент, Неопределено); Информация2 = ТекстОповещенияОбОтклоненномИнциденте(Инцидент, Неопределено); КонецПроцедуры С переменными не в особо хороших отношениях |
|||
16
Nuobu
01.10.15
✎
11:01
|
(15) Я в голос засмеялся))
|
|||
17
baziza
01.10.15
✎
11:02
|
(16) Я думаю у всех глаза зарезало)
|
|||
18
Nuobu
01.10.15
✎
11:03
|
(15) ТемаОповещенияОбОтклоненномИнциденте(Инцидент, Неопределено);
ТемаОповещенияОбОтклоненномИнциденте(Инцидент, Информация); |
|||
19
hhhh
01.10.15
✎
11:03
|
(15) ну вот и ответ: ИнформацияОбОтклоняемомИнциденте = Неопределено.
Ну сами дальше нам расшифруйте чему равно Неопределено.Автор |
|||
20
baziza
01.10.15
✎
11:10
|
(19) Тут и расшифровывать НЕЧЕГО.
|
|||
21
baziza
01.10.15
✎
11:19
|
Спасибо, мужики, теперь без ошибок. Буду ковыряться с переменными.
|
|||
22
Nuobu
01.10.15
✎
11:31
|
||||
23
baziza
01.10.15
✎
12:35
|
Продолжаю грызть кочерыжку. Сейчас имею такой текст:
Процедура ОтклонитьНаСервере() Если ТипЗнч(Инициатор) = Тип("ДокументСсылка.прОбращение") Тогда ИнОбъект = Инициатор.ПолучитьОбъект(); ИнОбъект.ПометкаУдаления = Истина; ИнОбъект.Записать(); ТемаОбращения = СокрЛП(Инициатор.Наименование); ТекстОбращения = СокрЛП(Инициатор.ТекстОбращения); Иначе ТемаОбращения = СокрЛП(Инициатор.Тема); ТекстОбращения = СокрЛП(Инициатор.Текст); КонецЕсли; Заметка = Справочники.БСП_Заметки.СоздатьЭлемент(); Хранилище = Новый ХранилищеЗначения(ЭтаФорма.Комментарий); Заметка.Предмет = Инициатор; Заметка.Автор = ПараметрыСеанса.ТекущийПользователь; Заметка.Содержание = Новый ХранилищеЗначения(Комментарий, Новый СжатиеДанных(9)); Заметка.Пометка = Перечисления.БСП_ЦветаЗаметок.Красный; Заметка.ДатаИзменения = ТекущаяДата(); ТекстHTML = ""; Вложения = Новый Структура; Комментарий.ПолучитьHTML(ТекстHTML, Вложения); Заметка.ТекстСодержания = БСП_СтроковыеФункцииКлиентСервер.ИзвлечьТекстИзHTML(ТекстHTML); ТекстИсходногоОбращения = " | |Исходное обращение (" + Строка(Инициатор)+ "): |Тема обращения: " + ТемаОбращения + " |Содержание обращения: " + ТекстОбращения; Заметка.ТекстСодержания = Заметка.ТекстСодержания + ТекстИсходногоОбращения; //>> Заметка.Записать(); // обработать обращение Если ТипЗнч(Инициатор) = Тип("ДокументСсылка.БСП_ЭлектронноеПисьмоВходящее") Тогда БСП_УправлениеЭлектроннойПочтой.ПереместитьПисьмоВОтклоненные(Инициатор); КонецЕсли; су_ОповещенияСервер.ОтправитьОповещениеОбОтклоненииИнцидента(Инициатор, Заметка.ТекстСодержания); //обращение к моим кочерыжкам КонецПроцедуры Мои кочерыжки Процедура ОтправитьОповещениеОбОтклоненииИнцидента(Инцидент, КомментарийОтклонения)Экспорт Информация = ИнформацияОбОтклоняемомИнциденте(Инцидент); Тема = ТемаОповещенияОбОтклоненномИнциденте(Информация, Инцидент); Текст = ТекстОповещенияОбОтклоненномИнциденте(Информация, Инцидент); КонецПроцедуры Функция ИнформацияОбОтклоняемомИнциденте(Инцидент) Экспорт Информация = Новый Структура("Дата, Ответственный, Автор, Тема", ТекущаяДата(), ПараметрыСеанса.ТекущийПользователь, Неопределено, Неопределено); Если ТипЗнч(Инцидент) = Тип("ДокументСсылка.прОбращение") Тогда СтруктураРеквизитов = БСП_ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Инцидент, "Наименование, Автор"); Информация.Автор = СтруктураРеквизитов.Автор; Информация.Тема = СтруктураРеквизитов.Наименование; ИначеЕсли ТипЗнч(Инцидент) = Тип("ДокументСсылка.БСП_ЭлектронноеПисьмоВходящее") Тогда СтруктураРеквизитов = БСП_ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Инцидент, "Тема, Ответственный, ОтправительАдрес"); Если Не ЗначениеЗаполнено(СтруктураРеквизитов.Ответственный) Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("Адрес", СокрЛП(СтруктураРеквизитов.ОтправительАдрес)); Запрос.Текст = "ВЫБРАТЬ | Пользователи.Ссылка КАК Пользователь |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи | ПО КонтактнаяИнформация.Объект = Пользователи.ФизЛицо |ГДЕ | КонтактнаяИнформация.Представление ПОДОБНО &Адрес"; Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда СтруктураРеквизитов.Автор = Справочники.Пользователи.ПустаяСсылка(); КонецЕсли; КонецЕсли; Информация.Автор = СтруктураРеквизитов.Автор; Информация.Тема = СтруктураРеквизитов.Наименование; КонецЕсли; Возврат Информация; КонецФункции Функция ТемаОповещенияОбОтклоненномИнциденте(ИнформацияОбОтклоняемомИнциденте, Получатель) Экспорт Тема = ""; Получатель = ИнформацияОбОтклоняемомИнциденте.Автор; Тема = Тема + "Автору: "; Тема = Тема + " заявка отклонена """ + ИнформацияОбОтклоняемомИнциденте.Тема + """"; Возврат Тема; КонецФункции Функция ТекстОповещенияОбОтклоненномИнциденте(ИнформацияОбОтклоняемомИнциденте, Инцидент) Экспорт Макет = РегистрыСведений.су_Оповещения.ПолучитьМакет("Макет"); Шаблон = Макет.ПолучитьТекст(); МассивОбластей = БСП_СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Шаблон, "--//--"); ТекстШапки = МассивОбластей[0]; ТекстШапки = СтрЗаменить(ТекстШапки, "{Автор}", ИнформацияОбОтклоняемомИнциденте.Автор); ТекстШапки = СтрЗаменить(ТекстШапки, "{Ответственный}", ИнформацияОбОтклоняемомИнциденте.Ответственный); ТекстШапки = СтрЗаменить(ТекстШапки, "{ДатаПринятияВРаботу}", ИнформацияОбОтклоняемомИнциденте.Дата); Комментарий = РегистрыСведений.су_Оповещения.ТекстКомментариев(Инцидент); Если Не ПустаяСтрока(Комментарий) Тогда ТекстШапки = ТекстШапки + "<h2>Комментарий исполнителя</h2>" + Символы.ПС; ТекстШапки = ТекстШапки + Комментарий + Символы.ПС; КонецЕсли; ТекстШапки = ТекстШапки + "<h2>Текст обращения</h2>" + Символы.ПС; ТекстШапки = ТекстШапки + Комментарий + Символы.ПС; ТекстПодвала = МассивОбластей[2]; Возврат ТекстШапки + ТекстПодвала; КонецФункции При отладке вижу, что в "ТемаОповещенияОбОтклоненномИнциденте" Получатель(то бишь автор) и Тема выступают как неопределенная переменная. Есть мысли как это поправить? |
|||
24
baziza
01.10.15
✎
12:40
|
Хотя Тема вроде заполняется корректно.
|
|||
25
baziza
01.10.15
✎
16:33
|
Исправлено. Всё работает! Всем уважуха.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |