Имя: Пароль:
1C
1С v8
Закрытый заказ и его статусы
0 rogi_rog
 
10.06.15
15:51
Добрый день, товарищи! Всем как всегда хорошего настроения!

Платформа 8.3.5.1517
Конфа УТ 11.1.10.111
Серверная версия

Суть такая. Хочу при закрытии заказа (установка статуса "Закрыт") отправлять людям письмо, мол спасибо! но есть одно но, в модуле объекта есть только "ПередЗаписью" и "ПриЗаписи", а вот "ПослеЗаписи" только в форме документа, что крайне неудобно, ибо есть такая штука (далее опишу алгоритм действий):
1. создали заказа, все движения по нему выполнили, все доки сделали, привели в статус "К отгрузке" а доки реализации тоже "К отгрузке"
2. пытаюсь заказ в статус "Закрыт". говорит - иди нафиг, не все отгружено. Иду в РТиУ, ставлю "Реализовано", иду в заказ и в статус "Закрыт" провести, все ок.

но есть одно но, в таком случае, если запихнуть  мою процедуру, которая работает в ПередЗаписью, то письмо отпраавляется два раза! вот условие в ПередЗаписью:
Если ЭтотОбъект.Статус <> ЭтотОбъект.Ссылка.Статус И ЭтотОбъект.Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт Тогда
   ...МояЧудеснаяПроцедураКотораяТипаКакБыРаботает...
КонецЕсли;

может кто-то подскажет, как сделать так, чтобы все это отправлялось только один раз, при проведении (удачном) заказа в статус "Закрыт"?
1 Звездец
 
10.06.15
15:54
ПослеЗаписи?
2 VikingKosmo
 
10.06.15
15:54
А ничего, что статусы документа можно менять из формы списка документа например?
3 Звездец
 
10.06.15
15:56
Можно еще посмотреть, может там есть какие события при изменении и реализовать это подпиской
4 rogi_rog
 
10.06.15
22:23
(1) вот проблема как раз в том, что описал (2), но проверяющий заказы закрывает их то из формы документа, то из формы списка (зависит от того, нужно проверять заказ или нет. внутренняя политика контроля)

(3) подумал на счет ОбработкаПроведения, но вот засада - туда статус предыдущий не передается, то есть при повторном проведении тоже отработает процедура отправки.

может какой индикатор булево установить на форму, типа при первом проведении в "Закрыт" проверяем на Истина, если нет, то устанавливаем Истина и отправляем, иначе не отправляем. далее конечно может сработать какой-то чел. фактор, кто-то может снять эту галку, но не манагеры, от них заказ закрыт для редактирования в статусе "Закрыт". ну а если снимут, то вопросы к контролеру. можно такое провернуть, резонный способ, далее масштабируемый касательно обновлений (да да, я еще и обновляю ее :) )?
5 rogi_rog
 
11.06.15
09:08
(4) Ход конем :) я вместе с письмом же еще и карту лояльности формирую автоматом... вот и привязал на это.

если карты нет, то знач создать карту и отправить
если карта есть, то ничего не делать

всем спасибо!
6 WebberNSK
 
11.06.15
09:09
(0) сделать доп. реквизит "письмо отправлено" и фоновое задание, которое будет ночью собирать нужные заказы и отправлять письмо
7 WebberNSK
 
11.06.15
09:10
(6) + чтобы потом вот такие темы не создавать:

УФ. Медленно проводится документ.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший