Страница 1 из 1

Докомпиляция в УПЛ

Добавлено: 22 сен 2011, 20:46
n0where
Хочу докомпилить накладную на отпуск в производство. При изменении статуса выполнить алгоритм.

Пробывал Nakl501 докомпилить фейс - не отрабатывает.

Может там какаято фитча зарыта. Можете помочь...

Re: Докомпиляция в УПЛ

Добавлено: 23 сен 2011, 11:15
oiko
Nakl501 нормально докомпилиться 35 компилятором.
А 37 почему-то не может пишет не вижу события makeorder.

Re: Докомпиляция в УПЛ

Добавлено: 23 сен 2011, 20:38
n0where
Докомпилю cmPick - на изменение статуса хочу запустить фейс. Не получает, не отрабатывает.

Re: Докомпиляция в УПЛ

Добавлено: 26 сен 2011, 15:40
oiko
Как-то вот так прокатывает (сам пока проверить не могу)?
#component "M_UP"
alter Interface Nakl501;
Window EditSopr 'Редактирование накладной' EscClose;
show at (,,112,31);
HandlEevent //
cmpick: {
case CurField of
#NamStat :{ message('ok');}
else inherited::handleEvent(cmpick);
end; // case
}
end;// HandlEevent
end;//EditSopr
end.

Re: Докомпиляция в УПЛ

Добавлено: 03 окт 2011, 09:21
n0where
Спасибо помогло ))))

Re: Докомпиляция в УПЛ

Добавлено: 04 окт 2011, 16:12
n0where
Помогло только сделать после изменения статуса, до сделать то не получается

Re: Докомпиляция в УПЛ

Добавлено: 05 окт 2011, 17:50
oiko
Теже яйца только в профиль.
В чем конкретно проблема?

Re: Докомпиляция в УПЛ

Добавлено: 05 окт 2011, 18:13
oiko
Упрощенно
#component "M_UP"
alter Interface Nakl501;
Window EditSopr 'Редактирование накладной' EscClose;
show at (,,112,31);
HandlEevent //
cmpick: {
case CurField of
#NamStat :{
if( RunInterface('GetSomKatNotes', word(100), word(0), word(0), False, KatSopr.cNote) = cmCancel )
Exit;
else
message('УУУУ счас как заменю');
Set KatSopr.Status := KatNotes.Status;
message('Все уже поздно заменил');
}
else inherited::handleEvent(cmpick);
end; // case
}
end;// HandlEevent
end;//EditSopr
end.

Re: Докомпиляция в УПЛ

Добавлено: 05 окт 2011, 18:51
edward_K
можно сделать слегка изящней
1. объявляете некую переменную и обнуляете ее
2. перед запуском inherited запоминаете в нее значения поля status или cnote (в case curfield)
3. запускаете inherited
4. проверяете изменилось ли поле по сравнению с переменой и делаете чаго либо.

Re: Докомпиляция в УПЛ

Добавлено: 05 окт 2011, 19:08
oiko
если очень хочется до то сначала возвращаете запомненное в переменной значение статуса
делаете свое грязное дело затем обратно присваиваете новое значение
(Вообщем неясно маниакальное стремление сделать именно до изменения)

Re: Докомпиляция в УПЛ

Добавлено: 06 окт 2011, 08:13
n0where

Код: Выделить всё

#component "M_UP"
alter Interface Nakl501;
Window EditSopr 'Редактирование накладной' EscClose;
show at (,,112,31);
HandlEevent //
cmpick: {
case CurField of
#NamStat :{
message('типа до изменения');
inherited::handleEvent(cmpick);
message('типа после');
}
end;
}
end;// HandlEevent
end;//EditSopr
end.
запускается выбор катнотес.
потом сообщение
потом запписаь данных
потом ещё сообщения.

Мне не нужно вызывать выбор катнотес. т.к. если я сделаю отмену, то это эргономично не удобно