Я продовжую писати про Битриксе в контексті обмінів, Mysql і командного рядка Linux.

Ця стаття є вступною до серії статей про структуру бази даних Бітрікс, де ця тема буде розкрита досить докладно. Для початку будуть представлені рішення деяких невеликих, але настирливих завдань. Як завжди, знання SQL обов'язково.

У статті розглядаються досить приватні питання, які виникають щодня. Звичайно, ви можете використовувати ці матеріали за їх прямим призначенням, але головна мета статті не в цьому. Я починаю розкривати «чорний ящик» під назвою «структура бази даних бітрікс», і показувати, що ці знання можуть знадобитися для підвищення рівня володіння як системою, так і базовими технологіями (SQL, linux shell), що, звичайно, допомагає вирішувати нові, складні, цікаві, різноманітні завдання.

Сторінка, з якої можна робити SQL запити до бд, або mysql web клієнт бітрікс, знаходиться в панелі управління Битрикса по шляху: Настройки->Інструменти->SQL запит».

Також, звичайно, можна робити запити з командного рядка операційної системи, для чого можу запропонувати вам нескладну операцію з отримання логіна та пароля з налаштувань Битрикса:

log=$(grep -i "login" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"')
pas=$(grep -i "pass" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"')
mysql -u$log -p$pas $log

— таким чином можна отримати логін і пароль до бази даних Mysql Bitrix з командного рядка linux на bash. Шляхи, звичайно ж, замініть на ваші власні. У варіанті, що надається виртаульной машиною Бітрікс, DOCUMENT_ROOT виглядає як /home/bitrix/www/.

Читати далі →

routine tasks automation

Введення
Машини завжди будуть швидше, незалежно від того наскільки ми продуктивні і як швидко ми набираємо команди. Сувора правда життя. З іншого боку, якщо ми виконуємо одне і теж дія безліч разів, то чому б не змусити машини страждати. Написати скрипт на
bash
(ваш улюблений мова програмування) і кожен раз викликати цей скрипт, а не набирати монотонні команди, які забирають так багато часу, сил та енергії. А ми, поки скрипт буде виконувати свою роботу, можемо помріяти про те, як космічні кораблі борознять простори Всесвіту.

У минулій статті ми розглянули основи програмування на
bash
. Сьогодні ми будемо застосовувати отримані знання на практиці.

Читати далі →

Стандартний обмін 1С-Бітрікс на BASH: Докладний розбір скрипта инкрементальной вивантаження

Для забезпечення синхронізації каталогу товарів між системою 1С і сайтом на системі управління Бітрікс, використовується стандартний для Битрикса протокол обміну XML файлами у форматі CommerceML, заснований на передачі від 1С до Битриксу HTTP GET і POST запитів з певними параметрами, і отриманні стандартних відповідей, що містять статус операції, що позначає результат її виконання.

першій статті цієї серії дано обґрунтування можливості застосування окремого скрипта, що бере сформовані 1С або іншою системою або програмою, XML файли, і передавального їх Битриксу, використовуючи стандартний протокол.

У цій статті я дам докладні коментарі до кожної рядку скрипта. Це дозволить спростити його модифікацію під ваші потреби.

Скрипт написаний на BASH і є одним з кількох сценаріїв, що забезпечують різні обміни через один і той же стандарт, який пропонує 1С-Бітрікс для передачі каталогу товарів з 1С і завантаження замовлень з сайту, побудованого на основі системи управління Бітрікс.

Далі йде текст скрипта з коментарями. Короткий вид скрипта, що містить виключно код, наведений у попередній статті, і доступний github проекту bitrexchange.

Читати далі →

Стандартний обмін 1С-Бітрікс на BASH: инкрементальная вивантаження XML файлів каталогу import і offers

Коли говорять про переваги 1С-Бітрікс, в перших словах згадують про легкої інтеграції з 1С. Взаємодія з 1С Бітрікс здійснюється за допомогою передачі даних у форматі CommerceML, який визначає формат XML файлів. В додаток до цього Бітрікс пропонує і стандарт обміну цими XML файлами між 1С і сайтом. Обмін полягає у відсиланні з 1С звичайних HTTP GET і POST запитів на сайт і отримання від сайту простих відповідей, які визначають результат виконання команди.
Зазвичай декларується, що в складі 1С існує якийсь "стандартний обмін з сайтом", який повинен працювати відразу після включення. На практиці, реалізація обміну виявляється не такою тривіальної завданням, як це здається спочатку. Є скарги на те, що модуль обміну з сайтом 1С надмірно завантажує систему і вимагає доопрацювань під конкретні потреби. Тобто, по факту, обмін начебто і є, але щоб змусити його працювати так, як потрібно, необхідно докласти зусилля.
Є ще кілька причин, щоб вклинитися в стандартний обмін:
  • По-перше, джерелом даних для сайту не завжди може бути 1С. Це може бути якась інша інформаційна база або база іншого сайту.
  • Крім цього, може виникнути ситуація, коли дані з 1С потрібно доповнити іншими даними або змінити їх.
  • Не завжди є вільні програмісти 1С, які можуть зайнятися доробками стандартної вивантаження або усуненням неполадок в ній.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Bash

keep calm-and-bin-bash

Вступ
Зручність використання того або іншого інструменту полягає в тому, наскільки він допомагає в рішенні конкретної задачі. Також важливо, щоб ми могли налаштувати цей інструмент під свої потреби. Приємним бонусом буде і той факт, що ми можемо розширити і доповнити новими можливостями наш інструмент.

Ми дісталися до самої цікавої і захоплюючої теми — це скрипти на
bash
. Коли ви запускаєте термінал, всередині нього працює спеціальна програма-оболонка —
shell
(англ) — інтерпретатор команд. Shell розуміє всі команди, які ви вводите з клавіатури, і обробляє їх. Також виводить повідомлення про помилки, стежить за коректністю команд і їх синтаксисом. Прикладом таких команд можуть бути: змінити директорію, створити нову директорію, додати текстовий файл, відредагувати текстовий файл, зберегти зміни та інші.

Читати далі →

"Nano-Framework" для автоматизації додавання скриптів .{bash/zsh}rc

Як часто доводилося бачити репозиторій з кастомным скриптом по установці своїх скриптів .bashrc або .zshrc файли? Я точно писав такий велосипед і не один раз, для репозиторіїв, де зберігаю свої особисті конфіги. Давайте цю проблему вирішувати.



Читати далі →

Sparrow — система управління користувацькими скриптами

Привіт. Протягом цього року я написав низку статей про Sparrow — системі управління користувацькими скриптами. В кінці року я хотів би зробити свого роду результуючий пост, де ще раз спробую описати основну суть цього інструменту.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Частина друга

tmux example

Вступ
Досить довгий час я використав в своїй роботі screen. Але з часом він мене перестав влаштовувати. Я почав шукати альтернативи. Такою альтернативою є tmux. На багатьох порталах його описують так: «Це той-же screen, тільки на стероїдах». Спочатку я не міг зрозуміти чому таке порівняння поки не спробував. Скажу чесно, я на нього не з першого разу перейшов. Три-чотири рази пробував, повертався до screen'у. Але tmux все ж переміг.

Читати далі →

Консоль в маси. Перехід на світлу сторону. Частина перша



Вступ
Всім привіт! Дана серія статей — це текстовий варіант моєї доповіді на WSD в Києві 26 листопада. Вирішив написати, щоб дати більш розгорнутий опис тем, які були порушені, а деякі моменти уточнити. Крім того, є можливість розглянути більше прикладів, почути думку від тебе, шановний читачу. І, звичайно ж, поділитися інформацією з більш широкою аудиторією.

Читати далі →

Переклад дзвінка за допомогою скрипта в Asterisk



Не так давно в одного з наших клієнтів виникла необхідність переводити дзвінки (вхідні та вихідні) по кліку з браузера. Логіка така: група операторів колл-центру приймає і здійснює дзвінки, і після розмови та з'ясування потреб їм потрібно з'єднати клієнта з одним із замовників або іншим фахівцем організації.

Читати далі →