Assuming you don't want the overall last purchase date (I am making that assumption because that is what you should get with
SELECT top 1 * FROM TR_PURCHH where TR_PURCHH.DOC_DATE between '2021-12-01' and '2021-12-31'
order by DOC_DATE desc
but that you want the last purchase date based on your initial query, then just use an appropriate GROUP BY e.g.
SELECT
MS_SUPP_MANUFACTURE.NAME SUPPLIER,
MS_ITEMS.SUPPLIER_CODE SUPPLIER_CODE,
MS_ITEMS.ITEM_CODE BB_CODE,
MS_ITEMS_TYPE.ITEM_TYPE,
TR_PURCHD.QTY Quantity,
MAX(TR_PURCHH.DOC_DATE) Last_Purchase_date
FROM
TR_PURCHH WITH(NOLOCK) INNER JOIN TR_PURCHD WITH(NOLOCK) ON TR_PURCHD.PURCHH_ID=TR_PURCHH.ID
AND TR_PURCHH.CANCELED = 0
AND TR_PURCHH.ISSUED = 1
AND TR_PURCHH.DOC_TYPE_CODE IN ('C-IM','C-FI','C-FT')
AND TR_PURCHH.DOC_DATE between '2021-12-01' and '2021-12-31'
INNER JOIN MS_ITEMS WITH(NOLOCK) ON TR_PURCHD.ITEM_ID= MS_ITEMS.ID
and ISNULL(MS_ITEMS.SUPPLIER_CODE,'')<>''
INNER JOIN DB_COMPANY WITH (NOLOCK) ON TR_PURCHH.COMP_CODE=DB_COMPANY.COMP_CODE
INNER JOIN MS_PARTNERS WITH(NOLOCK) ON TR_PURCHH.PARTNER_ID=MS_PARTNERS.ID
LEFT JOIN MS_ITEMS_TYPE WITH(NOLOCK) ON MS_ITEMS_TYPE.ID = MS_ITEMS.ITEM_TYPE_ID
LEFT JOIN MS_SUPP_MANUFACTURE WITH(NOLOCK) ON MS_ITEMS.SUPP_MANUFACTURE_ID=MS_SUPP_MANUFACTURE.ID
GROUP BY
MS_SUPP_MANUFACTURE.NAME SUPPLIER,
MS_ITEMS.SUPPLIER_CODE SUPPLIER_CODE,
MS_ITEMS.ITEM_CODE BB_CODE,
MS_ITEMS_TYPE.ITEM_TYPE
or to get the last purchase date by supplier (some of the joins may not be required)
SELECT
MS_SUPP_MANUFACTURE.NAME SUPPLIER,
MS_ITEMS.SUPPLIER_CODE SUPPLIER_CODE
MAX(TR_PURCHH.DOC_DATE) Last_Purchase_date
FROM
TR_PURCHH WITH(NOLOCK) INNER JOIN TR_PURCHD WITH(NOLOCK) ON TR_PURCHD.PURCHH_ID=TR_PURCHH.ID
AND TR_PURCHH.CANCELED = 0
AND TR_PURCHH.ISSUED = 1
AND TR_PURCHH.DOC_TYPE_CODE IN ('C-IM','C-FI','C-FT')
AND TR_PURCHH.DOC_DATE between '2021-12-01' and '2021-12-31'
INNER JOIN MS_ITEMS WITH(NOLOCK) ON TR_PURCHD.ITEM_ID= MS_ITEMS.ID
and ISNULL(MS_ITEMS.SUPPLIER_CODE,'')<>''
INNER JOIN DB_COMPANY WITH (NOLOCK) ON TR_PURCHH.COMP_CODE=DB_COMPANY.COMP_CODE
INNER JOIN MS_PARTNERS WITH(NOLOCK) ON TR_PURCHH.PARTNER_ID=MS_PARTNERS.ID
LEFT JOIN MS_ITEMS_TYPE WITH(NOLOCK) ON MS_ITEMS_TYPE.ID = MS_ITEMS.ITEM_TYPE_ID
LEFT JOIN MS_SUPP_MANUFACTURE WITH(NOLOCK) ON MS_ITEMS.SUPP_MANUFACTURE_ID=MS_SUPP_MANUFACTURE.ID
GROUP BY
MS_SUPP_MANUFACTURE.NAME SUPPLIER,
MS_ITEMS.SUPPLIER_CODE SUPPLIER_CODE