Имя: Пароль:
1C
 
Проведение документов. не срабатывает ОбработкаУдаленияПроведения.
0 Gorr
 
18.10.04
10:57
Если из диалога проведение документов выбрать уже проведенные и перепроводить, то не срабатывает предопределенная процедура ОбработкаУдаленияПровдения.
Что означает перепровести документ или провести проведенный без отмены проведения?
Ведь то, что предопределенная не вызывается означает что документ не откатывается. Если же вручную из журнала делать не проведенным, то процедура срабатывает.
Подскажите что можно сделать.
Заранее благодарю
1 Волшебник
 
18.10.04
11:01
При перепроведении эта процедура не срабатывает - так и задумано. Документ проведен и проводится заново. Только система удаляет перед этим его движения (если стоит соотв. флаг "Удалять движения автоматически").
2 Rovan
 
гуру
18.10.04
11:02
Вроде как да - проц ПриОтменеПроведения срабатывает только при именно отмене проведения, а при перепроведении производится автоматическое удаление движений (если конечно птица установлена).
А что там у тебя в ОтменеПрведения делается ?
3 Gorr
 
18.10.04
11:15
Дело в том, что у меня один и тот же регистр может двигаться разными документами. Так вот, при проведении документ ставит флаг (реквизит одного из документов которые могут двигать этот регистр), что мол он сделал движение и другие доки при проведении проверяют этот флаг и другие условия и регистр не трогают.
При перепроведении необходимо не только отменить движнеия по этому регистру, но и снять флаг.
Сейчас ситуация такая. ТА перенес на первый документ в журнале. флаг включен и даже при полном перепроведении, движений по регистру вовсе нет.

Я конечно уже написал обработку:
Процедура Выполнить()
   док = создатьобъект("Документ");
   док.ВыбратьДокументы();
   пока 1 = док.ПолучитьДокумент() цикл
       если 1 = фПКО тогда
           если док.Вид() = "ПКО" тогда
               док.СделатьНеПроведенным();
           конецесли;
       конецесли;
       если 1 = фФактура тогда
           если док.Вид() = "СчетФактура" тогда
               док.СделатьНеПроведенным();
           конецесли;
       конецесли;
   конеццикла;      
КонецПроцедуры

НО, может быть есть более стандартные пути???

Везде пытаюсь найти сначала стандартные пути:)))
4 Rovan
 
гуру
18.10.04
11:51
1. Странная ситуация - 1 регистр разными документами без пересечений.
2. Делай проверку и ставь флаг в процедуре проведения. Если док-т не проведен не смотри флаг.
5 Aleron
 
18.10.04
12:35
Поясни схему сильно запутано.
Откуда вызываешь процедуру Выполнить ?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.