Если у главного устройства могут быть дочерние устройства, нужно
Создать класс, унаследованный от класса TChildDeviceInterface
Сгенерировать идентификатора типа дочернего устройства.
Например, в Delphi нажать комбинацию клавиш Ctrl-Shift-G.
В классе главного устройство перекрыть метод ChildClassByModuleInterface
Из перекрытого метода нужно вернуть нужный класс дочернего устройства в зависимости от идентификатора типа дочернего устройства, переданного в метод
В карточке редактирования программного модуля дочернего устройства в поле Интерфейс нужно указать созданный идентификатор типа дочернего устройства.
А в разделе Подключающие модули той же карточки указать программный модуль главного устройства.
Пример.
interface
type
TFiscalMainDeviceInterface = class(TssSomeMainDeviceInterface)
// Некоторый код пропущен
protected
function ChildClassByModuleInterface(ModuleInterface: TModuleInterface): TChildDeviceInterfaceClass; override;
// Некоторый код пропущен
end;
implementation
function TFiscalMainDeviceInterface.ChildClassByModuleInterface(ModuleInterface: TModuleInterface): TChildDeviceInterfaceClass;
const
MODULE_INTERFACE_CHILD: TGUID = '4E22E5C2-F4FE-4706-95D7-1E1872450D77';
begin
if SameGUID(ModuleInterface, CHILD_DEVICE_ChildFiscal_ModuleInterface) then
Result := TChildFiscalDeviceInterface
else
Result := inherited;
end;