|
Подписка ПриЗаписиДокумента - как тихо сохранить документ? | ☑ | ||
---|---|---|---|---|
0
1с-кин
19.01.12
✎
16:59
|
Меняю номер в подписке, присваиваю объекту - появляется модифицированность, и выскакивает снова подтверждение на запись - и снова в подписку по рекурсии.
Как бы этого избежать? |
|||
1
mikecool
19.01.12
✎
17:00
|
использовать ПередЗаписью
|
|||
2
1с-кин
19.01.12
✎
17:10
|
(1) ПередЗаписью еще не сформирован сам номер. А заменять нумератор - не планирую :)
|
|||
3
Alex_MA
19.01.12
✎
17:11
|
подписка ПриУстановкеНомвогоНомера
|
|||
4
pumbaEO
19.01.12
✎
17:12
|
Меняю номер в подписке - А заменять нумератор - не планирую : две взаимоисключающие фразы.
|
|||
5
1с-кин
19.01.12
✎
17:17
|
(3) там тоже номер еще не сформирован.
(4) меняю = подправляю нули лидирующие. |
|||
6
pumbaEO
19.01.12
✎
17:20
|
Перенумератор уже скачал... :)
ПриУстановкеНомвогоНомера, но нумератор твой. |
|||
7
1с-кин
19.01.12
✎
17:21
|
Да мне не нужен новый нумератор, мне нули убрать нужно ))
|
|||
8
1с-кин
19.01.12
✎
17:22
|
притом если подколючать новый нумератор - в старых доках номера стираются навечно.
|
|||
9
Maxus43
19.01.12
✎
17:24
|
>>Меняю номер в подписке, присваиваю объекту - появляется модифицированность
насколько я помню - это не реально, ПриЗаписи (объекта, не формы)- меняй что хочеш без предупреждений. "Подписка" ПриЗаписи - если это подписка на событие - ничо не выскочит, подписки на формы не работают |
|||
10
1с-кин
19.01.12
✎
17:26
|
(9) если бы работало - я бы не спрашивал :)
а оно выскакивает после "доделки" номера на форме - подтвердить да/нет. |
|||
11
Maxus43
19.01.12
✎
17:30
|
(10) дак я и говорю - доделывай номер у объекта самого а не на форме
|
|||
12
Maxus43
19.01.12
✎
17:31
|
ну и модифицированность = Ложь можеш попробовать после изменения номера в контексте формы
|
|||
13
1с-кин
19.01.12
✎
17:32
|
(11) так и меняю по подписке, а после выскакивает - снова отрабатывают события по форме.
(12) подписка и события на форме напрямую не связаны - а "вязать" их, так смысл в подписке? |
|||
14
1с-кин
19.01.12
✎
17:33
|
+ (13) т.е. мы не можем управлять, что должно выполняться после подписки.
|
|||
15
Maxus43
19.01.12
✎
17:38
|
что ты понимаеш под "Подпиской"?
|
|||
16
1с-кин
19.01.12
✎
17:45
|
(15) ну не на журнал "Голые телки на бампере" же :)
Подписка на событие. |
|||
17
Maxus43
19.01.12
✎
17:48
|
подписка на событие работает только с объектом, форме его не назначить, значит если в подписке поменять реквизит объекта - не будет никаких вопрошаний что мол изменилось, записать или нет. Если такое предупреждение - значит меняеш что-то в форме перед записью
|
|||
18
igork1966
19.01.12
✎
17:50
|
(7) Т.е. нумератор хочешь сломать кодом? ;-o
|
|||
19
mikecool
19.01.12
✎
17:51
|
(13) как умудрился вызвать событие формы после подписки?
|
|||
20
igork1966
19.01.12
✎
17:52
|
(18) + Нормальные герои всегда идут в обход
|
|||
21
1с-кин
19.01.12
✎
18:04
|
(19) да кто его знает - почему запись номера у объекта вызывает модификацию ... чего-то.
Почему "чего-то" - потому что модифицирую объект (у которого нет свойства "модифицируемость"), а звездочка горит у формы - именно после присвоения "нового" номера. убираю присвоение - модифицированности нет. Вот и задался вопросом - а как по-тихому разрулить. |
|||
22
Maxus43
19.01.12
✎
18:05
|
(21) код подписки в студию
|
|||
23
1с-кин
19.01.12
✎
18:09
|
(22) а нужно кому?
вот без этого - никаких изменений (и в номере тоже), с ним - все ок, кроме повторного вызова опять ПриЗаписи. Подписка сама - тоже на ПриЗаписи.: Источник.Номер = Префикс + Номер; |
|||
24
1с-кин
19.01.12
✎
18:14
|
Соответственно, Источник - это ОбъектДокумент, когда после подписки возвращается - уже модификация горит.
Если номер не записывать в объект - не горит. |
|||
25
acsent
19.01.12
✎
18:16
|
Префикс не так добавляется
|
|||
26
1с-кин
19.01.12
✎
18:29
|
(25) а как? они оба строковые
|
|||
27
1с-кин
20.01.12
✎
00:03
|
(25) если про брать Организация.Префикс - так здесь он плюс допы.
|
|||
28
1с-кин
23.01.12
✎
16:12
|
В общем, вот такие пироги с нумерацией:
- использовать Нумератор нельзя - "старые" номера волшебным образом стираются, и восстановить их можно только заново записав. Так что отказался сразу. - в подписке ПриУстановкеНовогоНомераДокумента - нет как такового самого нового номера документа: он еще не создан. Для этого используем метод документа УстановитьНовыйНомер(). Это дает другой эффект - при УстановитьНовыйНомер() вызывается подписка ПриУстановкеНовогоНомераДокумента, и возникает бесконечная рекурсия. Так что эта подписка тоже отклоняется. - подписка на "ПриЗаписиДокумента": новый номер уже сформирован автоматическим Нумератором, но присвоение нового номера вызывает модификацию формы (т.к. ПриЗаписиДокумента вызывает ПриЗаписиФормы, и новый номер дает модификацию эелментов формы), и отработку всего сопуствующего функционала - снова по "ПриУстановкеНовогоНомера, вопросы "данные изменились - что делать?" и т.д. А как передать в подписку, что нужно сохранять "тихо" в форме - непонятно. Вроде никак. Поэтому отклоняем. - подписка на событие ПередЗаписью. Форма и документ еще не записаны, т.е. ПриЗАписиФормы не отрабатывает при смене номера. НосСнова нет формирования исходного номера документа. Ставим опять УстановитьНовыйНомер(). Чтобы новый номер не формировался в уже созданном документе - ставим проверку на "ЭтоНовый?" Чтобы не стирался уже введенный номер (например, введенный вручную) ставим еще проверку и на ЗначениеЗаполнено(Номер). Вот так заработало. В общем, использовать подписки для модификации самих же вызвавших подписку объектов - не предусмотрено. Много проблем, а иногда и простто невозможно. Назначение подписок - реагировать на события документов (и др. объектов) и заполнять какие-то третьи объекты данными на основе введенных в Источник. |
|||
29
ptiz
23.01.12
✎
16:46
|
Использовать метод .Записать() в ПриЗаписи() еще не предлагали?
|
|||
30
1с-кин
24.01.12
✎
17:42
|
(29) это вы в подписке будете вызывать метод Записать() ?! ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |