Имя: Пароль:
1C
1С v8
ЭлектроннаяПочта.ОтправитьСообщение
0 Csar
 
14.06.13
10:36
Всем привет.
Помогите, пожалуйста, разобраться с ошибкой.
Суть. Пытаюсь настроить регламентное задание по загрузке файлаОбмена.  Для этого создал само регламентное задание, которое ссылается в конечном счете на встроенную обработку, которая загружает файлОбмена и высылает отчет на почту. К обработке прилепил форму, что бы можно было отладить в интерактивном режиме. И все работает с отладкой. Однако при самостоятельном выполнении через регл. задание процесс заканчивается ошибкой:
"{Обработка.ДТ_Обмен_Логистика8_БИБ8_СохраннаяРасписка.МодульОбъекта(87,7)}: Процедура или функция с указанным именем не определена (Предупреждение)
по причине:
{Обработка.ДТ_Обмен_Логистика8_БИБ8_СохраннаяРасписка.МодульОбъекта(87,7)}: Процедура или функция с указанным именем не определена (Предупреждение)"
Данная ошибка ссылается на место исключение попытки:
Попытка
   ЭлектроннаяПочта.ОтправитьСообщение(Профиль, СтруктураПисьма);
Исключение
   Сообщить(ОписаниеОшибки());
   Предупреждение("Произошли ошибки при проверке настроек учетной записи и отправке письма.
                       |Описание ошибки приведено в окне сообщения.");
Возврат;
КонецПопытки;


Конфа Бухгалтерия предприятия, редакция 2.0 (2.0.46.8). Не могу понять почему при ручной отладке все ОК, а при автоматической регламентной вылазит ошибка.
1 Csar
 
14.06.13
10:37
+ (0) на всякий случай выкладываю код всей процедуры:
Процедура ВыполнитьЗагрузку() Экспорт
   ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загрузка.СохраннаяЗаписка",УровеньЖурналаРегистрации.Информация, , ,"Начало загрузки Сохранных записок");
   Инициализация();
   
   //=================================================================================================================================================================================
   //=============================================                       ЗАГРУЗКА ИЗ Логистика8                        ===============================================================
   //=================================================================================================================================================================================
   //
   ////Ищем новый не полученный файл
   МассивФайлов = НайтиФайлы(ПутьОбмена,МаскаФайловЗагрузки);
   Файл = Новый ЧтениеXML;
   МассивФайлов = СортировкаПоДатеИзменения(МассивФайлов);

   Если МассивФайлов.Количество() > 0 Тогда
       //Получаем массив всех файлов и грузим всё
       Загружен = Ложь;
       Индекс = 0;
       Пока (Не Загружен) И (Индекс <= МассивФайлов.ВГраница()) Цикл
           ЭлементМассива = МассивФайлов[МассивФайлов.ВГраница() - Индекс];
           Попытка
               Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();            
               Обработка.ИмяФайлаОбмена = ПутьОбмена + ЭлементМассива.Имя;
               Обработка.РежимОбмена = "Загрузка";            
               Обработка.ФлагРежимОтладки = Истина;
               Обработка.ВыполнитьЗагрузку();
               ТекстСообщения = "Загружен файл: "+ Обработка.ИмяФайлаОбмена;
               Загружен = Истина;                                                
               ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загрузка",УровеньЖурналаРегистрации.Информация, , ,ТекстСообщения);    
               Файл.ОткрытьФайл(ЭлементМассива.ПолноеИмя);
               СодержимоеЗагруженного = ПолучитьСодержимоеФайла(Файл, Обработка);
               Файл.Закрыть();
               
               Если СодержимоеЗагруженного.Количество() > 0 Тогда
                   //Профиль = Новый ИнтернетПочтовыйПрофиль;
                   Профиль = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("sed@telros-telecom.ru");
                   ОбъектПрофиль = Профиль.ПолучитьОбъект();
                   
                   Текст = "Вследствие  обмена из Логистики были созданы следующие документы:
                   |";
                   Для каждого СтрокаСодержимого Из СодержимоеЗагруженного Цикл
                       Если ЗначениеЗаполнено(СтрокаСодержимого.Номер) И ЗначениеЗаполнено(СтрокаСодержимого.Дата) Тогда
                           Текст = Текст + Строка("Загружен документ №" + СтрокаСодержимого.Номер + " от " + СтрокаСодержимого.Дата + Символы.ПС);
                       КонецЕсли;
                   КонецЦикла;
                   //удалим последний символ
                   Текст = Лев(Текст, СтрДлина(Текст)-1);
                   Текст = Текст + Строка(""+ Символы.ПС + "Перечисленные выше документы нуждаются в обязательном проведении/перепроведении!");
                   Кому = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("АдресаРассылкиРезультатовОбменаЛогистики8-БИБ82_СохраннаяЗаписка").Значение);
                   
                   СтруктураПисьма = Новый Структура("Кому, Тема, Тело, Пароль", Кому,
                       "Загружены акты ответственного хранения", Текст, ОбъектПрофиль.Пароль);

                   
                   Попытка
                       ЭлектроннаяПочта.ОтправитьСообщение(Профиль, СтруктураПисьма);
                   Исключение
                       Сообщить(ОписаниеОшибки());
                       Предупреждение("Произошли ошибки при проверке настроек учетной записи и отправке письма.
                       |Описание ошибки приведено в окне сообщения.");
                       Возврат;
                   КонецПопытки;
                   
               КонецЕсли;
           Исключение    
               ТекстСообщения = "Не загружен файл: "+ Обработка.ИмяФайлаОбмена+". "+ОписаниеОшибки();
               ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загрузка",УровеньЖурналаРегистрации.Ошибка, , ,ТекстСообщения);
               Загружен = Ложь;
               Индекс = Индекс + 1;
           КонецПопытки;    
       КонецЦикла;
       
       ПодключитьРасширениеРаботыСФайлами();
       Для Каждого ЭлементМассива Из МассивФайлов Цикл
           НомерПакета = ПолучитьНомерПакета(ЭлементМассива.Имя);
           Попытка
               УдалитьФайлы(ЭлементМассива.ПолноеИмя);
               ТекстСообщения = "Файл с пакета обмена с номером "+ Строка(НомерПакета) +" удален!";
               ЗаписьЖурналаРегистрации("Обмен.БИБ82",УровеньЖурналаРегистрации.Информация, , ,ТекстСообщения);                        
           Исключение    
               ТекстСообщения = "Не удалось удалить Файл с пакета обмена "+ЭлементМассива.ПолноеИмя+"! "+ОписаниеОшибки();
               ЗаписьЖурналаРегистрации("Обмен.БИБ82",УровеньЖурналаРегистрации.Ошибка, , ,ТекстСообщения);
               Сообщить(ТекстСообщения);
           КонецПопытки;    
       КонецЦикла;
   КонецЕсли;
   
КонецПроцедуры
2 Csar
 
14.06.13
10:48
хм, неужели никто вообще не знает?
3 Csar
 
14.06.13
11:07
"ЭлектроннаяПочта" - это общий модуль, а не нечто иное.
4 Maxus43
 
14.06.13
11:09
регл задания работают под юзером другим, у него видимо нет прав куда-то
5 Maxus43
 
14.06.13
11:10
тьфу, ошибка то другая. сори.
6 Maxus43
 
14.06.13
11:10
Модуль ЭлектроннаяПочта - чисто клиентский значит
7 Maxus43
 
14.06.13
11:11
всё. надо успокоится... тороплюсь.

Предупреждение, Сообщить и все ИНТЕРАКТИВНЫЕ команды обрамляй #Если КЛИЕНТ Тогда
8 Csar
 
14.06.13
11:11
(4) под кем работают регл. задания - как узнать? В журнале регистрации просто указывается "Фоновое задание" и номер сеанса без указания компа и пользователя.
9 Maxus43
 
14.06.13
11:11
на сервере они недоступны, он принимает Предупреждение за процедуру-функцию, коей конечно нет
10 Maxus43
 
14.06.13
11:12
см (7), сотальное бред
11 Csar
 
14.06.13
11:12
(7) это ведь бухгалтерия, а не УФ! Разве это принципиально?
12 Maxus43
 
14.06.13
11:13
(11) при чем тут УФ? #Если Клиент тогда - инструкции препроцессору
13 Csar
 
14.06.13
11:14
(12) посмотрел свойства модуля "ЭлектроннаяПочта" - галки стоят у Сервер, Внешнее соединение, Клиент (обычное приложение). Значит дело не в клиенте, правильно ведь?
14 Maxus43
 
14.06.13
11:16
(13) вместо Предупреждение и сообщить пиши лучще ОбщегоНазначения.СообщитьОбОшибке()
15 Maxus43
 
14.06.13
11:17
(13) на сервере не проходит синтаксический контроль. Предупреждение там не доступно впринципе, это Интерактивные вещи
16 Csar
 
14.06.13
12:42
(15) Большое спасибо! Все заработало. Я с УФ еще по-настоящему не работал и посему не имею привычки следить за доступностью методов.
17 Maxus43
 
14.06.13
12:44
(16) это не для УФ. #Если в 8.0 ещё было, это не fyfkju &НаКлиенте
18 Maxus43
 
14.06.13
12:45
*не аналог
Основная теорема систематики: Новые системы плодят новые проблемы.