• Как в битрикс24 приостановить выполнение активити в бизнес-процессе, а потом через какое то время 1 час или пару дней, продолжить выполнение?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Есть активити "Пауза в выполнении", которая позволяет остановить ход бизнес-процесса на определенное количество дней или до указанной даты. Подробнее в документации.

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

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Как получить в ответ от веб хука результат работы бизнес процесса — текстовую строку?


    Никак.

    Как архитектурно работает активити вебхук в Битрикс24 (не важно в облаке или в коробке (без кастомизаций)):
    1. Вызывается действие "Вебхук", на вход подается ссылка которая будет вызвана
    2. Проверяется регистрация на облачном провайдере (oauth.bitrix.info) (если регистрации нет, выполняется авторегистрация)
    3. Если регистрация есть (или прошла успешно) - двигаемся дальше, если нет - пропускаем шаг.
    4. На облачный провайдер (oauth.bitrix.info) передается ссылка. Там формируется задание на отправку и оно падает в очередь.
    5. Облачная очередь обрабатывается асинхронными скриптами и выполняется вызов этой исходной ссылки.

    Как можно увидеть в данном случае вызов осуществляет не портал, а облачная очередь и даже если ссылка что-то вернет - этот результата не будет обработан (ведь его обрабатывает даже не ваш Битрикс24)
    Ответ написан
    Комментировать
  • Как выжить джуну единственным разработчиком на проекте?

    Astrohas
    @Astrohas
    Python/Django Developer
    Я как-то работал при аналогичных условиях. Возможно даже хуже. 1 делом, наплевал на на защиту их системы и работы других прогеров. Я та был осторожен, и все что относилось ко мне оберегал бекапами, гитом, системой деплоя и тд. А в это же время мои сотоварищи писали код прямиком из notepad через мать его Samba. Samba же открыта и без пароля и доступна по вафле. У вафли пароль 12345678.

    Просто плюньте на работу остальных. Делайте свои проекты как вам удобно. У вас есть доступ к полигону, где вы как раз таки имеете возможность саморазвития. Настройте гит флоу, систему деплоя, всякие юни-тесты. Попросите маркерную доску или лист A3 и замутите Agile для себя и девушки. Почувствуйте себя лидером ©
    Ответ написан
    6 комментариев
  • Договорился на подработку, прислали договор на подписание, в нём увидел пункты которые не видел в других подобных договорах - это мошенники?

    @12rbah
    Договорился на подработку, прислали договор на подписание, в нём увидел пункты которые не видел в других подобных договорах - это мошенники, кто ни будь с таким сталкивался?
    Мошенники вряд ли, но многие заказчики не знают НПА и пишут всё подряд в догор, которые суд часто может признать незаконными.
    и потребовать возмеще-ния
    убытков в виде обоснованного, документально подтвержденного, ущерба.
    Ну пусть требует). За такие вещи не так легко взыскать. Если что потраченные деньги на разработку системы будет тяжело класифицировать как ущерб.
    Вообще заказчик может отказаться от исполнения договора с этим условием, но если захотят кинуть и сумма не очень большая, то непонятно, что лучше судиться или забить. В целом не совсем уверен в законности этих пунктов, выглядят примерно как пункты типа "заказчик имеет право оштрафовать по договору на 10кк рублей, если будет нарушено НДА", но в реальности он сможет взыскать деньги через суд и то если он правильно всё сделал, если кратко то по нда очень тяжело привлечь. В данном случае работайте либо по предоплате, либо по пунктам, т.е. что-то сделали просите оплату, не дают то прекращаете работу.
    P.S. А что вы делаете, всё что писал выше в основном к разработке относится.
    Ответ написан
    2 комментария
  • На что влияет ?> в конце кода, для чего она вообще нужна если итак всё работает?

    @TheAndrey7
    Исторически так сложилось. PHP изначально был шаблонизатором: в HTML-страницу вставлялся php-код в знакомых тегах <?php echo "Hello world"; ?>.
    Сейчас так конечно никто не делает, шаблоны и php-код должны храниться в отдельных файлах. Но php-код по-прежнему не будет выполняться без открывающего тега <?php. Закрывающий тег сейчас стал необязательным и его не рекомендуется писать, чтобы исключить случайный вывод содержимого на экран.
    Ответ написан
    2 комментария
  • Как начать заниматься "серьезной" разработкой?

    alexfilus
    @alexfilus
    Senior backend developer
    Я в своё время чтобы слезть с "сайтиков" брал на фрилансе задачи по темам в которых хотел разобраться. Демпинговал, срывал сроки, но разбирался, причём не на учебных примерах, а на реальных.
    И со временем удалось попасть в продуктовую разработку, там развитие намного бодрее пошло.
    Ответ написан
    Комментировать
  • Стоит ли разработчику на фрилансе заниматься составлением коммерческого предложения или лучше поискать сервис который на этом специализируется?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    "Здравствуйте, меня зовут Nentra. Я готов выполнить ваш проект за $100500".

    Ваше КП готово. С вас $100.

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

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    $productUser = $updateResult->getObject();
    $date = $productUser->get("UF_DATE");
    Ответ написан
    1 комментарий
  • Приделывать Git на сайт это хорошо?

    vabka
    @vabka
    Токсичный шарпист
    git - это система контроля версий.
    Это не "локальное хранилище" и не нечто, что можно "приделать" сбоку.

    Предположу, что под словом "приделать" вы имеете в виду использование git для доставки обновлений на продуктивный сервер.
    Моё мнение - так делать не стоит.
    Серверу совершенно не нужно хранить у себя всю историю версий.

    А вот локально да - лучше вести разработку в git.
    Ещё по хорошему следует хранить копию репозитория на каком-нибудь ещё сервере, например в собственном экземпляре gitlab и синхронизировать её с локальной при помощи git pull/push.

    Ну и помни, что не надо все файлы в git запихивать. В git должны храниться только исходные файлы. Всякие картинки - в git-lfs.
    Пароли - в каком-то другом хранилище.
    Артефакты, которые создаёт компилятор или препроцессор - в .gitignore
    Ответ написан
    1 комментарий
  • Как прекратить установку модуля и вывести сообщение что модуль ставиться не будет потому что у вас php 8.0 или выше?

    miv-men
    @miv-men
    Фронт и бэк
    Попробуйте в функцию DoInstall() добавить условие:
    if(CheckVersion(phpversion(), "8.0.0")){
                $APPLICATION->ThrowException(
                    Loc::getMessage("PHP_ERROR_VERSION")
                );
            }

    Где присвоить текст для "PHP_ERROR_VERSION" думаю знаете.

    Это старое ядро, если захотите то можно переписать на D7, там есть аналог.
    Ответ написан
    Комментировать
  • Функции хелперы, что это и зачем они нужны если и без них всё работает?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Бывает непреодолимое желание избегать повторяющихся кусков кода. Часто оно здраво и ведёт к правильному рефакторингу кода.

    Когда повтор происходит внутри одного класса, его можно выделить в приватный метод этого же класса.

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

    Для вдохновения и красивой архитектуры посмотрите на хэлперы в Laravel
    Ответ написан
    1 комментарий
  • Функции хелперы, что это и зачем они нужны если и без них всё работает?

    Fockker
    @Fockker Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Пользовательские функции в языках программирования служат для двух целей:
    - для того чтобы избежать дублирования кода при частом повторении одних и тех же операций
    - для того чтобы код был лучше структурирован, и как следствие - легче читался и его было удобно поддерживать. Когда у нас внутри условия if написано 50 строк кода, это неудобно читать и сложно редактировать. Когда внутри этого же условия всего один вызов функции, то это легко читается, и легко можно заменить на другую функцию.

    Функции-хелперы обычно относятся к первой категории. Их традиционно пишут в отдельном файле, который подключается к коду проекта.
    Ответ написан
    Комментировать
  • Как обрабатывать событие $('.div-nested').on('click', function() { у ещё не созданных элементов?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Либо по средствам делегирования событий (рекомендуется)
    И тогда на jQuery будет что-то типа:
    $('.div-0').on('click', '.div-nested', function() {...}

    Либо при создании элемента добавлять ему обработчик.
    И тогда что-то типа:
    var d = $('div', {
      class: 'div-nested',
      on: {
        click: function() {}
      }
    })
    Ответ написан
    2 комментария
  • Как сделать версию для разработки в 1с-битрикс?

    6143170116b7e539895210.png

    Вот
    Ответ написан
    Комментировать
  • Пишет Class not found. Как правильно определить пространство имен?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Эээ... а что вы сделать то хотите ?

    Я вот о чем говорю: при использовании ООП в bitrix вы сталкиваетесь сразу с 2 большими стенами - применение ооп и битрикс. Прежде чем разбирать конкретный код хотелось бы немножко просветить вас в самой архитектуре битрикса.
    В терминологии Битрикса он использует концепцию MVC, но в рамках битрикса, а это означает что на любой странице где вы общаетесь с ним вы должны подключить пролог (хотя бы prolog_before) и эпилог (хотя бы epilog_after, ну в идеале). Именно "компонент" и является тем самым MVC (Вообще это скорее VC + row access, так как модели по сути нет). Есть класс CBitrixComponent (контроллер) и класс CBitrixComponentTemplate (который совместно с файлами шаблона и образует view).

    Вызов компонента происходит из глобальной переменной $APPLICATION путем метода IncludeComponent. До версии 14 (если мне не изменяет память) вообще не было такого понятия как class.php, где можно было отнаследоваться от CBitrixComponent и перекрыть какие-нибудь функции (шаблонизатор к примеру сменить), а после нового ядра d7 появилась возможность отнаследоваться от CBitrixComponent и в файле class.php разместить свой код (таким образом мы сохраняем и class.php с новыми функциями и component.php с логикой), а перекрывая метод executeComponent вы можете избавиться и от component.php.

    С точки зрения архитектуры (рекомендую изучить документацию, она очень обширна и познавательна) все компоненты должны лежать в так называемом пространстве имен, чем обычно служит ник-нейм или название компании (Естественно начинается не с цифры и содержит только латинские буквы), которые в свою очередь могут располагаться в /bitix/components/#пространство_имен#/#название_компонента#/

    Теперь построчно разберем Ваш вопрос:

    Вы положили свой класс сюда: /bitrix/templates/app/Pi/Test.php, что является неверным с точки зрения архитектуры, так как поместили класс отвечающий за контроллер в папку с шаблоном. Если вы не пишете свой модуль вы можете подключить его например в /local/php_interface/classes/ (пример надуманный, можете просто в /local/php_interface положить или сразу в init.php), однако для этого вы должны будете написать autoloader, так как у битрикса он работает только для модулей. Предположим вы в init.php напишете грубый require_once с файлом.

    Затем вы делаете следующее:

    Что является неверным, так как по сути вы обьявляете неймспейс для файла и это с точки зрения php выглядит вот так в конечном итоге:

    class app\Pi\test extends app\Pi\CBitrixComponent
    {
    // ...
    }

    А класса app\Pi\CBitrixComponent не существует. Так что вам нужно поправить пример хотя бы так:

    class test extends \CBitrixComponent

    Настоятельно рекомендую прочитать документацию или хотя бы посмотреть видео с академии битрикс. Сама система не подарок, а другой программист который увидит ваш код будет говорить что это битрикс виноват.
    Ответ написан
    Комментировать
  • Что означают скобки и почему запятая "[," перед ними?

    Это значит, что третий параметр необязателен (и запятая вместе с ним).
    Это не код, а документация, в ней это стандартное обозначение.
    Ответ написан
    Комментировать
  • Какую версию PHP учить и по какой книге?

    Fockker
    @Fockker Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Заголовок - это очень важная часть вопроса. Над ним надо очень вдумчиво работать
    Чтобы он не вводил отвечающих в заблуждение, и чтобы ответы оказались вам самому полезны.

    Если говорить об изучении с нуля, как можно понять из заголовка, то я рекомендую книгу Jon Duckett, PHP&HTML. Но её, вроде бы, не переводили на русский. Из доступного - Котеров, но она конечно уже подустарела. Хотя там хорошо даются такие основы, как НТТР.

    Но в вашем случае вопрос об изучении РНР явно не идёт. А скорее о повышении квалификации.
    Плюс вопрос "Какую версию учить" тоже не стоит - у седьмой версии поддержка кончается осенью. Но в целом различия между версиями в РНР не настолько принципиальны, чтобы можно было учить какую-то конкретную "версию". Чисто синтаксические нововведения в языке лучше всего изучать по разделам "Новая функциональность" каждой версии отсюда https://www.php.net/manual/ru/appendices.php

    Но начиная с определенного уровня изучение РНР уже перестаёт быть изучением РНР, а скорее программирования в целом - ООП, паттернов проектирования и т.д. Тут уже книжки по РНР не нужны, сами пхпшники учат это по явовским учебникам - Фаулера, Мартина и пр.
    Хотя конечно к зарабатыванию денех на PHP + Битрикс это всё не имеет уже ни малейшего отношения.
    Ответ написан
    Комментировать
  • У всех Андроид 12 резиновый?

    iLLuzor
    @iLLuzor
    Java, Kotlin, Android Developer
    Так должно быть. Это даже на презентации показывали
    Ответ написан
    4 комментария