В целом у меня получился такой же код за исключением пары небольших дополнений:
1. EntityRequisite довольно объемный класс (хранит достаточное количество переменных) и гонять его туда-сюда смысла особого нет, проще использовать существующий инстанс если он есть. Например если на странице не обращались к нему, то он и так будет создан, а если какая-то работа с ним велась то будет использован существующий экземпляр.
2. В select поле звезда означает не "все" поля, а "все явные поля", т.е. если нужно выбрать действительно все поля то нужно дополнять поиск еще и "UF_*" чтобы выбрать действительно все.
3. Лучше воспользоваться статической функцией createFromTimestamp на DateTime классе и передать туда strtotime - таким образом вы не будете зависеть от формата даты портала/пользователя.
use \Bitrix\Main,
\Bitrix\Crm;
Main\Loader::requireModule('crm');
$entityRequisite = Crm\EntityRequisite::getSingleInstance();
$requisiteList = $entityRequisite->getList([
'select' => ['*', 'UF_*'],
'filter' => [
'=CREATED_BY_ID' => 1,
'><DATE_CREATE' => [
Main\Type\DateTime::createFromTimestamp( strtotime("28.09.2022 00:00:00") ),
Main\Type\DateTime::createFromTimestamp( strtotime("01.10.2022 00:00:00") )
]
],
]);
foreach ($requisiteList as $requisite)
{
var_dump($requisite);
}
P.S. Если вы делаете функцию под удаление, то смысла в самой функции нет, т.е. вы спокойно можете в этом же цикле определить нужен ли вам этот реквизит и удалить его если хотите.