Програмка простая, как три копейки. Но есть несколько тонкостей.
Во-первых, в базе документов нет никакого указания, какой отдел их разработал. Это плохо, но есть ответственный за разработку, и можно найти, в каком отделе он работает. Правда, некоторые хитрованы разрабатывали документ, работая в одном отделе, а потом перешли в другой. Еще некоторые отделы были расформированы, и если где-то записи о преемственности сделаны, я этого не знаю и найти не смог. Поэтому уведомления о каких-то документах пойдут не в те отделы, которые за них, по идее, должны отвечать. А другие документы вообще неизвестно, куда направлять. Поэтому все идет в отдел документации копией, и они уже в спорных случаях решают.
Во-вторых, найти человека, ответственного за отдел, тоже оказалось нетривиальной задачей. Вот есть отдел. В нем работают 20 человек. У одного из них менеджерская позиция. Он ответственный за отдел? Не тут-то было. Все знают, кто начальник отдела, и это совсем другой человек. Он у большинства работников отдела значится "начальником" в их записи в табеле кадров. Но сам при этом числится... в другом отделе. Почему так? Не знаю. Но возможны разные ситуации, в том числе, что сотрудник, не имеющий к отделу отношения, получит уведомление о документе, якобы созданном в отделе, но тоже не имеющем к нему отношения. И, естественно, именно такую ситуацию мы с заказчиком и словили при тестировании. Причем, человек, который должен был бы получить уведомление, имеет репутацию стукача и сутяжника.
Что с этим делать, пока непонятно. Можно создать новую табличку отделов и ответственных за них, но тогда кто-то должен ее поддерживать в актуальном состоянии, а это новая обязанность, за которую, вроде как, компания должна кому-то платить, чего она делать не любит и не хочет. Можно сделать более продвинутую процедуру поиска адресатов уведомления, и черный список тех, кому уведомления никогда слать не надо... Думаю. А завтра дедлайн.