2 of 2 one pipe!

# Powershell, 149 148 bytes

-1 byte thanks to @AdmBorkBork. It's cool!

$i=-1 ($a=(,1*8+0,1*3)*3+,1*7|%{$_*(1+(Random 9))})|?{++$i;!$_}|%{6..8+1|%{$_,-$_}|%{$a[$i]+=$a[$i+$_]}}
-join($a|%{if(!(++$i%7)){"
"};'{0,3}'-f$_})  Explanation: $i=-1                       # let $i store -1 ($a=                        # let $a is array of random numbers with zero holes (,1*8+0,1*3)*3+,1*7| # the one-dimension array equals # 1 1 1 1 1 1 1 # 1 0 1 0 1 0 1 # 1 1 1 1 1 1 1 # 1 0 1 0 1 0 1 # 1 1 1 1 1 1 1 # 1 0 1 0 1 0 1 # 1 1 1 1 1 1 1 %{ # for each element$_*(1+(Random 9))   # multiply 0 or 1 element to random digit from 1 to 9
}                       # now $a stores values like (* is a random digit from 1 to 9) # * * * * * * * # * 0 * 0 * 0 * # * * * * * * * # * 0 * 0 * 0 * # * * * * * * * # * 0 * 0 * 0 * # * * * * * * * )|?{++$i;!$_ # calc index$i and passthru values == 0 only
}|%{                        # for each zero value cell with index $i 6..8+1|%{ # offsets for the surrounding cells # . . . # . x +1 # +6 +7 +8$_,-$_ # add the mirror offsets # -8 -7 -6 # -1 x +1 # +6 +7 +8 }|%{ # for each offset$a[$i]+=$a[$i+$_]   # add surrounding values to the cell
}
}
# display the $a -join($a|%{                   # for each value of $a if(!(++$i%7)){"n"} # line break for each 7 cells
'{0,3}'-f$_ # formatted value of$a with width = 3 char and align right
}
)                           # join all values to string
`