На форме компании есть такая кнопочка "Альтернативный адрес". Попробуй "прикрутить" к печатным формам этот функционал. Ну и к соответствующим документам, конечно. Насколько я понимаю, все сводится только и исключительно к печатным формам.
Если вместо одной строки CompanyInfo несколько, то возникает вопрос автоидентификации. Ведь практически по всему коду "размазано" вот такое обращение к реквизитам компании
X++:
companyInfo = CompanyInfo::find()
Ну, и аналогичные вызовы из других статических методов. Т.е. надо будет перекрыть эти методы, чтобы добавить ссылку на "главную" компанию. Затем поискать, не делает ли кто прямого обращения через select companyInfo.
В общем, очень много мелких "телодвижений" совершенно без гарантий, что все будет учтено. Только ради модификации печатных форм я бы такое делать точно не стал.
Причем, насколько я понимаю, ты все-равно добавишь в документы некий идентификатор, который будет определять какую именно запись CompanyInfo надо взять. Так почему бы не добавить ссылку на альтернативный адрес?