|
А откуда вызывается процедура ОбработкаПроведения? | ☑ | ||
---|---|---|---|---|
0
User_Agronom
27.03.13
✎
10:47
|
В модуле документа есть такая процедура. Но откуда и кто её вызывает?
|
|||
1
cw014
27.03.13
✎
10:49
|
Платформа по ночам еее вызывает, вместо проституток
|
|||
2
User_Agronom
27.03.13
✎
10:53
|
(1) Сам догадался или подсказал кто?
|
|||
3
cw014
27.03.13
✎
10:54
|
(2) Каков вопрос, таков ответ
|
|||
4
НафНаф
27.03.13
✎
10:54
|
СП сперли?
Описание: Возникает при проведении документа. Основное назначение процедуры-обработчика данного события - генерация движений по документу. Выполняется в транзакции записи. |
|||
5
hhhh
27.03.13
✎
10:56
|
(2) почитай, что такое "События" и "Обработчики событий".
|
|||
6
User_Agronom
27.03.13
✎
10:59
|
Если <некое условие на запрет проведения> тогда
Отказ = истина; Возврат КонецЕсли; Работает нормально, но выскакивает окно типа неудалось провести документ. Задача стоит в том, что это окно не нужно. Просто не провести документ и всё. |
|||
7
НафНаф
27.03.13
✎
11:00
|
(6) заключи в Попытка Исключение, обрабатывай исключение сам
|
|||
8
User_Agronom
27.03.13
✎
11:04
|
(7) Наверное не поможет. Все равно эта процедура передаст управление тому кто её вызвал.
А окно это выводит тот, кто вызвал эту процедуру. |
|||
9
НафНаф
27.03.13
✎
11:05
|
(8) так ты заключи в попытку именно место вызова записи
|
|||
10
cw014
27.03.13
✎
11:06
|
(8) А ты рискни
|
|||
11
ptiz
27.03.13
✎
11:07
|
(6) Делай свою кнопку "Попробовать провести".
|
|||
12
ДенисЧ
27.03.13
✎
11:10
|
(6) а он у тебя должен не проводиться или не делать движений? :-)
|
|||
13
User_Agronom
27.03.13
✎
11:11
|
Безумству храбрых поём мы песню
Попытка Если <условие> тогда Отказ = истина; Возврат КонецЕсли; Исключение // КонецПопытки; Ничего не изменилось. Как и следовало ожидать. Нужно смотреть то место, где обрабатывается значение переменной Отказ |
|||
14
User_Agronom
27.03.13
✎
11:11
|
(12) Ничего - не проводить и не делать движения
|
|||
15
User_Agronom
27.03.13
✎
11:14
|
Суть такова: на документ установлен запрет редактирования после проведения. Т.е. провёл и с концами.
Поэтому при проведении должно быть окно, предупреждающее об этом. Если да - провести (работает нормально), а если нет не проводить. Не проводит, но появляется дополнительное окно. Задача стоит от этого второго окна избавиться. PS инструкцией пользователю не решить - слишком большая текучка кадров |
|||
16
НафНаф
27.03.13
✎
11:15
|
(13) потому что ты не читаешь, что тебе пишут
|
|||
17
Reset
27.03.13
✎
11:16
|
(13) Меньше пей песни, больше читай (7) (9) (11)
|
|||
18
PCcomCat
27.03.13
✎
11:16
|
Курите:
Если <условие> тогда РежимПроведения = РежимЗаписиДокумента.ОтменаПроведения; КонецЕсли; |
|||
19
cw014
27.03.13
✎
11:16
|
(16) Чукча не читатель, Чукче нужно знать, кто вызывает втихаря обработку проведения
|
|||
20
jackal-655600
27.03.13
✎
11:20
|
В модуле документа в обработчике ПередЗаписью выполняй проверку.
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) ПередЗаписью (BeforeWrite) Синтаксис: ПередЗаписью(<Отказ>, <РежимЗаписи>, <РежимПроведения>) Параметры: <Отказ> Тип: Булево. Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись документа выполнена не будет. Значение по умолчанию: Ложь <РежимЗаписи> Тип: РежимЗаписиДокумента. В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи. <РежимПроведения> Тип: РежимПроведенияДокумента. В данный параметр передается текущий режим проведения. Изменение значения параметра позволяет изменить режим проведения. Описание: Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа. |
|||
21
Reset
27.03.13
✎
11:23
|
(18) (20)
Оно сработает, но, имхо, это неправильно - был запрос на выполнение действия, ожидается или выполнение действия, или отказ от выполнения. Вместо этого внезапно выполняется (молча!) другое действие. Как - то оно нехорошо, имхо. |
|||
22
cw014
27.03.13
✎
11:24
|
Телекомпания "НТВ" представляет...
Программа "Максимум", показать все что скрыто.... Ученые наконец то установили, откуда вызывается процедура "ОбработкаПроведения"... |
|||
23
jackal-655600
27.03.13
✎
11:26
|
Я предлагаю, в обработчике ПередЗаписью поставить Отказ = Истина, если не прошла проверка условия. И дальше действия не пойдут.
|
|||
24
PCcomCat
27.03.13
✎
11:28
|
(21)Ну а если автору так хочется. пусть делает, а потом будет разгребать вопли.
|
|||
25
Reset
27.03.13
✎
11:31
|
(24) Да пусть, конечно. Я не зря аж два раза "имхо" написал :)
|
|||
26
User_Agronom
27.03.13
✎
11:33
|
(25) (24) Уже об этом думаю. Нехорошо получается.
(18) Этот вариант работает. |
|||
27
jackal-655600
27.03.13
✎
11:38
|
(26) Если использовать написано в (18), это не приведет к тому, что есть проведенный документ, его открываю, при попытке провести отказываются от проведения и у документа исчезают движения?
|
|||
28
User_Agronom
27.03.13
✎
11:39
|
(27) Пользователь проведённый документ может только просматривать. Поэтому тут не так страшно.
|
|||
29
Reset
27.03.13
✎
11:40
|
(27) Приведет. Можно режим "Запись" устанавливать.
Но это приведет к другому - есть проведенный, чтото меняет, проводит - оп, "провелось" (ошибки нет) |
|||
30
jackal-655600
27.03.13
✎
11:43
|
(29) Согласно (15) проведенные документы должны открываться только на просмотр. Остается проведение документов из списка документов или обработкой.
|
|||
31
User_Agronom
27.03.13
✎
11:46
|
(30) Поставить проверку на роль. Все равно же права на проведение оптом или обработкой никто простому оператору не даст.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |