Как в ОбработкеПроведения определить, что документ проводится в первый раз? #503142


#0 by detec
Сабдж. Движения добавляются в цикле по табличной части. После добавления движения внутри цикла необходимо определить, что документ проводится впервые, что это не перепроводка базы и т.п. Как это можно реализовать? Пробовал ЭтоНовый и Проведен - они не различают первой и последующих перепроводок.
#1 by Mitriy
для чего такой изврат?
#2 by IronDemon
#3 by detec
Тут речь идёт не о запрете редактирования. По каждой строке документа, если он проводится впервые, должно улетать письмо. Получается, что из ОбработкиПроведения нужно вставить обход ТЧ ранее, ПриЗаписи, к  примеру?
#4 by Mitriy
ПередЗаписью
#5 by Irbis
Пиши в реквизит ТЧ ПисьмоОтправлено=Истина;
#6 by Mitriy
а если документ изменят и проведут, письма отправляться не должны?
#7 by detec
Понял, спасибо.
#8 by Irbis
И лучше после записи и проведения. Мало ли чего...
#9 by detec
Не должны. А куда тогда вставлять?
#10 by Irbis
ПослеЗаписи
#11 by Mitriy
+ ПриЗаписи в модуле объекта... с проверкой на Проведен...
#12 by Irbis
Лучше наоборот в форме.
#13 by detec
Пока попробую ПередЗаписью. Программировать такое в форме - ИМХО, неправильно в свете потенциального перехода на 8.2 и управляемое приложение.
#14 by detec
Итоги. В модуле объекта в ПередЗаписью корректно работает следующий код:
#15 by Mitriy
а если не проведется?
#16 by hhhh
если не проведется, всё равно ведь письма надо отправить. Если логически подумать. Важет сам факт первого проведения.
#17 by Всеяд
Если требования для высылки писем строги (высылать только при первом удачном проведении), то я бы вообще в проведении категорию документу проверял/устанавливал (если типовая и категории присутствуют, иначе - любой РС для доп. свойств). И весь код (и пометка о проведении, и высылка писем) оставил бы в обработке проведения/подписке.
#18 by Sammo
Имхо, в ПередЗаписью некорректно, т.к. документ может быть незаписан (а письмо уйдет). Как вариант - переменная моудля объекта. В ПередЗаписью присваивать ЭтоНовый, в ПриЗаписи использовать
#19 by detec
В процедуре ПередЗаписью больше ничего нет, поэтому 100% будет записан. строгих требования по отправке нет. Наоборот, админы грозятся санкциями за спам при перепроводках. Пока проверил на тестовой базе - вариант в устраивает.
#20 by Кокос
логичнее былобы не отрабатывать "первое проведение документа". логичнее былобы создать бизнеспроцесс "ОповещениеСотрудникаОПриемеУвольнении" :)
#21 by detec
В тиражной конфигурации или на предприятии с тысячами сотрудников - согласен. Но не хочется городить кучу кода ради 100+ человек в штате.
#22 by Irbis
Нет ничего более постоянног, чем временное. Лучше сделай сразу нормально.
#23 by Mitriy
про 100% ты поторопился...
#24 by Кокос
ну если нет требования об обязательной доставке тогда вопрос решен :)
#25 by Sammo
Ню-ню. В общем рекомендую сразу предусмотреть - как будешь объяснять, что документ не записался, а письмо отправлено.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С