Имя: Пароль:
1C
1С v8
А откуда вызывается процедура ОбработкаПроведения?
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) Поставить проверку на роль. Все равно же права на проведение оптом или обработкой никто простому оператору не даст.