Создание новой версии объекта

Автор chip, 13.02.15, 09:16:58

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

chip

Следующий код должен создавать новую версию объекта
Однако после проверки оказывается что версия не добавилась хотя при выполнении ошибки не было.
Хотелось бы понять что не верно или не учтено.

procedure TDM1.test();
var
  CheckOut : string;
  Currentbase : string;
begin
  CurrentBase := a.AppServer.currentbase;
  CDS1.Data := a.AppServer.GetVersionList('Сборочная единица',stProductName,inRetCode,stErrMsg);
  CheckOut := a.AppServer.CheckOut('Сборочная единица',stProductName,CDS1.RecordCount,0,inRetCode,stErrMsg);

  a.AppServer.ConnectToCheckOut(CheckOut,CurrentBase,inRetCode,stErrMsg);

  //a.AppServer.AddToCheckOut(CDS1.RecordCount,true,inRetCode,stErrMsg);

  a.AppServer.NewVersionEx('Сборочная единица',stProductName,CDS1.RecordCount,'Архив','',0,0,inRetCode,stErrMsg);
  ShowMessage(inttostr(inRetCode)+' '+stErrMsg);
  a.AppServer.CheckIn(CHeckOut,CurrentBase,inRetCode,stErrMsg);
  CDS1.Data := a.AppServer.GetVersionList('Сборочная единица',stProductName,inRetCode,stErrMsg);
end;

Manuylov

1. поставьте после каждого вызова метода приложения анализ ошибок
              if inRetCode> 0 then
                raise Exception.Create(stErrMsg);


2. NewVersionEx('Сборочная единица',stProductName,CDS1.RecordCount,'Архив','',0,0,inRetCode,stErrMsg);
CDS1.RecordCount - тип integer, а в NewVersionEx должна передаваться строка и такой код не должен компилиться
тоже самое и в CheckOut

приведите Ваш работающий и компилирующийся код

chip

Это и был работающий и компиллирующийся код. Чуть переписал

a.AppServer.NewVersionEx('Сборочная единица',stProductName,inttostr(CDS1.RecordCount),'Архив','',0,0,inRetCode,stErrMsg);

Ничего не изменилось. новая версия по прежнему не создается

chip

Может кто-нибудь поделится примером использования метода NewVersionEx?

Manuylov

inGroup
[in] Позиция разряда в номере версии, которую нужно увеличить на единицу (инкрементировать).

a.AppServer.NewVersionEx('Сборочная единица',stProductName,inttostr(CDS1.RecordCount),'Архив','',1,0,inRetCode,stErrMsg);

chip

 a.AppServer.NewVersionEx('Сборочная единица',stProductName,inttostr(CDS1.RecordCount),'Архив','',1,0,inRetCode,stErrMsg);
  ShowMessage(inttostr(inRetCode)+' '+stErrMsg);

Manuylov

я тестировал так
  o:= lm.NewVersionEx('Сборочная единица', '!test', '1', 'Проектирование', null, 1, 0, inReturnCode, stErrorMessage);
лоцман 2013 sp1
+ Благодарностей: 1

chip

a.AppServer.NewVersionEx('Сборочная единица',stProductName,'1','Архив',null,1,0,inRetCode,stErrMsg);

Вот в таком виде заработало.