Страница 2 из 2
Re: Куда записываются выбранные записи в интерфейсе PickCat
Добавлено: 10 окт 2003, 19:33
sth
если маркер сохраняется в dsk, то можно попробовать его оттуда выцепить если знать его имя. но не факт конечно что здесь это получится...все зависит от реализации всего этого хозяйства в данном конкретном случае.
Re: Куда записываются выбранные записи в интерфейсе PickCat
Добавлено: 27 авг 2012, 15:00
zna
Подскажите пож., интерфейс производственных заказов (Планирование производства-> Документы -> Производственные заказы) M_MNPLAN::irMnPlan в маркер с каким именем сохраняет записи? В Рick'e нет записей.
Re: Куда записываются выбранные записи в интерфейсе PickCat
Добавлено: 27 авг 2012, 15:23
Dmitry_Sol
К сожалению без докомпиляции у вас ничего не получится
вот их событие mcmarkunmark
Код: Выделить всё
Table Struct tmpMnPlanForDel
(
cMnPlan : tNRec
)
..........
cmMarkUnMark:
{
if (IsValid(tntmpMnPlanForDel))
{
delete current tmpMnPlanForDel;
}
else
{
ClearBuffer(#tmpMnPlanForDel);
set tmpMnPlanForDel.cMnplan := MnPlan.Nrec;
Insert Current tmpMnPlanForDel;
}
RedrawCurrentAndGo (GetCurrentFormat, true);
}
Я делал докомпиляцию, для записи в pick
вот такого вида
Код: Выделить всё
#component "M_MNPLAN"
alter interface IRMNPLAN;
create view as select pick.* from pick where ((11027 == pick.wlist and mnplan.nrec == pick.crec));
handleevent
cmMarkUnMark:
{
if (IsValid(tntmpMnPlanForDel))
{
delete current tmpMnPlanForDel;
}
else
{
ClearBuffer(#tmpMnPlanForDel);
set tmpMnPlanForDel.cMnplan := MnPlan.Nrec;
Insert Current tmpMnPlanForDel;
}
if isvalid(#pick) {
delete current pick;
}else
{
ClearBuffer(#Pick);
set Pick.wlist:=11027;
set Pick.crec :=mnplan.nrec ;
insert current pick;
}
redrawCurrentAndGo(brMnPlanZakazNeedMt, true);
redrawCurrentAndGo(brMnPlanSort, true);
rescanpanel(#MnPlan);
rescanpanel(#tmpsort);
}
cmSelectAll:
{
if curFormatinArea(brMnPlanZakazNeedMt)=brMnPlanZakazNeedMt
{
pushPos(#mnPlan);
_loop mnplan
{
if (IsValid(tntmpMnPlanForDel))
{
delete current tmpMnPlanForDel;
}
else
{
ClearBuffer(#tmpMnPlanForDel);
set tmpMnPlanForDel.cMnplan := MnPlan.Nrec;
Insert Current tmpMnPlanForDel;
}
if not isvalid(#pick) {
ClearBuffer(#Pick);
set Pick.wlist:=11027;
set Pick.crec :=mnplan.nrec ;
insert current pick;
}
}
popPos(#mnplan);
rescanpanel(#MnPlan);
}
if curFormatinArea(brMnPlanSort)=brMnPlanSort
{
pushPos(#tmpsort);
_loop tmpsort
{
if (IsValid(tntmpMnPlanForDel))
{
delete current tmpMnPlanForDel;
}
else
{
ClearBuffer(#tmpMnPlanForDel);
set tmpMnPlanForDel.cMnplan := TmpSort.crec;
Insert Current tmpMnPlanForDel;
}
if not isvalid(#pick) {
ClearBuffer(#Pick);
set Pick.wlist:=11027;
set Pick.crec :=tmpsort.crec;
insert current pick;
}
}
popPos(#tmpsort);
rescanpanel(#tmpsort);
}
}
cmUnSelectAll :
{
delete all pick where ((11027 == pick.wlist));
delete all tmpMnPlanForDel;
rescanpanel(#MnPlan);
rescanpanel(#tmpsort);
}
end.
Re: Куда записываются выбранные записи в интерфейсе PickCat
Добавлено: 27 авг 2012, 15:50
zna
У меня задача, собственно, проще.. Из своего интерфейса вызываю стандартный:
Код: Выделить всё
RunInterface(M_MNPLAN::irMnPlan, 0, 17, crec);
- в результате первый вызов проходит нормально, а на втором и последующем получаю предупреждение
Код: Выделить всё
Возникло необработанное исключение...
Ссылка не была инициализирована...
Вот я и подумал, что либо в Pick'e, либо в маркере записи сохраняются после первого вызова, которые дают это сообщение..
Может, вызов неправильный?
Re: Куда записываются выбранные записи в интерфейсе PickCat
Добавлено: 27 авг 2012, 16:06
Dmitry_Sol
я ПЗ вызываю через
Код: Выделить всё
runinterface('M_MNPLAN::mnpldisp',3,17,нрек ПЗ);
проблем никогда не было.
Re: Куда записываются выбранные записи в интерфейсе PickCat
Добавлено: 27 авг 2012, 16:27
zna
Да, вызывается без проблем!
Как бы вот догадаться сразу