Cita: si quito el parametro del id_empresa, funciona perfecto, trae las compras en en el periodo especificado.
Bueno, eso significaría que no hay compras que se correspondan con el id_empresa que estás ingresando para el período invocado.
Sería mejor que verificaras bien los valores de las variables al momento de crear la sentencia.