|
Рассылка почтовых сообщений после выполнения действий | ☑ | ||
---|---|---|---|---|
0
pin4er
25.12.15
✎
10:48
|
Привет, с Пятницей товарищи!!!
столкнулся с интересным феноменом, при выполнении обработки в 1с из планировщика заданий: как работает когда запускаеш сам в режиме предприятия туже обработку и под тем же пользователем: 1. переводит номенклатуру в определенный статус (не буду вдаваться в подробности) и перезаписывает. 2. Формирует эксель файл с обработанной номенклатурой. 3. отправляет на почту рассылку с прикреплёным файлом о измененной номенклатуре. 4. Закрывается сеанс 1с. время выполнения: 2-4мин. как это работает при запуске из планировщика заданий: 1. вызывается батник в 7 утра с командой: "C:\Program Files (x86)\1cv82\8.2.19.130\bin\1cv8.exe" ENTERPRISE /F"D:\Торговля" /N"Админ" /P"123" /Execute "D:\Торговля\RunD3auto.epf" 2. открывается 1с 3. переводит номенклатуру в определенный статус (не буду вдаваться в подробности) и перезаписывает. 4. Формирует эксель файл с обработанной номенклатурой. ПРОБЛЕМА в п.5 5. не делает рассылку!!!!!!!! 6. Закрывается сеанс 1с. Время выполнения тоже от 2-4мин. Кто может подсказать в чем проблема? кто сталкивался с такой ситуацией? вот код отправки, куски сообщения уже комментил для проверки: руками запускаешь норм, а через планировщик все норм кроме рассылки. Процедура ОтправитьEmail(Получатель, Тема="", ТекстПисьма="", ФайлВложений = Неопределено) Экспорт ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь; УчетнаяЗапись = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекущийПользователь, "ОсновнаяУчетнаяЗапись"); Если Не ЗначениеЗаполнено(УчетнаяЗапись) Тогда Сообщить("У Вас не настроена учетная запись почты."); Возврат; КонецЕсли; ПрофильОтправки=УправлениеЭлектроннойПочтой.ПолучитьИнтернетПочтовыйПрофиль(УчетнаяЗапись); Письмо = Новый ИнтернетПочтовоеСообщение; Письмо.ИмяОтправителя = СокрЛП("Рассылка Статусов"); Письмо.Получатели.Добавить(Получатель); Письмо.Отправитель = УчетнаяЗапись.Наименование; Письмо.Тема = Тема; Письмо.Тексты.Добавить(ТекстПисьма,ТипТекстаПочтовогоСообщения.HTML); Если ЗначениеЗаполнено(ФайлВложений) Тогда Письмо.Вложения.Добавить(ФайлВложений); КонецЕсли; Почта = Новый ИнтернетПочта; ПодключениеУстановлено=Ложь;Инд=1; Пока не ПодключениеУстановлено и Инд<=5 Цикл Попытка Почта.Подключиться(ПрофильОтправки); ПодключениеУстановлено=Истина; Исключение Инд=Инд+1; КонецПопытки; КонецЦикла; //Если не ПодключениеУстановлено Тогда // Сообщить("Электронное сообщение не отправлено: " + ОписаниеОшибки()); // Возврат; //КонецЕсли; СообщениеОтправлено=Ложь;Инд=1; Пока не СообщениеОтправлено и Инд<=5 Цикл Попытка Почта.Послать(Письмо); СообщениеОтправлено=Истина; Исключение Инд=Инд+1; КонецПопытки; КонецЦикла; Почта.Отключиться(); //Если не СообщениеОтправлено Тогда // Сообщить("Электронное сообщение не отправлено: " + ОписаниеОшибки()); // Возврат; //КонецЕсли; КонецПроцедуры |
|||
1
pin4er
25.12.15
✎
11:33
|
хватит затариваться в магазинах, где все?)) ну или ап темы!))
|
|||
2
Garykom
гуру
25.12.15
✎
11:38
|
1. Лог
2. Лог 3. Лог 4. Лог 5. Ну ведите уже лог действий... кому вы там "Сообщить("У Вас не настроена учетная запись почты.");" а? 6. Спамеры 7. Может просто почта в это время не работает? |
|||
3
pin4er
25.12.15
✎
12:26
|
(2) как я уже писал, все отрабатывает, почтовая рассылка работает в первом пункте
почта настроена, иначе первое бы не отработало тоже по второму все отрабатывает файл создается но не отправляеться... я на свою и отправляю. Спам тут не причем. |
|||
4
tank68
25.12.15
✎
12:27
|
ЛогСообщений = Новый ТекстовыйДокумент;
СтрокаДата = ""+ТекущаяДата(); СтрокаДата = СтрЗаменить(СтрокаДата,".","_"); СтрокаДата = СтрЗаменить(СтрокаДата,":","-"); КаталогЛогФайлов ="G:\Sobytiya_obrabotchika\Log_vypolneniya"; //КаталогЛогФайлов ="G:\1С_Архив\Импорт_физлиц\import_fl_" + Формат(ТекущаяДата(), "ДФ=yyyy.MM.dd"); КаталогНаДиске = Новый Файл(КаталогЛогФайлов); Если Не КаталогНаДиске.Существует() Тогда СоздатьКаталог(КаталогЛогФайлов); КонецЕсли; ИмяЛогФайла = КаталогЛогФайлов+"\Zagruzka_spravochnika_FL_"+СтрокаДата +".txt"; ЛогСообщений.Вывод = ИспользованиеВывода.Разрешить; ВремяНачала = ТекущаяДата(); ЛогСообщений.ДобавитьСтроку(""+ТекущаяДата()+" Начало выполнения"); Сообщить(""+ТекущаяДата()+" Начало выполнения"); /////Далее процедура которая дописывает лог ВремяОкончания = ТекущаяДата(); ВремяВыполнения = ВремяОкончания - ВремяНачала; ВремяВыполненияМин = Цел(ВремяВыполнения/60); ВремяВыполненияСек = (ВремяВыполнения-ВремяВыполненияМин*60); ТекстВремяВыполнения = ("Обработка выполнялась с " + СокрЛП(ВремяНачала)+ " по "+СокрЛП(ВремяОкончания)+ " общее время выполнения "+ВремяВыполненияМин+" мин "+ВремяВыполненияСек+" сек "); ЛогСообщений.ДобавитьСтроку("///---///"); ТекстСообщения7 = ("Обработано " + КоличествоВсего + " элементов, из них:" + Символы.ПС + Символы.Таб + КоличествоСотрудников + " сотрудников," + Символы.ПС + Символы.Таб + КоличествоУволенных + " уволенных," + Символы.ПС + Символы.Таб + КоличествоСтажеров + " стажеров"+ Символы.ПС +ТекстВремяВыполнения); ТелоПисьма = ТелоПисьма + Символы.ПС+ТекстСообщения7; ЛогСообщений.ДобавитьСтроку(ТекстСообщения7); Сообщить("Завершено " + ТекущаяДата()); ЛогСообщений.ДобавитьСтроку(""+ТекущаяДата()+" Окончание выполнения"); ЛогСообщений.Записать(ИмяЛогФайла); ПочтаАдминистратору = Новый ИнтернетПочта; ПрофильПочты = Новый ИнтернетПочтовыйПрофиль; ПрофильПочты.АдресСервераSMTP = "server"; ПрофильПочты.ПортSMTP = 25; ПрофильПочты.Пользователь = "login"; ПрофильПочты.Пароль = "pass"; СообщениеАдминистратору = Новый ИнтернетПочтовоеСообщение; СообщениеАдминистратору.Тема = "Импорт справочника физические лица "+ ТекущаяДата(); СообщениеАдминистратору.Отправитель = "отправитель"; СообщениеАдминистратору.Получатели.Добавить("получатель"); СообщениеАдминистратору.Получатели.Добавить("Кому ещё отправить"); СообщениеАдминистратору.Вложения.Добавить(ИмяЛогФайла); СообщениеАдминистратору.Тексты.Добавить(ТелоПисьма); ПочтаАдминистратору.Подключиться(ПрофильПочты); Попытка ПочтаАдминистратору.Послать(СообщениеАдминистратору); Исключение КонецПопытки; ПочтаАдминистратору.Отключиться(); |
|||
5
tank68
25.12.15
✎
12:28
|
(4) И таким образом у меня все ночные процедуры отрабатывают если файл не отправлен он все равно на диске лежит
|
|||
6
pin4er
25.12.15
✎
12:31
|
(5) да файл у меня тоже на диске лежит для архива, просто надо чтобы отправлялось...
а то так с утра зашел в почту и посмотрел, ага в этой номенклатуре есть изменения, значит допустим ее срочно надо распродаватать... |
|||
7
tank68
25.12.15
✎
12:36
|
В Тексты добавь проверку на получилось или нет отправить записанный файл или же дублируй туда данные
СообщениеАдминистратору.Тексты.Добавить(ТелоПисьма); |
|||
8
pin4er
25.12.15
✎
16:38
|
(7) Вообщем добавил, результат:
1. Если из 1с сам запускаю, все ок. 2. если руками запускаю батник, все ок. 3. Если запускаю из планировщика, та же фигня, отрабатывает, а рассылки нет.... печаль какая-то |
|||
9
Garykom
гуру
25.12.15
✎
16:40
|
(8) Скажи... а если батник из планировщика?
|
|||
10
Garykom
гуру
25.12.15
✎
16:41
|
(9)+ в смысле задание то от чьего имени в планировщике?
|
|||
11
Fragster
гуру
25.12.15
✎
16:42
|
я бы создал документ электронное письмо исходящее, и дождался, пока он уйдет с помощью рег задания. заодно, если не уходит - можно потом посмотреть, что как.
|
|||
12
Лефмихалыч
25.12.15
✎
16:45
|
(11) +100500!
|
|||
13
pin4er
25.12.15
✎
16:47
|
(9) И так запускается батник из планировщика, с галочкой "Выполнять вне зависимости от регистрации пользователя"
(10) под админом, с полными правами как полагается |
|||
14
pin4er
25.12.15
✎
16:49
|
(11) на досуге попробую, но думаю тут в чем то другая фишка...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |