The following snippet fails with error:
The target table \'dbo.forn\' of the OUTPUT INTO clause cannot be on either side of a (primary key, foreign ke
You're correct, output statements won't work on tables under foreign key constraints.
Another option would be to temporarily disable the constraints while you insert the data. Though this shouldn't be the norm, it works well for one time loads of data.
ALTER TABLE dbo.forn
NOCHECK CONSTRAINT FK_forn_prim
GO
INSERT INTO dbo.prim
OUTPUT inserted.c1 INTO dbo.forn
SELECT 1;
ALTER TABLE dbo.forn
CHECK CONSTRAINT FK_forn_prim
GO