|
Ограничение выборки с даты "ТекущаяДата минус 2 года" | ☑ | ||
---|---|---|---|---|
0
TumenJan
29.09.19
✎
05:14
|
Подскажите есть код - который отправляет уведомления на почту. Он проверяет одинаковые названия. Где в коде указать чтобы делал выборку только за 2 года.
Вот собственно код: Процедура ПриЗаписи(Отказ, Замещение) Если НЕ Отказ Тогда // Проверим лимиты категорий. ЛимитКоличестваКатегорий = 1000; КатегорииНабора = ЭтотОбъект.ВыгрузитьКолонку("Категория"); ТекстЗапроса = " |///////////////////////////////////////////////// |// вт_Данные |ВЫБРАТЬ | ПоследствияИСитуации.Категория.Родитель КАК Родитель, | ПоследствияИСитуации.Категория.Наименование КАК Категория, | КОЛИЧЕСТВО(*) КАК КоличествоЗаписей |ПОМЕСТИТЬ вт_Данные |ИЗ РегистрНакопления.ПоследствияИСитуации КАК ПоследствияИСитуации |ГДЕ | ПоследствияИСитуации.Категория В(&ИзменяемыеКатегории) |СГРУППИРОВАТЬ ПО | ПоследствияИСитуации.Категория.Родитель, | ПоследствияИСитуации.Категория.Наименование |ИМЕЮЩИЕ | КОЛИЧЕСТВО(*) > &ЛимитКоличестваКатегорий |; | |///////////////////////////////////////////////// |// Запрос-результат |ВЫБРАТЬ | вт_Данные.Родитель КАК Родитель, | вт_Данные.Категория КАК Категория, | вт_Данные.КоличествоЗаписей КАК КоличествоЗаписей |ИЗ вт_Данные КАК вт_Данные |ИТОГИ | СУММА(КоличествоЗаписей) |ПО | Родитель |; |///////////////////////////////////////////////// |УНИЧТОЖИТЬ вт_Данные |; |"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ИзменяемыеКатегории", КатегорииНабора); Запрос.УстановитьПараметр("ЛимитКоличестваКатегорий", ЛимитКоличестваКатегорий); ВыборкаГруппы = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); СписокКатегорий = ""; Пока ВыборкаГруппы.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF""><strong>" + СокрЛП(ВыборкаГруппы.Родитель) + "</strong></span>, а именно: | <ul>"; Выборка = ВыборкаГруппы.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока Выборка.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF"">" + СокрЛП(Выборка.Категория) + "</span> достигло " + Выборка.КоличествоЗаписей + " случаев за последние 730 дней.</li>"; КонецЦикла; СписокКатегорий = СписокКатегорий + " | </ul> | </li>"; КонецЦикла; Если НЕ ПустаяСтрока(СписокКатегорий) Тогда Адресаты = Новый Массив; Адресаты.Добавить("********************"); ПараметрыСообщения = Новый Структура("Тема, Адресаты, Сообщение, ТипТекста"); ПараметрыСообщения.Тема = "Контроль последствий и ситуаций"; ПараметрыСообщения.Сообщение = "<html> |<head> |<meta http-equiv=""Content-type"" content=""text/html; charset=utf-8""> |</head> |<body> |<p> | Добрый день! |</p> |<ul> | Обращаю Ваше внимание, что количество выявленных опасных действий | и опасных условий по категории: |" + СписокКатегорий + " |</ul> |<p> | С уважением, | Руководитель рабочей группы ПАБ |</p> |</body> |</html> |"; ПараметрыСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; ПараметрыСообщения.Адресаты = Адресаты; РаботаСПочтой.ОтправитьЭлектронноеПисьмо(ПараметрыСообщения); КонецЕсли; КонецЕсли; |
|||
1
Конструктор1С
29.09.19
✎
05:49
|
ДатаНачала = ДобавитьМесяц(ТекущаяДата(), -24);
|
|||
2
TumenJan
29.09.19
✎
06:23
|
(1) а где это строку в процедуре добавить, подскажите пожалуйста.
-24 - это количество дней |
|||
3
yfylhjkjy
29.09.19
✎
09:03
|
(2) неужели название функции ДобавитьМесяц() ни о чем не говорит? Месяц КАРЛ!
|
|||
4
TumenJan
29.09.19
✎
09:32
|
(3) Да увидел, извините.
А эту строку "ДатаНачала = ДобавитьМесяц(ТекущаяДата(), -24);" где подставить в процедуре. Помогите плиз с этим решением разобраться |
|||
5
Конструктор1С
29.09.19
✎
11:27
|
(2) вестимо, в запрос подставить, через параметры
|
|||
6
TumenJan
29.09.19
✎
11:55
|
(5) как запрос через параметры.
Я открыл конструктор запроса, а дальше куда и где подставить |
|||
7
TumenJan
29.09.19
✎
12:03
|
https://yadi.sk/i/kTZdvYp15YNKNA
Вот я открыл на тексте - конструтктор запроса |
|||
8
Конструктор1С
29.09.19
✎
17:01
|
(6) на вкладке условия задавай
ПоследствияИСитуации.Период >= &ДатаНачала в коде далее прописывай Запрос.УстановитьПараметр("ДатаНачала ", ДатаНачала); |
|||
9
TumenJan
12.11.19
✎
14:24
|
(8) Добрый вечер , можно вопрос
|
|||
10
d4rkmesa
12.11.19
✎
14:32
|
(0) Вот это в транзакции, имхо, порнография:
РаботаСПочтой.ОтправитьЭлектронноеПисьмо(ПараметрыСообщения) |
|||
11
DrWatson
12.11.19
✎
14:49
|
(9) Это был вопрос?
Если что-то не понятно по этой задаче - то можно. Не надо спрашивать разрешения. Если задача другая, то лучше сделать новую тему. |
|||
12
TumenJan
12.11.19
✎
15:06
|
(11) Этот код отправляет на почту о том сколько категорий, но берет полностью.
Но нужно чтобы считал за два года. Сделал в коде период за два года. Но он не работает.Что не так в коде, можете помочь. Код: Процедура ПриЗаписи(Отказ, Замещение) Если НЕ Отказ Тогда // Проверим лимиты категорий. ЛимитКоличестваКатегорий = 1000; ТекущаяДата = 730; КатегорииНабора = ЭтотОбъект.ВыгрузитьКолонку("Категория"); ТекстЗапроса = "ВЫБРАТЬ | ПоследствияИСитуации.Категория.Родитель КАК Родитель, | ПоследствияИСитуации.Категория.Наименование КАК Категория, | КОЛИЧЕСТВО(*) КАК КоличествоЗаписей |ПОМЕСТИТЬ вт_Данные |ИЗ | РегистрНакопления.ПоследствияИСитуации КАК ПоследствияИСитуации |ГДЕ | ПоследствияИСитуации.Категория В(&ИзменяемыеКатегории) | И ПоследствияИСитуации.Период < ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -2) | |СГРУППИРОВАТЬ ПО | ПоследствияИСитуации.Категория.Родитель, | ПоследствияИСитуации.Категория.Наименование | |ИМЕЮЩИЕ | КОЛИЧЕСТВО(*) > &ЛимитКоличестваКатегорий |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | вт_Данные.Родитель КАК Родитель, | вт_Данные.Категория КАК Категория, | вт_Данные.КоличествоЗаписей КАК КоличествоЗаписей |ИЗ | вт_Данные КАК вт_Данные |ИТОГИ | СУММА(КоличествоЗаписей) |ПО | Родитель |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ вт_Данные"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ИзменяемыеКатегории", КатегорииНабора); Запрос.УстановитьПараметр("ЛимитКоличестваКатегорий", ЛимитКоличестваКатегорий); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата() - 86400 * 365 * 2); ВыборкаГруппы = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); СписокКатегорий = ""; Пока ВыборкаГруппы.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF""><strong>" + СокрЛП(ВыборкаГруппы.Родитель) + "</strong></span>, а именно: | <ul>"; Выборка = ВыборкаГруппы.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока Выборка.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF"">" + СокрЛП(Выборка.Категория) + "</span> достигло " + Выборка.КоличествоЗаписей + " случаев за последние 730 дней.</li>"; КонецЦикла; СписокКатегорий = СписокКатегорий + " | </ul> | </li>"; КонецЦикла; Если НЕ ПустаяСтрока(СписокКатегорий) Тогда Адресаты = Новый Массив; Адресаты.Добавить("**************"); ПараметрыСообщения = Новый Структура("Тема, Адресаты, Сообщение, ТипТекста"); ПараметрыСообщения.Тема = "Контроль последствий и ситуаций"; ПараметрыСообщения.Сообщение = "<html> |<head> |<meta http-equiv=""Content-type"" content=""text/html; charset=utf-8""> |</head> |<body> |<p> | Добрый день! |</p> |<ul> | Обращаю Ваше внимание, что количество выявленных опасных действий | и опасных условий по категории: |" + СписокКатегорий + " |</ul> |<p> | С уважением, | Руководитель рабочей группы ПАБ |</p> |</body> |</html> |"; ПараметрыСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; ПараметрыСообщения.Адресаты = Адресаты; РаботаСПочтой.ОтправитьЭлектронноеПисьмо(ПараметрыСообщения); КонецЕсли; КонецЕсли; |
|||
13
palpetrovich
12.11.19
✎
15:28
|
(12) КатегорииНабора = ЭтотОбъект.ВыгрузитьКолонку("Категория");
ЭтотОбъект - это что? и замени ВыборкаГруппы = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); на РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда сообщить("вввввввввввввввв"); КонецЕсли; ВыборкаГруппы = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); |
|||
14
hhhh
12.11.19
✎
15:35
|
(12) ты 2 раза сделал
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата() - 86400 * 365 * 2); здесь вычел 2 года | И ПоследствияИСитуации.Период < ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -2) здесь еще 2 года. Всего 2+2 = 4. ну и еще | И ПоследствияИСитуации.Период < то есть ты берешь данные по меньше, то есть все данные до 2015-го года. Наверно, что-то тяжелое тебе в бошку стукнуло, зачем тебе данные 5-тилетней давности? |
|||
15
TumenJan
12.11.19
✎
16:22
|
(14) так как мне выставить период за года?
|
|||
16
hhhh
12.11.19
✎
16:28
|
(15) наверно меньше замени на больше. и не 4 года бери, а 2.
|
|||
17
TumenJan
12.11.19
✎
16:52
|
(16) поставил, но на почту ничего не приходит
|
|||
18
TumenJan
12.11.19
✎
17:01
|
(13) мне нужно период задать за два года т.е. 730 дней, а так код работает, но выбирает полностью за все года
|
|||
19
palpetrovich
12.11.19
✎
17:15
|
(18) покажи доработанный запрос с параметрами
|
|||
20
TumenJan
12.11.19
✎
17:17
|
(19) Процедура ПриЗаписи(Отказ, Замещение)
Если НЕ Отказ Тогда // Проверим лимиты категорий. ЛимитКоличестваКатегорий = 200; ТекущаяДата = -2; КатегорииНабора = ЭтотОбъект.ВыгрузитьКолонку("Категория"); ТекстЗапроса = "ВЫБРАТЬ | ПоследствияИСитуации.Категория.Родитель КАК Родитель, | ПоследствияИСитуации.Категория.Наименование КАК Категория, | КОЛИЧЕСТВО(*) КАК КоличествоЗаписей |ПОМЕСТИТЬ вт_Данные |ИЗ | РегистрНакопления.ПоследствияИСитуации КАК ПоследствияИСитуации |ГДЕ | ПоследствияИСитуации.Категория В(&ИзменяемыеКатегории) | И ПоследствияИСитуации.Период > ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -2) | |СГРУППИРОВАТЬ ПО | ПоследствияИСитуации.Категория.Родитель, | ПоследствияИСитуации.Категория.Наименование | |ИМЕЮЩИЕ | КОЛИЧЕСТВО(*) > &ЛимитКоличестваКатегорий |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | вт_Данные.Родитель КАК Родитель, | вт_Данные.Категория КАК Категория, | вт_Данные.КоличествоЗаписей КАК КоличествоЗаписей |ИЗ | вт_Данные КАК вт_Данные |ИТОГИ | СУММА(КоличествоЗаписей) |ПО | Родитель |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ вт_Данные"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ИзменяемыеКатегории", КатегорииНабора); Запрос.УстановитьПараметр("ЛимитКоличестваКатегорий", ЛимитКоличестваКатегорий); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); //Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата() - 86400 * 365 * 2); ВыборкаГруппы = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); СписокКатегорий = ""; Пока ВыборкаГруппы.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF""><strong>" + СокрЛП(ВыборкаГруппы.Родитель) + "</strong></span>, а именно: | <ul>"; Выборка = ВыборкаГруппы.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока Выборка.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF"">" + СокрЛП(Выборка.Категория) + "</span> достигло " + Выборка.КоличествоЗаписей + " случаев за последние 730 дней.</li>"; КонецЦикла; СписокКатегорий = СписокКатегорий + " | </ul> | </li>"; КонецЦикла; Если НЕ ПустаяСтрока(СписокКатегорий) Тогда Адресаты = Новый Массив; Адресаты.Добавить("**************"); ПараметрыСообщения = Новый Структура("Тема, Адресаты, Сообщение, ТипТекста"); ПараметрыСообщения.Тема = "Контроль последствий и ситуаций"; ПараметрыСообщения.Сообщение = "<html> |<head> |<meta http-equiv=""Content-type"" content=""text/html; charset=utf-8""> |</head> |<body> |<p> | Добрый день! |</p> |<ul> | Обращаю Ваше внимание, что количество выявленных опасных действий | и опасных условий по категории: |" + СписокКатегорий + " |</ul> |<p> | С уважением, | Руководитель рабочей группы ПАБ |</p> |</body> |</html> |"; ПараметрыСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; ПараметрыСообщения.Адресаты = Адресаты; РаботаСПочтой.ОтправитьЭлектронноеПисьмо(ПараметрыСообщения); КонецЕсли; КонецЕсли; |
|||
21
vova1122
12.11.19
✎
17:23
|
В самом начале :
ТекущаяДата = -2; Зачем? |
|||
22
TumenJan
12.11.19
✎
17:29
|
(21) да уже незнаю, все перепробовал взял поставил 2 года.
|
|||
23
vova1122
12.11.19
✎
17:30
|
(22) Я о том что это лишнее. Или исправь на ТекущаяДата = ТекущаяДата();
|
|||
24
palpetrovich
12.11.19
✎
17:31
|
(20) результат запроса точно не пустой?
в ветку Если НЕ ПустаяСтрока(СписокКатегорий) Тогда точно заходишь? |
|||
25
TumenJan
12.11.19
✎
17:51
|
(23) (21) (23) (24) Ребята извините, здесь забыл адрес поставить: Адресаты.Добавить("**************");
Поставил, все приходит, но не правильно считает. Не два года , а больше, в чем подвох |
|||
26
palpetrovich
12.11.19
✎
17:53
|
(25) как опеределил что неправильно считает?
комбинация | И ПоследствияИСитуации.Период > ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -2) Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); вполне корректна |
|||
27
vova1122
12.11.19
✎
17:59
|
(26) можешь точно определить на сколько дней/лет больше?
|
|||
28
TumenJan
12.11.19
✎
18:00
|
(26) мне на почту приходит количество:"Знает, но не соблюдает инструкцию" - достигло 1 476 случаев за последние 730 дней.
у меня данные собираются в Регистре Накопления. Делаю фильтр именно по этой категории и ставлю период 12.11.2017 - 12.11.2019 и где 300 позиций больше получается |
|||
29
unenu
12.11.19
✎
18:01
|
консолью запросов сейчас пользоваться не учат - это же долго.
гораздо быстрее копирнуть код и накалякать шопопало, а если будут ошибки, то вопить на форумах "плиз". что тут помогать когда человек даже не пытался начать мыслить системно |
|||
30
TumenJan
13.11.19
✎
09:27
|
(26) Все получилось. Подскажите как в этом коде, сделать чтобы он отправлял 1 раз в 10 дней. Возможно ли это?
|
|||
31
Fram
13.11.19
✎
09:42
|
(30) Отправлять = "1 раз в 10 дней"
|
|||
32
TumenJan
13.11.19
✎
09:53
|
(31) где нужно прописать
|
|||
33
Fram
13.11.19
✎
09:55
|
Закрывайте нафиг ветку. Случай совсем запущенный
|
|||
34
TumenJan
14.11.19
✎
05:07
|
(33) знаю что очень слаб в 1с, но все же учусь. В запросе нужно указать, или в коде. И как правильно
|
|||
35
Simod
14.11.19
✎
06:55
|
(26) Не вполне корректно. Для регистра накопления индекс по периоду создается всегда и при такой конструкции использоваться не будет. Да и без индекса это тоже лишние вычисления.
|
|||
36
Admin_Net_1C
14.11.19
✎
06:59
|
(34) нужно регламентное задание с необходимым расписанием
|
|||
37
Simod
14.11.19
✎
06:59
|
(34) Чтобы рассылка выполнялась раз в 10 дней, надо чтобы процедура рассылки запускалась с периодичность в 10 дней от какого-то момента. Обычно для этого используют регламентные задания. Но у тебя формирование отправления и отправка выполняются из обработчика ПриЗаписи() (что уже неправильно) и непонятно откуда этот обработчик вызывается.
|
|||
38
TumenJan
19.11.19
✎
10:09
|
(37) да уведолемния формируются при записи (обработка) но отправляется при помощи Общего модуля - Работа с почтой: Процедура ОтправитьЭлектронноеПисьмо(ПараметрыСообщения).
|
|||
39
TumenJan
19.11.19
✎
10:09
|
Может в этом модуле нужно прописать
|
|||
40
TumenJan
19.11.19
✎
10:10
|
(37) Могу код этого модуля показать
|
|||
41
DrWatson
19.11.19
✎
11:11
|
Расскажи или покажи как у тебя стартует отправка.
Ты понял что написали в (36)? |
|||
42
DrWatson
19.11.19
✎
11:14
|
Хотя не надо показывать. Из (20) видно, что отправка стартует при каждой записи.
Делай отправку отдельно, как написали в (36), (37). |
|||
43
TumenJan
19.11.19
✎
14:37
|
(37) Вот сама процедура: ПриЗаписи
Процедура ПриЗаписи(Отказ, Замещение) Если НЕ Отказ Тогда // Проверим лимиты категорий. ЛимитКоличестваКатегорий = 10; ТекущаяДата = 702; КатегорииНабора = ЭтотОбъект.ВыгрузитьКолонку("Категория"); ТекстЗапроса = "ВЫБРАТЬ | ПоследствияИСитуации.Категория.Родитель КАК Родитель, | ПоследствияИСитуации.Категория.Наименование КАК Категория, | КОЛИЧЕСТВО(*) КАК КоличествоЗаписей |ПОМЕСТИТЬ вт_Данные |ИЗ | РегистрНакопления.ПоследствияИСитуации КАК ПоследствияИСитуации |ГДЕ | ПоследствияИСитуации.Категория В(&ИзменяемыеКатегории) | И ПоследствияИСитуации.Период > ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, -702) | |СГРУППИРОВАТЬ ПО | ПоследствияИСитуации.Категория.Родитель, | ПоследствияИСитуации.Категория.Наименование | |ИМЕЮЩИЕ | КОЛИЧЕСТВО(*) = &ЛимитКоличестваКатегорий |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | вт_Данные.Родитель КАК Родитель, | вт_Данные.Категория КАК Категория, | вт_Данные.КоличествоЗаписей КАК КоличествоЗаписей |ИЗ | вт_Данные КАК вт_Данные |ИТОГИ | СУММА(КоличествоЗаписей) |ПО | Родитель |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ вт_Данные"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ИзменяемыеКатегории", КатегорииНабора); Запрос.УстановитьПараметр("ЛимитКоличестваКатегорий", ЛимитКоличестваКатегорий); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); //Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата() - 86400 * 365 * 2); ВыборкаГруппы = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); СписокКатегорий = ""; Пока ВыборкаГруппы.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF""><strong>" + СокрЛП(ВыборкаГруппы.Родитель) + "</strong></span>, а именно: | <ul>"; Выборка = ВыборкаГруппы.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока Выборка.Следующий() Цикл СписокКатегорий = СписокКатегорий + " | <li><span style=""color:#0000FF"">" + СокрЛП(Выборка.Категория) + "</span> достигло " + Выборка.КоличествоЗаписей + " случаев за последние 730 дней.</li>"; КонецЦикла; СписокКатегорий = СписокКатегорий + " | </ul> | </li>"; КонецЦикла; Если НЕ ПустаяСтрока(СписокКатегорий) Тогда Адресаты = Новый Массив; Адресаты.Добавить("********************"); ПараметрыСообщения1 = Новый Структура("Тема, Адресаты, Сообщение, ТипТекста"); ПараметрыСообщения1.Тема = "Контроль последствий и ситуаций"; ПараметрыСообщения1.Сообщение = "<html> |<head> |<meta http-equiv=""Content-type"" content=""text/html; charset=utf-8""> |</head> |<body> |<p> | Добрый день! |</p> |<ul> | Обращаю Ваше внимание, что количество выявленных опасных действий | и опасных условий по категории: |" + СписокКатегорий + " |</ul> |<p> | С уважением, | Руководитель рабочей группы ПАБ |</p> |</body> |</html> |"; ПараметрыСообщения1.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; ПараметрыСообщения1.Адресаты = Адресаты; РаботаСПочтой.ОтправитьЭлектронноеПисьмо1(ПараметрыСообщения1); КонецЕсли; КонецЕсли; А Вот Процедура Отправки: Процедура ОтправитьЭлектронноеПисьмо1(ПараметрыСообщения1) Экспорт Если ПараметрыСообщения1.Свойство("ТипТекста") Тогда ТипТекста = ПараметрыСообщения1.ТипТекста; Иначе ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст; КонецЕсли; Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераSMTP = "**********************************"; Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации; Почта = Новый ИнтернетПочта; Письмо = Новый ИнтернетПочтовоеСообщение; Письмо.Отправитель = "******************"; Письмо.ИмяОтправителя = "ПАБ"; Письмо.Тема = ПараметрыСообщения1.Тема; Для каждого Адрес Из ПараметрыСообщения1.Адресаты Цикл Письмо.Получатели.Добавить(Адрес); КонецЦикла; Письмо.Тексты.Добавить(ПараметрыСообщения1.Сообщение, ТипТекста); Попытка Почта.Подключиться(Профиль); Сообщить("Подключено"); Почта.Послать(Письмо); Сообщить("Письма отправлены"); Исключение ЗаписьЖурналаРегистрации("Ошибка", УровеньЖурналаРегистрации.Ошибка, Метаданные.РегламентныеЗадания.ОтправкаУведомленийОСрокахВыполненияПлана , , ОписаниеОшибки()); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; ЗаписьЖурналаРегистрации("Отправка уведомления", УровеньЖурналаРегистрации.Информация, Метаданные.РегламентныеЗадания.ОтправкаУведомленийОСрокахВыполненияПлана); Сообщить("Соединение отключено"); Почта.Отключиться(); КонецПроцедуры Что нужно сделать чтобы 1 раз в 10 дней отправлялось. Пробовал закомментирровать строки отправки в процедуре ПриЗаписи. А дальше не могу понять. Создам регламетное задание, а на какую процедуру его направить. Подскажите плиз |
|||
44
D_E_S_131
19.11.19
✎
15:01
|
"Что нужно сделать чтобы 1 раз в 10 дней отправлялось" - создать расписание с такими настройками для РЗ.
"Создам регламетное задание, а на какую процедуру его направить." - на процедуру общего модуля. |
|||
45
TumenJan
20.11.19
✎
10:53
|
(44) Это ясно. А вот если на процедуру общего модуля. Так у меня там только процедура отправки:
А Вот Процедура Отправки: Процедура ОтправитьЭлектронноеПисьмо1(ПараметрыСообщения1) Экспорт Если ПараметрыСообщения1.Свойство("ТипТекста") Тогда ТипТекста = ПараметрыСообщения1.ТипТекста; Иначе ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст; КонецЕсли; Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераSMTP = "**********************************"; Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации; Почта = Новый ИнтернетПочта; Письмо = Новый ИнтернетПочтовоеСообщение; Письмо.Отправитель = "******************"; Письмо.ИмяОтправителя = "ПАБ"; Письмо.Тема = ПараметрыСообщения1.Тема; Для каждого Адрес Из ПараметрыСообщения1.Адресаты Цикл Письмо.Получатели.Добавить(Адрес); КонецЦикла; Письмо.Тексты.Добавить(ПараметрыСообщения1.Сообщение, ТипТекста); Попытка Почта.Подключиться(Профиль); Сообщить("Подключено"); Почта.Послать(Письмо); Сообщить("Письма отправлены"); Исключение ЗаписьЖурналаРегистрации("Ошибка", УровеньЖурналаРегистрации.Ошибка, Метаданные.РегламентныеЗадания.ОтправкаУведомленийОСрокахВыполненияПлана , , ОписаниеОшибки()); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; ЗаписьЖурналаРегистрации("Отправка уведомления", УровеньЖурналаРегистрации.Информация, Метаданные.РегламентныеЗадания.ОтправкаУведомленийОСрокахВыполненияПлана); Сообщить("Соединение отключено"); Почта.Отключиться(); КонецПроцедуры Это правильно будет |
|||
46
TumenJan
20.11.19
✎
11:19
|
(44) Подскажите, из этой процедуры при записи код
Как правильно в общий модуль перенести. Чтобы регламентное задание на знало что отправлять. помогите плиз |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |