Здравствуйте, писал вот такой код в событии "ПриЗаписи"
То есть при изменении реквизита отправлялось письмо, сейчас перенес код в "ПослеЗаписи" и там ТекущийОбъект не работает, сейчас каждый раз когда захожу в документ и записываю его отправляется бесконечно письмо, при том что ничего не изменяю в нем. Подскажите пожалуйста как можно подобный алгоритм реализовать в событии "ПослеЗаписи"?
Если Не СтрНайти(Объект.Ссылка.СрочностьДо,ТекущийОбъект.Срочность) И
ЗначениеЗаполнено(ТекущийОбъект.Срочность)
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Средняя
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Низкая Тогда
ТекущийОбъект.СрочностьДо = ?(ТекущийОбъект.СрочностьДо = "", ТекущийОбъект.СрочностьДо, ТекущийОбъект.Срочность);
Объект.ТекстПисьма = "Срочность заявки измненен на " + Объект.Срочность;
Объект.ТемаПисьма = "Изменение срочности в заявке №" + НомерБезЛидирующихНулей(Объект.Номер) + " на " + Объект.Дата;
СозданиеИОтправкаПисьма19(АдресаКоторымОтправляемПисьма);
ПоказатьТо есть при изменении реквизита отправлялось письмо, сейчас перенес код в "ПослеЗаписи" и там ТекущийОбъект не работает, сейчас каждый раз когда захожу в документ и записываю его отправляется бесконечно письмо, при том что ничего не изменяю в нем. Подскажите пожалуйста как можно подобный алгоритм реализовать в событии "ПослеЗаписи"?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) То есть так?
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма)
Если Не СтрНайти(Объект.Ссылка.СрочностьДо,ТекущийОбъект.Срочность) И
ЗначениеЗаполнено(ТекущийОбъект.Срочность)
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Средняя
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Низкая Тогда
ТекущийОбъект.СрочностьДо = ?(ТекущийОбъект.СрочностьДо = "", ТекущийОбъект.СрочностьДо, ТекущийОбъект.Срочность);
Объект.ТекстПисьма = "Срочность заявки измненен на " + Объект.Срочность;
Объект.ТемаПисьма = "Изменение срочности в заявке №" + НомерБезЛидирующихНулей(Объект.Номер) + " на " + Объект.Дата;
КонецПроцедуры
Показать
&НаСервере
Процедура ПослеЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма)
СозданиеИОтправкаПисьма19(АдресаКоторымОтправляемПисьма);
КонецПроцедуры
(6) Так?
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма)
Если Не СтрНайти(Объект.Ссылка.СрочностьДо,ТекущийОбъект.Срочность) И
ЗначениеЗаполнено(ТекущийОбъект.Срочность)
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Средняя
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Низкая Тогда
ТекущийОбъект.СрочностьДо = ?(ТекущийОбъект.СрочностьДо = "", ТекущийОбъект.СрочностьДо, ТекущийОбъект.Срочность);
Объект.ТекстПисьма = "Срочность заявки измненен на " + Объект.Срочность;
Объект.ТемаПисьма = "Изменение срочности в заявке №" + НомерБезЛидирующихНулей(Объект.Номер) + " на " + Объект.Дата;
СозданиеИОтправкаПисьма19(АдресаКоторымОтправляемПисьма);
КонецЕсли;
КонецПроцедуры
Показать
&НаСервере
Процедура ПослеЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма)
СозданиеИОтправкаПисьма19(АдресаКоторымОтправляемПисьма);
КонецПроцедуры
(9)
&НаСервере
Процедура ПослеЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма)
Если ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно() Тогда
СозданиеИОтправкаПисьма19(АдресаКоторымОтправляемПисьма);
КонецЕсли;
КонецПроцедуры
(10) Фигня?
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма, ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно)
Если Не СтрНайти(Объект.Ссылка.СрочностьДо,ТекущийОбъект.Срочность) И
ЗначениеЗаполнено(ТекущийОбъект.Срочность)
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Средняя
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Низкая Тогда
ТекущийОбъект.СрочностьДо = ?(ТекущийОбъект.СрочностьДо = "", ТекущийОбъект.СрочностьДо, ТекущийОбъект.Срочность);
Объект.ТекстПисьма = "Срочность заявки измненен на " + Объект.Срочность;
Объект.ТемаПисьма = "Изменение срочности в заявке №" + НомерБезЛидирующихНулей(Объект.Номер) + " на " + Объект.Дата;
ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно();
КонецЕсли;
КонецПроцедуры
Показать
&НаСервере
Процедура ПослеЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма)
Если ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно() Тогда
СозданиеИОтправкаПисьма19(АдресаКоторымОтправляемПисьма);
КонецЕсли;
КонецПроцедуры
Функция ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно()
Объект.Флаг = Истина;
КонецФункции
(12) Придумал так, но получается тоже самое так как "ТекущийОбъект" тоже не работает в функции. Не могу пока догнать до того как вы это видите
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма, ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно)
Если Не СтрНайти(Объект.Ссылка.ТипыРешенийДо,ТекущийОбъект.ТипыРешений) И ЗначениеЗаполнено(ТекущийОбъект.ТипыРешений)
И Объект.ТипыРешений = Перечисления.ивсТипыРешений.Выполнено
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.ОченьВысокая
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Высокая Тогда
ТекущийОбъект.ТипыРешенийДо = ?(ТекущийОбъект.ТипыРешенийДо = "", ТекущийОбъект.ТипыРешенийДо, ТекущийОбъект.ТипыРешений);
Объект.ТекстПисьма = "Обработка вашей заявки " + ТекущийОбъект.Тема + " была завершена";
Объект.ТемаПисьма = "Обработка вашей заявки " + "“" + ТекущийОбъект.Тема + "”" + " была завершена со статусом " + "“" + ТекущийОбъект.ТипыРешений + "”";
ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно(ТекущийОбъект);
Показать
&НаСервере
Процедура ПослеЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, АдресаКоторымОтправляемПисьма)
Если ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно() Тогда
СозданиеИОтправкаПисьма19(АдресаКоторымОтправляемПисьма);
КонецЕсли;
КонецПроцедуры
Функция ПроверимУстановленЛиФлагЧтоПисьмоОтправлятьНужно()
Если Не СтрНайти(Объект.Ссылка.ТипыРешенийДо,Объект.ТипыРешений) И ЗначениеЗаполнено(Объект.ТипыРешений)
И Объект.ТипыРешений = Перечисления.ивсТипыРешений.Выполнено
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.ОченьВысокая
И Объект.Срочность <> Перечисления.ивсСрочностьЗаявокИТ.Высокая Тогда
Объект.ТипыРешенийДо = ?(Объект.ТипыРешенийДо = "", Объект.ТипыРешенийДо, Объект.ТипыРешений);
Объект.ТекстПисьма = "Обработка вашей заявки " + Объект.Тема + " была завершена";
Объект.ТемаПисьма = "Обработка вашей заявки " + "“" + Объект.Тема + "”" + " была завершена со статусом " + "“" + Объект.ТипыРешений + "”";
Объект.Флаг = Истина;
КонецЕсли;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот