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

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

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

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

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

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

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

"Количество" в групповой спецификации

Автор Prog2, 16.08.11, 13:15:31

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

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

Prog2

Здравствуйте! Возник вопрос.
Требуется изменить значение в колонке "Количество" при создании объекта групповой спецификации.
Делаю приблизительно вот так:
  ksUserParam* pUserParm = (ksUserParam*)pKompas->GetParamStruct(ko_UserParam);
  ksLtVariant* pItem = (ksLtVariant*)pKompas->GetParamStruct(ko_LtVariant);
  ksDynamicArray* pArr = (ksDynamicArray*)pKompas->GetDynamicArray(LTVARIANT_ARR);
  if ( !pUserParm || !pItem || !pArr )   return 0;
  pUserParm->SetUserArray( pArr );
  .
  .
  .
  int ElementsQuantity = 5;
  pArr->ksClearArray();
  pItem->Init();
  pItem->strVal = StringToOleStr(IntToStr(ElementsQuantity));
  pArr->ksAddArrayItem( -1, pItem );
  pSpc->ksSpcChangeValue(SPC_COUNT, 1, pUserParm, STRING_ATTR_TYPE);

И в результате получаю такую картинку: в групповой спецификации в первую подстроку количества записалось "5", а в остальных "1". А нужно, чтобы во всех подстроках было "5".


Как правильно записывать? К чему обращаться?

Prog2

Надо было вот так делать:
int ElementsQuantity = 5;
spc.ksSetSpcObjectColumnText(ldefin2d.SPC_CLM_COUNT, 1, 0, ElementsQuantity.ToString());
spc.ksSetSpcObjectColumnText(ldefin2d.SPC_CLM_COUNT, 1, 1, ElementsQuantity.ToString());
// ...
// и т.д. в зависимости от количества исполнений