Ну собственно сам нашел BXClearCache(true, "/intranet/structure/"); В данном случае очищает не весь - это долго, а только тот что указан (относительно папки /bitrix/cache)
Всем привет. Кто нибудь знает как очищать кэш перед запросами?
Проблема такая, при попытке получить подчиненные подразделения для пользователя при помощи $userStructuraDepartament = CIntranetUtils::getSubStructure($userDepartament, $depth = false);
получаю данные, причем частичные, от запроса предыдущего пользователя. Очищаешь кэш портала, заходит первый пользователь на страницу все данные выдаются корректные, как только заходит второй пользователь на эту страницу получает часть данных от предыдущего. Снова чистишь кэш, первый юзер все получает как надо, каждый последующий нет. Отсюда возник вопрос, как очищать кэш перед запросом?
И кстати, подключать api не нужно, будет выдавать ошибку. В компонентах там все уже подключено. А вот BX.rest.callMethod.get у меня не работает, но у меня коробка старовата видимо
написал: Здравствуйте, давеча столкнулся с такой же проблемой: в приложении для изучения rest-api команды работают, в обычной консоли - нет. Выскакивает та же ошибка, вот только не пойму, как удалось решить проблему через BX.rest.callMethod(), можете объяснить?
а в чем сложность? подключаем api и используем JS библиотеку для того что бы вызвать метод REST API. https://dev.1c-bitrix.ru/rest_help/js_library/rest/callMethod.php вот тут описание этой самой JS библиотеки, вот только там примеры для приложения, а для того что бы это работало в коробке в UI в JS то надо вместо BX24.callMethod вызвать BX.rest.callMethod, т.е. BX24 заменить на BX.rest
А, так вот как это работает, спасибо большое. Проверил, скрипт из примеров отработал нормально
написал: Здравствуйте, давеча столкнулся с такой же проблемой: в приложении для изучения rest-api команды работают, в обычной консоли - нет. Выскакивает та же ошибка, вот только не пойму, как удалось решить проблему через BX.rest.callMethod(), можете объяснить?
а в чем сложность? подключаем api и используем JS библиотеку для того что бы вызвать метод REST API. https://dev.1c-bitrix.ru/rest_help/js_library/rest/callMethod.php вот тут описание этой самой JS библиотеки, вот только там примеры для приложения, а для того что бы это работало в коробке в UI в JS то надо вместо BX24.callMethod вызвать BX.rest.callMethod, т.е. BX24 заменить на BX.rest
Ватсон написал: В сделке есть пользовательское поле типа Файл, в веб интерфейсе можно прикрепить фотку, а в мобильном приложении дает выбрать, но когда жмешь готово, файл в поле показывается, но пишет под ним Некорректный ответ сервера. При сохранении естественно ничего не сохраняется. У кого-нибудь сохраняет приложение файлы в сделке или лиде?
В сделке есть пользовательское поле типа Файл, в веб интерфейсе можно прикрепить фотку, а в мобильном приложении дает выбрать, но когда жмешь готово, файл в поле показывается, но пишет под ним Некорректный ответ сервера. При сохранении естественно ничего не сохраняется. У кого-нибудь сохраняет приложение файлы в сделке или лиде?
любопытно, я что-то смарт процессы принял как что близкое к БП, а не как кастомную сущность. Вот только придется переделывать все что я уже сделал, т к я фактически все сделал - не охота тратить время, да и небось смарты еще сырые
собственно код наверху, но там $fileData получался формой авторизации а вот тут из урла к файлу любого компонента вытаскивается fileId , берется путь по fileId и уже этот файл кормится в сущность по коду выше, только там по моему поле файл принимает массив с массивами описания каждого файла, щас уже не помню. у меня щас код разделен на две части в php готовится массив, а JS его уже записывает по нажатию кнопки и вижу что там каждый файл описывается массивом имя файла и данные кодированные в 64, потом массивы с файлами пушу в массив и потом это в JS кодирую. но наверно если файл один, то можно и без контейнера. $file это путь который выдает компонент с fileId на конце. собственно в сущность кормится массив с описанием файла и данные в 64
кстати, перенос через БП тоже неплохая идея, но тогда надо было сразу весь перенос через БП организовывать, правда т к не пробовал не знаю что там с переносом файлов, но видел там механизм создания компании из сделки
у меня все сущности другие назначения имеют и в лидах и сделках есть градусники, очень удобная штука. но в клиентах и контактах тоже бы иметь такие же, например контакт у меня будет автомобиль, у которого есть стадии типа новый, оформлены документы, прошел ТО, выдан и т д. Сейчас, такие стадии я делаю обычным списком, но вот привязать бы к списку такой градусник
Спасибо. уже тоже разобрался, я не знал что каждый файл заливаемый на портал имеет свой id уникальный для портала и как раз через Cfile получил прямую ссылку на файл, которая не требует авторизации и ее уже скормил в компанию в 64 битной кодировке и это сработало. А сущности отдают ссылки на файлы через компонент и id файла и эта ссылка требует авторизации и в другую сущность заливается html форма авторизации, но с тем расширением и именем какое укажешь. так что у сущности надо распарсить id файла и по нему получать нормальную ссылку которую другая сущность примет
Хочу сделать стадии у Компании как у Сделки в виде градусника. Никто не делал такое? похоже используется progress control, но описания нет и можно ли его перенастроить пока не могу понять
интересное предложение, правда, оно мне не кажется самым простым, но надо посмотреть как это там делается, если другого варианта не найду, то может так придется делать. Но о БП я как-то даже не подумал, спасибо. Мне казалось это достаточно просто должно быть кодом сделать, даже пытался посмотреть как это делается при конвертации лида в сделку, но что-то не нашел пока
Есть задача создать компанию на основании сделки. В сделке есть загруженные фото в пользовательское поле типа file, которые надо тоже перетащить в компанию. Никто не пробовал файл из одной сущности перетащить в другую или просто залить как-то файл? через rest или любым другим способом пробую так, файл добавляется но не тот размер и файл не открывается. а если вывести сам файл через print_r то запрашивает авторизацию, если ввести, то файл получаешь. такое ощущение что и тут грузится не файл в поле, а эта авторизация в каком-то виде
//id компании куда пробуем залить картинку из сделки $arFields = array( 'id' => 3, 'fields' => array() );
//добавляем данные в поле типа файл $file = 'https://site.ru'.$dealresult[result][UF_CRM_DEAL_FILE][0][showUrl]; $filename= 'test.jpg'; $fileData = file_get_contents($file); //при таком выводе, скрипт запрашивает авторизацию посередине страницы print_r($fileData); $arFields["fields"]["UF_CRM_COMPANY_TEMPFILE"] = array('fileData'=>array(0=>$filename,1=>base64_encode($fileData))); $companyupdate=callB24Method('crm.company.update',$arFields);
Да, для отладки уже следующих уровней crm можно пользоваться браузером, например, для того что бы увидеть список клиентов можно перейти по ссылке https://nameportal.ru/mobile/crm/company/ и так далее, в папке mobile все сразу понятно по какому адресу что можно посмотреть. В приложении что бы увидеть изменения, надо очищать кэш портала и перезапускать приложение. В отличие от под уровней CRM, при отладке вкладки ЕЩЕ, на экран выводить не удавалось переменные, пришлось писать в лог файл, который писался в папку bitix и там смотреть где что
В общем, в поисках единомышленников, опишу чего добился я, может кому-то еще это будет интересно. В коробке я нашел три места отвечающих за приложение: 1.папка /home/bitrix/www/mobile - тут находятся index файлы, которые запускаются из различных кнопок приложения, в том числе и из пунктов вкладок первого и последующего уровней. Фактически все нажатия в приложении запускают отработку какого-то файла из этой папки с переданными параметрами, например, get запросом. 2. папка /home/bitrix/www/bitrix/mobileapp здесь похоже компоненты мобильного приложения, но есть еще где лежат компоненты мобильного приложения, это стандартное место /home/bitrix/www/bitrix/components/bitrix, здесь есть компоненты начинающиеся с mobile.название_компонента. Эти компоненты как раз вызываются из index файлов папки mobile и главное, их можно спокойно переопределять через папку local. И вот первая моя проблема, это я не знаю как переопределять компоненты папки bitrix/mobileapp , т.к. у меня не получилось, а т.к. это папка bitrix, то при обновлениии могут эту папку обновить и все модификации пропадут. В принципе, я могу себе позволить не обновлять Битрикс и не сильно париться и на всякий случай держать копию. 3.папка /home/bitrix/www/bitrix/templates/mobile_app - это собственно шаблон мобильного приложения, но то ли я не смыслю в шаблонах битрикса то ли одно из двух, но что-то меняя тут у меня ничего не менялось, и это опять же, думается, что это папка которую могут обновить.
Еще одно место это само мобильное приложение Битрикс24, здесь я пока предполагаю, т.к. не очень сильно искал где поменять кнопки нижнего меню приложения. Но, когда-то, я некоторое время программировал под iphone и по моему, нижнее меню приложения это стандратный контроллер айфона или по крайней мере очень похож на него. Если это так, то значит кнопки описаны в коде самого приложения. Да, состав кнопок можно поменять, например удалив модуль внешние линии, пропадает кнопка Внешних линий, но думается что эта логика заложена в самом приложении, т. е. приложение строит меню на основе настроек приложения и доступных модулей портала. Возможно я ошибаюсь, но мне видится так. Т.е. это значит что нижнее меню приложения похоже не поменять, только за счет настроек приложения, но в принципе я привык к режиму Задачи, на экране кнопки Задач, Уведомлений и чатов, и кнопка ЕЩЕ. Но вот внутренности кнопки ЕЩЕ меня убивали, что бы добраться до клиента, нужно фиг знает куда листать. Я изменил состав вкладки ЕЩЕ. Настройки переместил вниз, CRM поднял наверх, поубирал из CRM лишние кнопки, переименовал необходимые. Из избранного тоже убрал Новости - мы не пользуемся живой лентой. И стало очень даже удобно, вот только менять это пришлось в /home/bitrix/www/bitrix/mobileapp/mobile/components/bitrix/more , вот как бы это все перенести в local.
Еще осталось модифицировать список отображения сущностей CRM(что на карточках отображать), карточки самих сущностей и создание документов на их основе. Но тут вроде особых сложностей нет, разве что желание в сущностях таймлайн где-то иметь, но тут похоже придется писать свой компонент мобильного таймлайна на основе стандартного
Кто-нибудь кастомизировал мобильное приложение? Кто может подсказать как переопределить компонент мобильного приложения в папке Local? Например, я хочу поменять содержимое вкладки ЕЩЕ, нашел, что за это отвечает компонент /bitrix/mobileapp/mobile/components/bitrix/more По логике вещей, раз он находится в папке bitrix, то тут его править нельзя, надо перенести в папку local, но куда бы я его не клал, он не срабатывает, может кто подсказать куда его надо положить в local?
А никто не помнит что за модуль в маркетплейсе был который позволял делать нескольких ответственных у клиентов? раньше видел за пару тысяч, а теперь не могу найти
Огонь! спасибо! не поздно, просто я отложил эту задачу и переключился на другие, а эту держал в голове. При этом ТП меня отправила к созданию приложения, вот только потом оказалось что свои приложения не работают, когда кончается лицензия. так что очень даже актуально, значит попозже вернусь у этой задаче.
P.S.Что-то не вижу кнопки спасибо, подскажите где она:)
что, никто не знает? и никого не смущает, что комменты такие сыпятся без перевода? нашел этот коммент тут \bitrix\modules\socialnetwork\lib\commentaux\taskinfo.php