|
V7 - в форме документа при вызове Записать() не выполняется ПриЗаписи() - может кто помнит | ☑ | ||
---|---|---|---|---|
0
Джордж1
10.01.22
✎
15:50
|
Документ. Перед Печатью записываем документ методом Записать(), но почему то при этом не вызывается предопределенная процедура ПриЗаписи()
В справке написано что Записать() аналогичен интерактивной записи |
|||
1
Kigo_Kigo
10.01.22
✎
15:53
|
Насколько я помню, при Записать() в процедуру ПриЗаписи() не входит
|
|||
2
Kigo_Kigo
10.01.22
✎
15:54
|
||||
3
Джордж1
10.01.22
✎
15:55
|
И как тогда ее вызвать да еще со проверкой выполнения
При обычной записи все проверки в ПриЗаписи() и там СтатусВозврата(0) и отмена записи если нужно |
|||
4
Kigo_Kigo
10.01.22
✎
15:56
|
(3) Читай в (2) там все отоветы
|
|||
5
Джордж1
10.01.22
✎
15:57
|
(4)Не весело. Сейчас вся коонфа унифицирована, а тут придется костыли делать
|
|||
6
Kigo_Kigo
10.01.22
✎
15:58
|
(5) Так в лоб вызывай ПриЗаписи(), тя никто за это не укусит
|
|||
7
Джордж1
10.01.22
✎
15:59
|
(6)Так мне надо проверить - как она отраблотала
|
|||
8
Харлампий Дымба
10.01.22
✎
16:04
|
В типовой ЗиКе так
Процедура ПриЗаписи() ПередЗаписью(); КонецПроцедуры // ПриЗаписи а в Функция ПередЗаписью() запихиваешь всё, что было в ПриЗаписи(), и если СтатусВозврата(0) то возвращай себе 0. И тогда в Печать(): Если ПриЗаписи()=1 Тогда Записать(); Печать(); |
|||
9
Джордж1
10.01.22
✎
16:05
|
Вот так малой кровью вроде работает
ПриЗаписи(); Если СтатусВозврата()=1 Тогда Записать(); Иначе Возврат; КонецЕсли; |
|||
10
trad
10.01.22
✎
16:06
|
(7) СтатусВозврата() - это еще и функция
|
|||
11
Харлампий Дымба
10.01.22
✎
16:07
|
(9) Идеально
|
|||
12
Джордж1
10.01.22
✎
16:08
|
(10)это да. только вот за пределами процедуры вызова - непонятно что она возвращает
|
|||
13
серый КТУЛХУ
10.01.22
✎
16:38
|
(12): ну, вообще-то - известно.
при начале выполнения любого куска кода (включая модальные вызовы) СтатусВозврата() возвращает единицу. в процессе выполнения кода он может бытьть изменен программно или встроенными средствами 1с. |
|||
14
Джордж1
10.01.22
✎
16:50
|
(13)в документации сказано про некое "действие" - а вот что это такое - непонятно.
|
|||
15
Харлампий Дымба
10.01.22
✎
22:51
|
(14) Некое действие - это вызов СтатусВозврата(0), ну или СтатусВозврата(1). То есть ты в одной из процедур/функций делаешь СтатусВозврата(0), то потом тебе по всему стеку вызовов функция СтатусВозврата() будет возвращать ноль. После выхода из последней процедуры значение СтатусВозврата() опять вернётся в единицу. Если после установки СтатусВозврата(0) в этом же стеке вызовов будет выполняться предопределенная процедура, то при завершении отработки этой процедуры, системно событие выполняться не будет.
В документации написано, что устанавливать СтатусВозврата() имеет смысл только в теле предопределенных процедур, но это немного не так. СтатусВозврата() прекрасно отрабатывает свои функции и в пользовательских процедурах, вызванных из предопределенных. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |