Имя: Пароль:
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) Поставить проверку на роль. Все равно же права на проведение оптом или обработкой никто простому оператору не даст.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn