Задать вопрос
  • Как в цикле сделать запрос к rest api битрикс24?

    @MrHyde
    Вы можете использовать библиотеку https://github.com/2BAD/bitrix где уже оптимизированы процессы получения данных

    Достаточно будет пару строк
    import Bitrix from '@2bad/bitrix'
    
    const bitrix = Bitrix('https://PORTAL_NAME.bitrix24.ru/rest', 'ACCESS_TOKEN')
    
    // Получить сделку с ID: 77
    bitrix.deals.get('77')
      .then(({ result }) => {
        // Get typed payload
        const { TITLE } = result // string
        console.log(TITLE)
      })
      .catch(console.error)
    
    // Получить все сделки и их пользовательские поля
    bitrix.deals.list({ select: ["*", "UF_*"] })
      .then(({ result }) => {
        const titles = result.map((e) => e.TITLE)
        console.log(titles)
      })
      .catch(console.error)
    Ответ написан
    Комментировать
  • Как в цикле сделать запрос к rest api битрикс24?

    @kulgan
    Постараюсь ответить на то, что понял:
    Больше 50 в одном запросе не получить никак не получить - ограничение api. Чтобы получить остальные значения посмотрим в официальную доку(сделки). Увидим такой код
    if(result.more())
                    result.next();

    , он и получает оставшиеся сделки. Если вставить его как в примере из доки, то он будет получать сделки, пока не получит все.
    var allDeals = []; 
    // тут код запроса, но для краткости начнём с callback кода 
    function(result) 
        {
            if(result.error())
                console.error(result.error());
            else
            {
                for(let i = 0; i < result.data().length; i++){   //этим кодом вставляем полученные сделки в массив всех 
                     allDeals.push(result.data()[i]);               //полученных сделок
                }		
                if(result.more())
                    result.next();						
            }
        }


    Если сделок в ответе постоянно 100+, то лучше разобраться в batch запросах
    Ответ написан
    6 комментариев
  • Как достать таски от 2019.05 по 2019.06?

    PolarBearGG
    @PolarBearGG Автор вопроса
    I know that I know nothing
    ?order[CREATED_DATE]='desc'&filter[>CREATED_DATE]=2019-05-31&filter[
    Ответ написан
    Комментировать
  • Как вы ведете проекты с Git (Bitrix)?

    Не понимаю чем битрикс отличается от других.
    код фреймворка/картинки/кеш в gitignore, остальное пушим, мерджим.

    Какие именно религиозные соображения не позволяют так сделать в случае с битрикс?

    Собственно из опыта проблемы те же - как переносить изменения БД.
    Я использовал два варианта:
    1 Наивно-примитивный: просто дублируем руками все изменения БД, сделанные на тесте на боевом серваке и все. Добавили поле на тесте - добавляем сразу на боевом.
    2 Версионные скрипты модификации БД - все изменения в структуре БД делаются только через API, специальными скриптами, которые внося изменения изменяют и номер версии БД в настройках. Текущий требуемый номер хранится в скриптах. На каждом хите он сличается с тем что есть в БД и если они не совпадают, запускаются скрипты миграции для БД, которые вносят необходимые изменения. Немножко гемора при разработке, но зато потом можно накатывать на совершенно голую инсталяцию сайт.
    Ответ написан
    Комментировать
  • Как вы ведете проекты с Git (Bitrix)?

    sabramovskikh
    @sabramovskikh
    1) Синхронизировать базу. Пишем простой баш скрипт, который качает базу с тестового сервера на локальную. Работает ну пару минут, если не магазин на 50к товаров. При новой разработке дак вообще 30 сек выполняется
    2) rsync папки bitrix. Первый раз занимает минут 5. При обновлении ядра занимает секунд 30. Запускается пару в месяц
    3) rsync публичных папок (upload)
    3) Вся разработка только в папке local, которая под гитом.

    Все команды можно прописать в одном баш файле и запускать из консоли.
    Ответ написан
    Комментировать
  • Как связать детальную "новость" с элементами каталога по их свойствам?

    Anadi
    @Anadi
    Если ответ Вам помог мой, решением отметье его!
    Используете свойство привязки к элементам
    Ответ написан
    1 комментарий
  • Как связать детальную "новость" с элементами каталога по их свойствам?

    @pu6elozed
    Bitrix, fullstack
    Чтобы не вовлекать в кешируемую область шаблона - лучший вариант(конечно на мой взгляд) сделать в result_modifier дополнительный элемент массива $arResult,который будет проксироваться в component_epilog(как это делается - гуглится "result_modifier и component_epilog одновременно"). И уже по значению этой переменной делать фильтр для компонента список новостей, который и размещаем в component_epilog

    upd решение из ветки комментариев
    // глобальный массив для фильтра
    global $arNewsFilter;
    // массив в котором мы устанавливаем фильтр по свойству AKTIV_VESH3 который будет соответствовать текущему айдишнику новости
    $arNewsFilter = Array ("PROPERTY_AKTIV_VESH3" => $arResult["ID"]);
    ?>
    Ответ написан
  • Как убрать отступ в bootstrap?

    @djnick
    в свойствах конкретного блока прописать margin-left:0; и margin-right:0;

    либо прилумать класс, допустим no-margin

    .no-margin {
    margin-left:0;
    margin-right:0;
    }

    И присваивать его нужным блокам
    Ответ написан
    2 комментария
  • Бизнес-процесс в Битрикс24. Проверка условий по переменным - где я ошибаюсь?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Эм... а что у Вас за жесть со скобками происходит?

    Это не нормально
    =if ({=Variable:TODAY{{=datediff({=Variable:DATE1}, {=System:DATE}, '%d' ) }}} <4, 'true')


    Для корректной работы создайте 2 переменных:

    1) Количество дней (тип "Число"), которое будет хранить разницу между двумя числами
    2) Условие (тип "Да/Нет"), которое будет хранить соответствие условий количества дней

    Лучше разделить эти переменные, так как в случае усложнения процесса количество дней и условие может ветвится.

    В блоке изменение переменных можно прописать соответствующие значения
    Для получения разницы:
    =datediff({=Template:DATA1}, {=System:Now}, '%d')

    Для сравнения
    =if({=Variable:diffDate}<4, 'Y', 'N')
    Ответ написан
    1 комментарий
  • Как грамотно спроектировать структуру приложения?

    qonand
    @qonand
    Software Engineer
    ох что-то Вы не понятное пытаетесь построить. Судя по вопросу у Вас набор паттернов а не архитектура. Что Вы хотите получить в итоге? слоенную архитектуру? так она так не строиться. DTO - это объект для передачи данных, он не хранит бизнес-логики, репозиторий и Active Record как правило не используются совместно. В общем судя из постановки задачи могу сказать что Вы не совсем понимаете как строить подобную архитектуру, поэтому рекомендую Вам вначале почитать про слоеную архитектуру (например у того же Фаулера), про модель предметной области, про DDD, а потом уже переходить к практике. Для начала можете пробежаться для начала по этим статьям:
    статья 1
    статья 2
    статья 3
    статья 4
    Ответ написан
    2 комментария
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

    Теперь выясните, кто будет обращаться к вашей системе, чтобы передать или забрать данные, а к чему будет обращаться Ваша программа. Те системы или пользователи, которые обращаются к программе сами, нарисуйте схематически на листе бумаги вверху. Те, к которым будет обращаться программа (включая БД), - снизу.

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

    Между слоем сервисов и слоем доступа к данным нарисуйте большой контур и назовите его слоем бизнес-логики. В маленьких прямоугольниках внутри этого контура перечислите основные бизнес-задачи. Один компонент Вашей системы будет решать одну бизнес-задачу.

    Теперь справа нарисуйте несколько длинных прямоугольников снизу доверху и написшите в них: логирование, конфигурация, мониторинг производительности, обработка исключений и что-то ещё, что является общей инфраструктурой (или сквозной функциональностью) для всех слоёв вашей программы.

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
    2 комментария
  • Где обычно находят иностранных заказчиков?

    @djay
    Я нахожу спокойно и быстро на специфических ресурсах:

    - Laravel Jobs
    - WordPress/Drupal Jobs

    Напрямую без всяких паразитов-постредников и Upwork'ов.

    Но имей ввиду, что европейцы и американцы - это перфекционисты наивысшего класса. Очень требовательны и дотошны. У русских тоже перфеционизм порой зашкаливает, но те платят хоть достойно, а эти - нет.
    Ответ написан
    4 комментария
  • Как найти работу в сфере IT?

    gobananas
    @gobananas
    finishhim.ru
    Не слишком ли я взрослый

    Нет

    Как бы вы сейчас прошли свой путь обучения и трудоустройства

    Я тоже поздно начал, увы надо пахать по 12 часов в день года 3 что бы нагнать прошедшие 10 лет у других людей ))

    Есть ли сайты, где меня могут взять, как помощника для выполнения заданий

    Это сложно, пока они время на объяснения вам потратят сами бы написали давно. Вам нужен свой проект

    Есть ли фирмы, которые берут без опыта и растят для себя спецов ?

    Есть, но там зарплата как у стажёра 10-15 тыс. рублей а если хотите всё же не стажёром то будьте готовы ответить Junior PHP, что бы вы спросили на собеседовании?
    Ответ написан
    4 комментария
  • Каким способом изучать API Битрикса?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Добрый день,

    Давайте начнем с того, что названия переменных значения не играют. Т.е. Вы можете поменять в коде местами $arSelect и $arFilter и результат от этого не изменится (если Вы все сделали правильно). Что касается их названий - они помогают лично Вам понять что в них находятся и работают по принципу венгерской нотации, с типами и camelCase. То есть в переменной $arFilter находится массив полей, по которому производится фильтрация, а в $arSelect - массив полей, который нужно получить.

    Что касается документации - вранье, она обширная и разжевана до мелочей. Если Вы хотите получить план по развитию, то:
    1) Пройдите всю цепочку битрикса от "Контент-менеджера" до "Администратора" (все 3) и поймите как это работает в админке
    2) Пройдите курс Bitrix Framework и поймите как с этим работать с точки зрения разработчика
    3) Активно читайте справочную литературу - https://dev.1c-bitrix.ru/api_help/ и https://dev.1c-bitrix.ru/api_d7/
    4) Смотрите на официальные курсы по битриксу https://academy.1c-bitrix.ru/training/course/
    5) Сдавайте официальные экзамены (там примеры заданий и четкие решения) https://academy.1c-bitrix.ru/certification/exams.php

    Я Вас уверяю, при сдаче и первого и второго экзамена, Вы уже будете понимать все что нужно для уровня Junior-Middle
    Ответ написан
    6 комментариев
  • Как проще сделать версию сайта для слабовидящих на cms drupal-6/7?

    Therapyx
    @Therapyx
    Data Science
    не знаю увы как именно про drupal... но старый и верный способ, это 2 CSS фаила, 1 для слабовидящих - другой нет. И просто меню, как и языки, которые переключает между двумя этими фаилами
    Ответ написан
    1 комментарий
  • Есть ли в свободном доступе системы распознавания обьектов?

    Есть опенсорсный проект YOLO, который работает очень даже неплохо. https://pjreddie.com/darknet/yolo/
    Классифицирует объекты в кадре за 20ms при использовании видеокарты или спец. железок от Nvidia.
    На процессоре около 6-9 секунд.
    Ответ написан
    1 комментарий
  • Есть ли в свободном доступе системы распознавания обьектов?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    да
    на основе opencv + imagenet
    Ответ написан
    Комментировать