• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

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

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

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

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

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);

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