# Powershell, 149 bytes

    $i=-1
    $a=(,1*8+0,1*3)*3+,1*7|%{$_*(1+(Random 9))}
    $a|?{++$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 *
                                # * * * * * * *
    $a|?{++$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