Проблемы при докомпиляции

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

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

Ответить
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Проблемы при докомпиляции

Сообщение Nikos »

Добрый день!
Возникла задача сведения об образовании прицепить к таблице CATALOGS (дать возможность прицеплять). Выполнил докомпиляцию интерфейса, вывел конфигуратором поле. Все хорошо работает, если править существующие записи об образовании. Если же добавить новую запись и попытаться тут же прицепить ее к новой таблице, то ничего не получается. Как правильно работать с новыми записями? Вот почти работающий код:

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

#component 'Z_STAFF'

alter interface RECWIN02
create view
as select PlanEducation.name
from synonym Catalogs PlanEducation
where ((EDUCATION.CREF1 == PlanEducation.NREC));

HandleEvent 
  cmPick:
  {
    case CurField of
      #PLANEDUCATION.NAME : 
      {
        RunInterface(GetPlanEdu, PERSONS.NREC, EDUCATION.CREF1);
        if isnew()
					insert current EDUCATION;
				else
          update current EDUCATION;
        RereadRecord;
      }
    end;
    inherited::HandleEvent(cmPick);
  }
end;
end.
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Re: Проблемы при докомпиляции

Сообщение Nikos »

Разобрался - RereadRecord все портил. Вот так все работает:

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

#component 'Z_STAFF'

alter interface RECWIN02
create view
as select PlanEducation.name
from synonym Catalogs PlanEducation
where ((EDUCATION.CREF1 == PlanEducation.NREC));

HandleEvent 
  cmPick:
  {
    case CurField of
      #PLANEDUCATION.NAME : 
      {
        if not isnew()
        {
          RunInterface(GetPlanEdu, PERSONS.NREC, EDUCATION.CREF1);
          update current EDUCATION;
        }
        else
        {
          RunInterface(GetPlanEdu, PERSONS.NREC, EDUCATION.CREF1);
        }
      }
    end;
    inherited::HandleEvent(cmPick);
  }
end;
end.
Ответить