Зависимые решения: принцип установки
Пример тому - модуль Счета: он выводит на экран некие счета неких контактов. Эти контакты ассоциируются с текущим пользователем через другой модуль. Очевидно, что без наличия его в системе, работа данного модуля будет парализована.
Пример тому - модуль Счета: он выводит на экран некие счета неких контактов. Эти контакты ассоциируются с текущим пользователем через другой модуль. Очевидно, что без наличия его в системе, работа данного модуля будет парализована.
В таком случае, у пользователя возникает естественное желание уже в процессе установки модуля знать, чего ему не хватает для полноценной работы, а в идеале - автоматически подхватывать и устанавливать все дополнительные инструменты.
Решением данной проблемы будет следующее:
в начало метода
| InstallDB()
			 | 
который находится в папке модуля в файле /install/index.php
добавляем следующий код:
| 				if(!IsModuleInstalled("mcart.crmticketassociation"))             {                          $APPLICATION->IncludeAdminFile(GetMessage("CC_1CACTGENERATE_MODULE_NOT_INSTALLED_ERROR"),                 $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/current.module/install/error_mess.php");             return false;             }
			 | 
error_mess.php - файл, содержащий сообщение об ошибке и отсыл к установке связанного модуля. Он должен располагаться в той же папке, что и установочный файл index.php, а методу $APPLICATION->IncludeAdminFile нужно передать абсолютный путь к нему.
Таким образом - если в языковых файлах определены соответствующие сообщения об ошибках - задача решена.