Куда записываются выбранные записи в интерфейсе PickCatalog

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

sth
Постоянный обитатель
Сообщения: 148
Зарегистрирован: 29 мар 2005, 17:49

Re: Куда записываются выбранные записи в интерфейсе PickCat

Сообщение sth »

если маркер сохраняется в dsk, то можно попробовать его оттуда выцепить если знать его имя. но не факт конечно что здесь это получится...все зависит от реализации всего этого хозяйства в данном конкретном случае.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Куда записываются выбранные записи в интерфейсе PickCat

Сообщение zna »

Подскажите пож., интерфейс производственных заказов (Планирование производства-> Документы -> Производственные заказы) M_MNPLAN::irMnPlan в маркер с каким именем сохраняет записи? В Рick'e нет записей.
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

Re: Куда записываются выбранные записи в интерфейсе PickCat

Сообщение 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.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Куда записываются выбранные записи в интерфейсе PickCat

Сообщение zna »

У меня задача, собственно, проще.. Из своего интерфейса вызываю стандартный:

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

RunInterface(M_MNPLAN::irMnPlan, 0, 17, crec);
- в результате первый вызов проходит нормально, а на втором и последующем получаю предупреждение

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

Возникло необработанное исключение...
Ссылка не была инициализирована...
Вот я и подумал, что либо в Pick'e, либо в маркере записи сохраняются после первого вызова, которые дают это сообщение..
Может, вызов неправильный?
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

Re: Куда записываются выбранные записи в интерфейсе PickCat

Сообщение Dmitry_Sol »

я ПЗ вызываю через

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

	  runinterface('M_MNPLAN::mnpldisp',3,17,нрек ПЗ);
проблем никогда не было.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Куда записываются выбранные записи в интерфейсе PickCat

Сообщение zna »

Да, вызывается без проблем! :smile:
Как бы вот догадаться сразу :oops:
Ответить