Извиняюсь, немного ошибся. Не OnBeforePrint, а для формы, конечно же - OnActivate. Чтобы до конца разобраться с SPC поясню... SPC - имя параметра, прописанного в списке параметров MQuery. Этому параметру присвоено значение scrSPC, которое формируется в обработчике активации формы. В обработчике, в зависимости от настроек пользователя, формируется строка, содержащая имя одной из хранимых процедур базы данных с передаваемыми параметрами. Подобные механизмы с макроподстановками используются в большинстве отчетов АРМК. Вчера вечером не сразу понял, что речь идет об отчете по продажам, подумал, что речь идет об отчете по чекам. К сожалению, вся выборка информации о продажах производится хранимыми процедурами (одна - для выборки по датам, вторая - для выборки по номерам смен). Критерии отбора передаются в процедуры входными параметрами. Все возможные параметры задаются пользователем при настройке отчета. Т.е. для того, чтобы добавить критерий отбора "нал/безнал", придется вносить изменения в хранимые процедуры БД. Для реализации задуманной Вами модификации отчета необходимо будет внести изменения в 4 хранимые процедуры:
- SPC_REP_SALES_ON_KL
- SPC_REP_SALES_ON_DATE
- SPCA_REP_SALES_ON_KL
- SPCA_REP_SALES_ON_DATE
и в шаблон отчета. Во все хранимые процедуры придется добавить еще 1 входной параметр. В процедурах SPCA_REP_SALES_ON_KL и SPCA_REP_SALES_ON_DATE при отборке чеков (в конструкциях FOR SELECT ... FROM CHECKS) добавить условие отбора по этому дополнительному параметру. В шаблоне отчета в обработчике активации формы добавить еще 1 параметр в вызов процедур. Значение этого параметра будет определяться состоянием, добавленного Вами чекбокса.
P.S. Обращаю внимание на то, что при внесении подобного изменения в базу данных, все отчеты и программы, обращающиеся к указанным хранимым процедурам, будут возвращать ошибку, поскольку не будет совпадать число параметров, передаваемых в процедуры.