Имя: Пароль:
1C
1С v8
Настроить регламентное задание
0 Despa1r
 
11.06.15
16:37
Написал код, отбирающий элементы из справочника и отправляющий данные об их количестве на почту. Сам код практически рабочий - засунул в форму с кнопкой, при нажатии отправляется.

Засунул код в модуль, сделал регламентное задание - не отправляется.
Менеджер заданий подключен. Консоль заданий добавляет задание и молчит. В журнале регистрации пусто. Расписание настроено нормально. В конфигураторе стоят галки "предопреленное", "использование". На самом модуле "глобальный" и "сервер". Код чуть ниже.
1 Despa1r
 
11.06.15
16:39
Процедура ПриОпределенииИспользованияРегламентныхЗаданий() Экспорт
    
    Дата1 = ТекущаяДата();
    
    Запрос = Новый Запрос;    
    
Запрос.Текст = "ВЫБРАТЬ
               |    СУММА(1) КАК КоличествоЗаписей
               |ИЗ
               |    Справочник.Видеоролики КАК Видеоролики
               |ГДЕ
               |    Видеоролики.ДатаДобавления >= &ДатаНач
               |    И Видеоролики.ДатаДобавления <= &ДатаКон";
              
Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(Дата1));
Запрос.УстановитьПараметр("ДатаКон",КонецМесяца(Дата1));

Выборка = Запрос.Выполнить().Выгрузить();

Для каждого строка из Выборка Цикл
          Сообщить(строка.КоличествоЗаписей);
КонецЦикла;    

Колво = строка.КоличествоЗаписей;

ПочтовыйПрофиль = Новый ИнтернетПочтовыйПрофиль;
        
    ПочтовыйПрофиль.АдресСервераSMTP = "blababla";
    ПочтовыйПрофиль.ПортSMTP = 666;
    
    ПочтовыйПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
    ПочтовыйПрофиль.ПользовательSMTP = "blababla";
    ПочтовыйПрофиль.ПарольSMTP = "blablabla";


    Сообщение = Новый ИнтернетПочтовоеСообщение;
    Сообщение.Получатели.Добавить("[email protected]");    
    Сообщение.Тема = "Добавленные видеоролики за последний месяц";
    Сообщение.Тексты.Добавить("За последний месяц было добавлено видеороликов: " + Колво);
    
    Сообщение.Отправитель = "[email protected]";
    Сообщение.ИмяОтправителя = "1cBot";
    Почта = Новый ИнтернетПочта;                                           
    
    Почта.Подключиться(ПочтовыйПрофиль);
    Почта.Послать(Сообщение);

КонецПроцедуры

Процедура ВыполнениеРегламентныхЗаданий()
      ВыполнитьОбработкуЗаданий();
КонецПроцедуры
2 1sik
 
11.06.15
16:44
Попробуй сначала внешней обработкой запустить процедуру ПриОпределенииИспользованияРегламентныхЗаданий(), если она нормально отработает, тогда можно искать причину в расписании. А то может, что не так с подключением к почтовому серваку или еще с чем нибудь. А еще есть галка блокировка регламентных заданий включена в консоли сервера, если база серверная.
3 Despa1r
 
11.06.15
16:49
(2) Процедура отрабатывается. Расписание выставляю в консоли заданий каждый раз заново, сейчас допустим 10 июня 2015, каждый день, с 16:50:00 каждые 30 сек. Как наступит 16:50 ничего не произойдет. Никаких ошибок даже не пишет. Причем заданий два, одно предопределенное, другое нет, оба не работают
4 1sik
 
11.06.15
16:51
(3) А если выполнить сейчас нажать?
5 Despa1r
 
11.06.15
16:52
(2) Бывает иногда пишет такое:

Метод задания не найден:  КоличествоВидеороликов:ПриОпределенииИспользованияРегламентныхЗаданий

, хотя модуль находится в разделе Общие Модули, называется "КоличествоВидеороликов"

Пишет это когда я убираю

Процедура ВыполнениеРегламентныхЗаданий()
      ВыполнитьОбработкуЗаданий();
КонецПроцедуры
6 Despa1r
 
11.06.15
16:52
(4) а где это можно сделать? я не нашел
7 1sik
 
11.06.15
16:56
Какая конфигурация? В некоторых есть эта кнопка в некоторых может не быть и консоль заданий качать.

Еще модуль должен быть нормально настроен. Галки Клиент сервер и т.д норально проставлены. У меня один раз из за галок не искало процедуру и ругалось на те строки которые даже не использовались в задании. Поэтому всегда ставлю галки сервер, внешнее соединение и вызов сервера. Другие сняты.
8 Despa1r
 
11.06.15
17:03
(7) Конфигурация тут собственного производства. Консоль заданий отдельно подключал.

Поставил галки как Вы сказали. При изменении расписания пишет теперь "Метод задания не найден:  КоличествоВидеороликов:ПриОпределенииИспользованияРегламентныхЗаданий"
9 Despa1r
 
11.06.15
17:05
(7) Полный текст ошибки

{Форма.ФормаКонсоли.Форма(226)}: Ошибка при вызове метода контекста (Записать)
            РегламентноеЗадание.Записать();
по причине:
Метод задания не найден:  КоличествоВидеороликов:ПриОпределенииИспользованияРегламентныхЗаданий