Имя: Пароль:
1C
1С v8
Как правильно сгенерировать форму нового документа после проведения другого
,
0 bahtik
 
10.09.13
20:58
Здравствуйте!
1С 8.3. Есть документ "Оказание услуг", при проведении которого проверяются некие условия, и если они выполняются, то клиенту присваивается новый вид скидки. При этом необходимо, чтобы сотрудник выдал ему соответствующую дисконтную карту. В системе для этого предназначен документ "Выдача дисконтной карты". Подскажите, пожалуйста, как правильно реализовать задачу, чтобы после проведения документа "Оказание услуг" автоматически открывалась форма нового документа "Выдача дисконтной карты"?
У меня самого есть мысли сделать специальный реквизит-флаг в документе "Оказание услуг", и при оперативном проведении проставлять его, а затем с помощью подписки на событие проведения этого документа проверять его и формировать новый документ. Но что-то мне кажется, что это все как-то через задницу... Или для 1С это нормально? ))
1 Рэйв
 
10.09.13
21:06
Жесть. Жестяная:-)
2 Рэйв
 
10.09.13
21:09
(0)Прими как правило.
Дурной тон что-то менять в другом документе при записи/проведении третьего
-потому что потом запаришься отслеживать все при отмене проведения подчиненного.
3 bahtik
 
10.09.13
21:12
(2) Так я не собираюсь менять в другом документе. Ладно, забудь про формирование нового документа. Упростим задачу. К примеру, нужно вывести сообщение пользователю после проведения документа, если в нем выполнились определенные условия. Так лучше? ;)
4 Рэйв
 
10.09.13
21:13
(3)После проведения ? или ВО ВРЕМЯ проведения.?
Это очень разные вещи
5 bahtik
 
10.09.13
21:14
(3) ...Только естественно, что имеется в виду, что сообщение нужно выводить ПОСЛЕ проведения, а не в его модуле ;)
6 bahtik
 
10.09.13
21:14
О! Вот я о том же )))
7 GROOVY
 
10.09.13
21:14
(3) После проведения? Ну тогда событие "После записи" в модуле формы.
8 Рэйв
 
10.09.13
21:15
(5)Какие именно? например?
9 Рэйв
 
10.09.13
21:15
(7)Не факт. А если программная запись?
10 Рэйв
 
10.09.13
21:16
...и проведение естессно
11 bahtik
 
10.09.13
21:17
(7) (9) Ой, а и в правду, в моем случае подойдет "После записи", т.к. это должно происходить, когда с документом интерактивно работает сотрудник...
12 bahtik
 
10.09.13
21:17
Все гениальное просто. )) Спасибо!
13 bahtik
 
10.09.13
21:18
А вообще, уже ради спортивного интереса, так сказать, как лучше эту задачу реализовать, если, как заметил Рэйв, программная запись?
14 bahtik
 
10.09.13
21:19
Можно ли как-то лучше, чем я предложил в (0)?
15 Рэйв
 
10.09.13
21:21
(13)Если честно, е лучше вообще не реализовать:-). Кривая схема.
Но если будет еще и програмная запись, то есть процедура ПередЗаписью() в модуле объекта... где можно все проверить и завернуть если что не так.

Но если честно, я бы на таоем месте все таки подал над схемой, а не над кодом.
16 GROOVY
 
10.09.13
21:21
(9) Если программная запись, то какая нафиг форма другого документа?!
17 Рэйв
 
10.09.13
21:22
подал= подумал
18 Рэйв
 
10.09.13
21:23
(16)Да легко,Павел:-) Ты что не знаешь как они могут?
Создали документ, заполнили и тут же открыли его форму.На всякий случай:). Сплошь и рядом.
19 bahtik
 
10.09.13
21:28
(16) Ну, с формой нового документа согласен, но если опять таки упростить все до сообщения пользователю... Ну даладно, в принципе, это уже я так, ради общего кругозора. А в данном конкретном случае вопрос действительно решается (7).
20 bahtik
 
10.09.13
21:28
Еще раз вам, парни, благодарствие ;)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший