Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Справочник: почтовое уведомление если справочник изменен. Один раз          
Constantus Подменю пользователя
сообщение 22.10.20, 10:50
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане.
1с8.3.12, самопис, УФ

Глобальная задача: в справочнике, если он был изменен при "Сохранить" и/или "Сохранить и закрыть", то отправить почтовое сообщение, причем один раз.

Сделал функцию отправки почтового сообщения (работает без проблем)
Разместил в модуле объекта код "ПриЗаписи(Отказ)":

Если Не Отказ Тогда
    ОтправитьУведомление();
КонецЕсли;


Всё работает. Но столкнулся с такой проблемой: если нажать сначала "Сохранить", а потом на "Сохранить и закрыть", то уведомление отправляется дважды.
Требуется отправить сообщение единожды, т.е. как-то проверить: сли справочник модифицирован, то при записи отправлять уведомление, если, справочник не изменялся, то никаких уведомлений отправлять не надо...

Посоветуйте как лучше сделать? Модифицированность в модуле объекта не работает....

Хотел это перенести это в модуль формы, но не знаю на какое событие правильно повесить оповещение...

pablo Подменю пользователя
сообщение 22.10.20, 11:13
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

А если между сохранить и "сохранить и закрыть" данные в справочнике были изменены?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Vofka Подменю пользователя
сообщение 22.10.20, 11:43
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13947
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Записать элемент справочника можно и не меняя его. Например, открыл, посмотрел, нажал ОК. В вашем случае тоже происходит запись без изменения, когда человек сначала жмет "Сохранить", а потом "Сохранить и закрыть".
Поэтому если в условие задачи звучит как
Цитата(Constantus @ 22.10.20, 11:50) *
если он был изменен

вам надо проверить изменился ли он. Если изменился - только тогда слать сообщение. Тогда и ваша проблема решится и проблема отправки ненужных сообщений, когда происходит перезапись элемента справочника без его изменения.

Как рабочий костыль можно сохранить в ПередЗаписью свойство Модифицированность куда-то, в ПриЗаписи проверить на Отказ и значение этого свойства, если не отказ и Модифицированность = Истина - тогда отправлять. Это не гарантирует, что элемент изменился, но описанную вами проблему решит.

Сообщение отредактировал Vofka - 22.10.20, 11:45

kihor Подменю пользователя
сообщение 22.10.20, 17:22
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 82
Спасибо сказали: 11 раз
Рейтинг: 9

Constantus @ Сегодня, 11:50 * ,

Можно сделать регистр сведений с измерением GUID элемента справочника и ресурсом "Хеш-значение" основных его реквизитов. При записи элемента справочника проверять, есть ли он в этом регистре, и если "нет", то делать запись туда (чтобы письма не слать повторно) и отправлять письмо.
Если надо проверять изменились ли реквизиты справочника при записи, то, если есть запись в регистре сведений - смотреть хеш-значение основных реквизитов справочника.
Проще что-то ничего в голову не приходит.

sava1 Подменю пользователя
сообщение 22.10.20, 17:45
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

в модуле объекта ПередЗаписью сравнить объект с тем , что в базе - выбрать запросом

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.03.24, 10:26
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!