Имя: Пароль:
1C
1С v8
Бизнес процесс
,
0 Singenor
 
25.07.12
17:39
Есть бизнес процесс, при нажатии на старт, он запускается, и введеные данные на форме этого БП формируются в письмо, затем отправляются клиенту, как сделать так, что если письмо уже один раз отправили, то больше оно отправляться не будет? потому что сейчас оно отправляется, и пишет, что бизнес процесс стартовал ранее, я же хочу, чтобы если нажимают на кнопку старт БП, то писалось типа "ошибка, бизнес процесс был запущен, оповещение отправлено клиенту"
Заполняется все так:
есть процедура  в модуле моего БП%
ПриЗаписи(Отказ)
Если Стартован Тогда
Сообщить("Оповещение было отправлено клиенту, т.к. бизнес процесс уже был запущен)
Отказ = Истина;
Возврат;
КонецЕсли;
СформироватьПечатнуюФормуСОповещением();
КонецПроцедуры

но в данном случае и при нажатии на кнопку старт БП, и просто при нажатии на ОК, выдается это сообщение, и из-за Возврат не дает закрыть это окошко. Как сделать, чтобы только при нажатии на Старт БП ошибка вылезала, а при нажатии ок все норм закрывалось?
1 Singenor
 
26.07.12
10:16
up
2 Bliz
 
26.07.12
10:20
Вместо СформироватьПечатнуюФормуСОповещением();

Напиши

Если не Отказ тогда
   СформироватьПечатнуюФормуСОповещением();
конецесли;
3 gosn1ck
 
26.07.12
10:21
а там разве при старте БП событие нет?
4 Singenor
 
26.07.12
10:25
(2) письмо все равно отсылается
5 Singenor
 
26.07.12
10:26
(3) нет
6 Bolik1979
 
26.07.12
10:29
(5) У точки старта в маршруте есть обработчик "Перед стартом"
7 Singenor
 
26.07.12
10:33
(6) спасибо, помогло
8 vde69
 
26.07.12
10:40
(6) а если произойдет откат "ПриЗаписи" ??? а оповещение уже ушло???

нормально - пишем в регистр, а из него регламентым заданием оповещаем...
9 Bolik1979
 
26.07.12
10:43
(8) Если откат при записи БП, разве БП стартанет?
10 Bolik1979
 
26.07.12
10:51
(8) Проверил, так и есть (8) прав - перед стартом отрабатывает раньше записи БП
Как вариант - после точки старта сделать точку обработки и в ней формировать оповещения
11 Armando
 
26.07.12
10:52
(10) Да
12 vde69
 
26.07.12
11:41
(10) то-же не катит, что будет если при оповещении будет ошибка? БП уже стартанул и его откатить нельзя...

единственный правильный вариант (8)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.