Сообщения

Битрикс24: экспорт по событию

Изображение
В предыдущей статье "Bitrix24 API - разбор демо приложения третьего типа" я пообещал написать продолжение с примером выгрузки данных из Битрикс24 по событию (например, по закрытию сделки). Хотел бы написать, что не прошло и года, но... год прошёл. Пример будет такой. Основано на реальной потребности одной организации. Нужно для всех сделок передавать данные в систему управления складскими запасами. Сделки заключает менеджер, за запасами материалов следит производственник. Т.е. после оформления сделки в Битрикс24 и перехода её в нужный стартовый статус, должен запуститься механизм производства. Нужно вовремя заказать материалы, необходимые для производства (с учётом времени, когда запасы понадобятся и текущих имеющихся запасов). Вобщем, понятно, что данные по сделке нужны в каких-то внешних системах (всё это делать в Битрикс24 не получается, да и не нужно). Итак, приступаем. Что портебуется: Аккаунт администратора Битрикс24 Сайт в интернете, куда будем отсылать данные и...

CAPS в названиях - это плохо

Кричать заглавными буквами - не хорошо. Но зачастую, менеджеры норовят добавить в названия большей заметности (на их взгляд) и лепят слова заглавными буквами. Google Покупки (Google Merchant Center) это чётко запрещает в своих фидах ( https://support.google.com/merchants/answer/188494 ): "мы запрещаем добавлять в название рекламный текст (такой как "Бесплатная доставка") или использовать ЗАГЛАВНЫЕ БУКВЫ". Вот пример, как в PHP проверить строку на наличие ЗАГЛАВНЫХ БУКВ: <? $arStrings = [     'CAPS is bad',     'No caps at whole World Wide Web!',     'caps is bad!',     'No caps - No problems!',     'But with CAPS THERE ARE a LOT of problems!' ]; $pattern = '/(\p{Lu}){2,}/'; foreach ($arStrings as $string) {     if (preg_match($pattern, $string)) {         echo 'String "' . $string . '" with CAPS!' . '<br>';     } else {     ...

Несколько конфигов Sphinx

На компьютере разработчика может работать сразу несколько сайтов. Для разных сайтов могут быть заведены свои поисковые индексы Sphinx . Чтобы было удобно управлять разными конфигурациями, лучше завести отдельные конфигурационные файлы для каждого сайта, один общий конфиг и основной конфиг, который использует Sphinx. Вот как это сделать. Начиная с версии Sphinx 0.9.8 (14 июля 2008 года) доступно задавать конфиг в виде скрипта. Сначала я попробовал сделать, как предложено в статье "Разделение конфигов Sphinx" , но у меня не завелось. Возможно, из-за того, что я предпочитаю хранить конфиги в одном месте, а не в каталоге каждого сайта, как автор той статьи. Все мои конфиги Sphinx находятся к каталоге /etc/sphinx Итого я имею: 1. список конфигов с именами " 10-site1.part.conf ", " 10-site2.part.conf ". Где число в начале - порядок для дальнейшей сборки в один файл (у меня все десятки). В конфигах обозначены настройки source и index 2. конфиг с общими настр...

Информатизация малого бизнеса

Изображение
Оглавление Введение ПО организации и УК РФ Linux в организации Бухгалтрерия в Linux CRM в Linux Web-приложения как основа автоматизации Удалённая работа в фирме Для кого статья Законодательство Российской Федерации определяет малое предприятие как бизнес, в котором работают до 100 человек и общая выручка за год не превышает 400 миллионов рублей. Так вот это статья не для таких предприятий. Вернее, конечно, статья будет полезна малому бизнесу, но лишь Значительно Меньшему Бизнесу. Предприятиям с численностью около 10 человек и выручкой значительно менее 10 миллионов рублей. Кто-то воскликнет, что такого масштаба предприятия наше государство кличет "микропредприятиями". Но и до "микро-" целевая аудитория этой статьи не дотягивает. Законодательство вкладывает в "микро-" параметры: до 15 человек и до 60 миллионов годовой выручки. Скорее, материал будет полезен "нанопредприятиям", которые не заметны с высоты государства и, видимо, оно за...

Memcached socket + systemd + selinux + Bitrix

Изображение
Установка Установка и настройка на примере ОС Fedora с включенным SELinux. sudo dnf install php-pecl-memcached.x86_64 phpMemcachedAdmin.noarch memcached.x86_64 phpMemcachedAdmin нужен для мониторинга - не обязателен. Для того, чтобы memcached стал доступен в настройках "композитного сайта" в Битриксе, надо установить менее продвинутую клиентскую библиотеку (без d в конце названия): sudo dnf install php-pecl-memcache.x86_64 Настройка В некоторых источниках говорится, что если используется один сервер, то лучше настроить memcached через socket. Для использования memcached в качестве сокета на Linux с systemd и SELinux нужно проделать довольно многое. Исчерпывающей инструкции я не нашёл, поэтому предлагаю свой вариант. Для начала скопируем системный сервис-файл в пользовательское пространство, где его можно безопасно править: sudo cp /usr/lib/systemd/system/memcached.service /etc/systemd/system/memcached.service Переходим к редактированию. Например, в консоли с ...

Canon LBP 2900B + Linux Mint 17

Изображение
Установка этого и многих других аналогичных лазерных принтеров Canon похожа на прохождение квеста. Но главное - это знать, что настроить его реально! Дополнение от 16.01.2016. После публикации этой заметки, добрые люди мне скинули ссылку на статью Установка драйвера Canon CAPT для принтеров Canon LBP . В ней некий автор автоматизировал всё, что приведено в моей заметке и даже нечто большее. Так что, если вы не боитесь запускать чужие sh-скрипты, то это может сэкономить ваше время. Для начала отправляемся на официальный сайт в поисках драйвера (т.к. в сам linux эти драйвера не включены). Да, сначала я поискал свою модель на http://www.openprinting.org/printer/Canon/Canon-LBP_2900B . Я нашёл только официально предлагаемый драйвер для своего принтера - " Драйвер принтера CAPT для Linux версии 2.70 " на сайте Canon. После скачивания, распаковываем архив Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz и переходим в каталог с deb пакетами (Linux_CAPT_PrinterDriver_V270_uk_EN/64-bit...

Запуск скрипта php в старой версии PHP

В Fedora используется самое новое ПО. Но что делать, если разработчику нужно наладить работу скрипта для старой версии PHP? Можно применить doker. 1. Устанавливаем doker по инструкции http://docs.docker.com/engine/installation/fedora/ , только yum заменяем на dnf (конфиг репозиториев всё ещё в названии содержит yum). 2. Отыскиваем подходящий контейнер. Например, для PHP 5.3 мне подошёл этот - https://hub.docker.com/r/tomsowerby/php-5.3/ . 3. Запускаем скрипт, например так: docker run -it --rm --net=host --name phpinfo -v "$PWD":/home/oleg/vhosts/site/www -w /home/oleg/vhosts/site/www tomsowerby/php-5.3:cli php info.php Результат отобразится на экране. Опция --net=home позволяет приложению получить доступ к localhost основной системы.