Там скорее всего не дает закрыть, потому что есть действующий сервис на текущую дату . Надо дату закрыть предыдущим днем ..
Вот тут была похожая проблема.
Статья из wiki
Цитата:
Конвертер: шлюзы(в устройства INET), ip-реcурсы, типы правил(в опции INET), привязку договоров к шлюзам(в сервисы Inet).Схема dhcp-mikrotik-dlink/mirotik
Ссылку на wiki могу вставить на страницу, так как она ее раcтягивает почему-тоКод:
for ( InetServ oldServ : wsServ.inetServList( cid ) )
{
//во такой вот костыль чтобы удалить сервис, иначе не дает
if ( oldServ.getDateTo() == null || TimeUtils.dateBefore( now, oldServ.getDateTo() ) )
{
oldServ.setDateTo( TimeUtils.getPrevDay( now ) );
try
{
//logger.info( "updating serv date for cid = " + cid );
wsServ.inetServUpdate( oldServ, new ArrayList<InetServOption>(), false, false, 0 );
}
catch( Exception e )
{
String message = "Error while updating service date for contract " + cid + ":" + e.getMessage() ;
logger.error( message, e );
print( message );
//logger.error( "", e );
continue;
}
}