Здравствуйте!
Подскажите, пожалуйста, почему не получается осуществить множественный выбор центров ответственности с помощью данного кода:
if (runinterface('GetCO',word(cgiPickMult),0,0,cotv)<>cmCancel)
{if ((getfirst pick where ((35 == pick.wlist))) = tsok or cotv <> comp(0))
do
{inc(count2);
Message(cotv);
}while ((getnext pick where ((35 == pick.wlist))) = tsok)
gr_cent := 'Выбран ' + count2 + ' центр отв-ти.';
}else
gr_cent:='Ничего не выбрано!'
rescanPanel(tnpick);
}
Независимо от количества выбранных центров, всегда отображается информация только по одному:(
Множественный выбор центров ответственности
Модераторы: m0p3e, edward_K, Модераторы
Re: Множественный выбор центров ответственности
А почему вы используете Pick?
Код: Выделить всё
if RunInterface('GetCO', word(cgiPickMult), comp(0), comp(0), ValueCO) = cmDefault
{
DoneMarker(MyCOMarker,'');
MyCOMarker := InitMarker('GetSomeFpCO', 8, 200, 100);
CountInCOMarker := GetMarkerCount(MyCOMarker);
if CountInCOMarker = 1
GetMarker(MyCOMarker, 0, ValueCO)
else
{
Set ValueCO := 0;
Set COStr := 'Выбрано ЦО ' + string(CountInCOMarker)
}
}
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Множественный выбор центров ответственности
У нас есть отчет:Реестр счетов-фактуров, и там все данные - контрагенты, статьи затрат и центр ответственности выбирают именно через pick. Но раньше была возможность выбрать только один центр ответственности, а теперь нужно реализовать возможность множественного выбора...
Re: Множественный выбор центров ответственности
Код: Выделить всё
if RunInterface('GetCO', word(cgiPickMult), comp(0), comp(0), ValueCO) = cmDefault
{
DoneMarker(MyCOMarker,'');
MyCOMarker := InitMarker('GetSomeFpCO', 8, 200, 100);
CountInCOMarker := GetMarkerCount(MyCOMarker);
for(i:=0;i<CountInCOMarker; i++) {
GetMarker(MyCOMarker, i, ValueCO);
...
}
}
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны