Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Наверх
то ждем ваше обращение в нашей службе тех поддержки.
Добрый день, коллеги!
Поговорим немного онеудобствахбагах в Битриксе, которые живут вместе с нами в 14й версии.
На написание данного поста меня сподвигло последнее общение с техподдержкой, где мне ясно дали понять, что с определенными багами они делать ничего не собираются.
Как оказалось, зря я себя тешил мыслью, что я такой "молодец" и нахожу какие-то ошибки, сообщаю о них и делаю тем самым продукт лучше, но увы, это никому не нужно.
Итак, краткий экскурс по фичам\багам
1 ) Проблема с функцией \FindUserID()
Данная функция не работает в форме быстрого редактирования записей (см. вложение)
Конечно не критичная проблема, но неприятная.
Номер обращения в разработку: 45220.
2 ) Security Issue
Мне лично очень нравится этот, по моему мнению баг, ну или огромный недочет.
Думаю многим из нас, приходилось включать режим отладки, чтобы увидеть, что за ошибка возникает и затем ее поправить. Речь идет о файле /bitrix/.settings.php и параметре 'debug' => true
Некоторые хранят этот параметр всегда включенным.
А теперь самое интересное, если параметр включен и выполнить код вида
Ну забыли вы fetch сделать, с кем не бывает?
и в результирующем объекте видим вот такую мелочь:
Данные доступа к БД в открытом виде. Т.е. бери, подключайся, меняй пароль к админу и делай на сайте, что хочешь.
Сообщил о проблеме в Техподдержку, на что получил интересный ответ:
С горем пополам удалось убедить, что это все же проблема
Категория: Пожелания.
Номер обращения в разработку: 34271.
правда это категория пожелания, то есть ждать года эдак 3.
Сижу вот, жду, когда же разработчики начнут использовать новое ядро и результаты их "трудов" проиндексирует, например google.
3 ) \Bitrix\Main\UserTable::getById(null)
Подобная выборка:
возвращает данные данные пользователя с ID=1, мягко говоря совсем не очевидно.
Номер обращения в разработку: 45287.
Вроде даже есть исправление, но обновления с ним пока что-то не видно.
4 ) Некорректное описание полей возвращаемых \Bitrix\Main\UserTable::getMap()
\Bitrix\Main\UserTable::getMap() возвращает "слегка" некорректное описание полей, а именно нет флага обязательности полей, что позволяет создать пользователя без логина\пароля и других полей.
Как потом работать с таким пользователем без логина и пароля я пока не придумал. Может у кого-то есть идеи?
Номер обращения в разработку: 45330.
Обновления также пока не увидел, хотя есть уведомление, что исправлено.
5 ) Некорректная работа нового API, D7
Тут сложно объяснить, возможно просмотр видео поможет
Правда техподдержка проблемы не моделирует или не хочет. Зато проблема есть у меня локально, у ряда пользователей моих модулей и в демо-лаборатории, что должно быть поводом как минимум задуматься.
Номер обращения в разработку: 46486.
Да, вот кстати пришло мне сообщение от одного из пользователей модуля, который общается с техподдержкой
Т.е. разбираться в проблеме не интересно.
6) \Bitrix\Main\UserTable::getById() и Пользовательские поля, Группы
Выборка групп пользователей в принципе не работает изначально, даже если ее попытаться добавить самостоятельно
то в результате будет массив вида:
Не будем брать в расчет, что имена полей сложно использовать, так еще и группа будет выбрана только 1. Если у Вас пользователь находится в нескольких группах, будьте любезны выбрать все группы самостоятельно и отдельно.
Метода getById и getRowById Никогда не будут возвращать пользовательские свойства и принадлежность группы.
Хотя про пользовательские поля я погорячился. Они вроде и описаны в классе, но не работают, совсем никак не работают, возвращают fatal error
Добиться от техподдержки вменяемого ответа как или когда не получилось
7 ) Не работает "Печать" заказа
Для НЕ ru сайтов из огромного числа форм для печати заказа работает только 1, зачем выводятся остальные я так и не понял.
Категория: Пожелания.
Номер обращения в разработку: 46604.
8 ) /bitrix/modules/main/classes/mssql/database.php ошибка перевода времени в am\pm
Проблема состоит в некорректном формировании даты, например, вы создали сообщение в живую ленту в 12:07(по 24 часовой схеме), то получите результат 12:07AM(по 12 часовой схеме), однако это 00:07(по 24 часовой схеме), т.е. вы потеряете 12 часов на преобразованиях даты\время, не говоря о душевных страданиях людей которые используют 12 часовую схему. В Битриксе с использованием MSSQL просто не бывает 12:xx pm
Категория: Пожелания.
Номер обращения в разработку: 46712.
Судя по переписке с техподдержкой решать проблему не будут.
PS. Надеюсь когда-нибудь, все эти проблемы пофиксят и мы сможем спокойно заниматься разработкой...
Назад в раздел
Поговорим немного о
На написание данного поста меня сподвигло последнее общение с техподдержкой, где мне ясно дали понять, что с определенными багами они делать ничего не собираются.
Как оказалось, зря я себя тешил мыслью, что я такой "молодец" и нахожу какие-то ошибки, сообщаю о них и делаю тем самым продукт лучше, но увы, это никому не нужно.
Итак, краткий экскурс по фичам\багам
1 ) Проблема с функцией \FindUserID()
Данная функция не работает в форме быстрого редактирования записей (см. вложение)
Конечно не критичная проблема, но неприятная.
Номер обращения в разработку: 45220.
2 ) Security Issue
Мне лично очень нравится этот, по моему мнению баг, ну или огромный недочет.
Думаю многим из нас, приходилось включать режим отладки, чтобы увидеть, что за ошибка возникает и затем ее поправить. Речь идет о файле /bitrix/.settings.php и параметре 'debug' => true
Некоторые хранят этот параметр всегда включенным.
А теперь самое интересное, если параметр включен и выполнить код вида
| Код |
|---|
use Bitrix\Main\SiteTable as BxSiteTable;
$siteSource = BxSiteTable::getList(
array(
'select' => array('LID'),
'filter' => array('ACTIVE' => 'Y')
)
);
echo '<pre>';
print_r($siteSource);
|
Ну забыли вы fetch сделать, с кем не бывает?
и в результирующем объекте видим вот такую мелочь:
| Цитата |
|---|
|
[configuration:protected] => Array ( [className] => \Bitrix\Main\DB\MysqlConnection [host] => localhost [database] => cv [login] => root [password] => [options] => 2 ) |
Сообщил о проблеме в Техподдержку, на что получил интересный ответ:
| Цитата |
|---|
|
Данная переменная защищенная и не может быть изменена. Как разработчик имеющий доступ к php вы имеете доступ ко всем данным сервера. Наши разработчики не видят в этом проблемы, а случае использования нескольких баз это дает понимание от куда приходят данные. |
Категория: Пожелания.
Номер обращения в разработку: 34271.
правда это категория пожелания, то есть ждать года эдак 3.
Сижу вот, жду, когда же разработчики начнут использовать новое ядро и результаты их "трудов" проиндексирует, например google.
3 ) \Bitrix\Main\UserTable::getById(null)
Подобная выборка:
| Код |
|---|
$result = \Bitrix\Main\UserTable::getById(null)->fetch();
|
Номер обращения в разработку: 45287.
Вроде даже есть исправление, но обновления с ним пока что-то не видно.
4 ) Некорректное описание полей возвращаемых \Bitrix\Main\UserTable::getMap()
\Bitrix\Main\UserTable::getMap() возвращает "слегка" некорректное описание полей, а именно нет флага обязательности полей, что позволяет создать пользователя без логина\пароля и других полей.
Как потом работать с таким пользователем без логина и пароля я пока не придумал. Может у кого-то есть идеи?
Номер обращения в разработку: 45330.
Обновления также пока не увидел, хотя есть уведомление, что исправлено.
5 ) Некорректная работа нового API, D7
Тут сложно объяснить, возможно просмотр видео поможет
Правда техподдержка проблемы не моделирует или не хочет. Зато проблема есть у меня локально, у ряда пользователей моих модулей и в демо-лаборатории, что должно быть поводом как минимум задуматься.
Номер обращения в разработку: 46486.
Да, вот кстати пришло мне сообщение от одного из пользователей модуля, который общается с техподдержкой
| Цитата |
|---|
| Проблема описанная в заявке 46486, закрыта с комментарием, что она не воспроизводиться локально или связана именно с вируальной лабораторией |
6) \Bitrix\Main\UserTable::getById() и Пользовательские поля, Группы
Выборка групп пользователей в принципе не работает изначально, даже если ее попытаться добавить самостоятельно
| Код |
|---|
use \Bitrix\Main\UserTable as BxUser;
class UserTable extends BxUser{
public static function getMap(){
$map = parent::getMap();
$map['USER_GROUPS'] = array(
'data_type' => 'Bitrix\Main\UserGroup',
'reference' => array('=this.ID' => 'ref.USER_ID')
);
return $map;
}
}
|
| Код |
|---|
[KM_USER_USER_USER_GROUPS_USER_ID] => 1
[KM_USER_USER_USER_GROUPS_GROUP_ID] => 1
[KM_USER_USER_USER_GROUPS_DATE_ACTIVE_FROM] =>
[KM_USER_USER_USER_GROUPS_DATE_ACTIVE_TO] =>
|
Метода getById и getRowById Никогда не будут возвращать пользовательские свойства и принадлежность группы.
Хотя про пользовательские поля я погорячился. Они вроде и описаны в классе, но не работают, совсем никак не работают, возвращают fatal error
| Код |
|---|
$u = \Bitrix\Main\UserTable::getList(array(
"select"=>array(
"*",
"UTS_OBJECT",
),
"filter"=>array("=ID"=>1)
));
echo '<pre>';
print_r($u->fetch());
|
| Цитата |
|---|
| Разработчики пока не могут дать конкретного ответа как сейчас будет построена схема взаимодействия с пользовательскими полями. |
Для НЕ ru сайтов из огромного числа форм для печати заказа работает только 1, зачем выводятся остальные я так и не понял.
Категория: Пожелания.
Номер обращения в разработку: 46604.
8 ) /bitrix/modules/main/classes/mssql/database.php ошибка перевода времени в am\pm
Проблема состоит в некорректном формировании даты, например, вы создали сообщение в живую ленту в 12:07(по 24 часовой схеме), то получите результат 12:07AM(по 12 часовой схеме), однако это 00:07(по 24 часовой схеме), т.е. вы потеряете 12 часов на преобразованиях даты\время, не говоря о душевных страданиях людей которые используют 12 часовую схему. В Битриксе с использованием MSSQL просто не бывает 12:xx pm
Категория: Пожелания.
Номер обращения в разработку: 46712.
Судя по переписке с техподдержкой решать проблему не будут.
PS. Надеюсь когда-нибудь, все эти проблемы пофиксят и мы сможем спокойно заниматься разработкой...
Назад в раздел
Подписаться на новые материалы раздела:
Загрузка...
Наверх