skiph написал(а):
-------------------------------------------------------
> Спасибо за ответ, но с этой конструкцией тоже
> возникли проблемы, скорее всего из-за того, что
> какие-то повторения выдавали 0, а какие-то 1,
Да, я лишь скорректировал исходный вариант. Если у Вас включено усечение для дисциплин и специальностей, лучше было бы использовать примерно следующий подход:
if s((if p(v691) then if (&uf('Av2226#1'):s('='v691^D'$') and (&uf('Av2226#1'):s('='v691^С'$')) then 'true' break fi fi))<>'' then '1' else '0' fi
Счетчики сейчас использовать не рекомендуется.
Можно было бы пойти дальше и с помощью регулярных выражений заменять один из операторов "*" в запросе на "(F)" в CGIFLK.PFT. Можно было бы ввести в форму новые поименованные параметры для полей Специальность и ДИсциплина, а затем формировать фрагмент запроса, связанный с дисциплинами и специальностями, уже на уровне CGIFLK.PFT по нужному алгоритму.