Архив автора: admin

Бепантен — инструкция: восстанавливает кожу

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

Механизм действия бепантена

Бепантен (действующее вещество — декспантенол) — это лекарственный препарат для наружного применения, который выпускается швейцарской фармацевтической фирмой Байер в виде мази, крема и лосьона. Выпускается также бепантен плюс, который кроме декспантенола содержит антибактериальное средство хлоргексидина дигидрохлорид. Крем бепантен плюс не жирный, не липнет к коже, подавляет жизнедеятельность бактерий, имеющихся обычно на коже или попавших на кожу в результате загрязнения раны. Кроме того, благодаря охлаждающему действию, он производит обезболивающий эффект. При нанесении на поверхность раны защищает от инфекции, способствуя заживлению.

Декспантенол или провитамин В5 является производным пантотеновой кислоты, в организме он превращается в пантотеновую кислоту и участвует в обменных процессах в качестве кофермента. Результатом улучшения обмена веществ является стимуляция процесса восстановления тканей. Механизм действия пантотеновой кислоты основан на нормализации обмена веществ в клетках кожи, что способствует увеличению прочности коллагеновых волокон (они находятся в среднем слое кожи и держат кожу в виде каркаса) и оказывает легкий противовоспалительный эффект. При повреждении тканей потребность в пантотеновой кислоте резко увеличивается, она участвует в самых разных биохимических процессах, ускоряя их и тем самым восстанавливая поврежденные ткани. Пантотеновая кислота способствует росту верхнего слоя кожи и восстановлению слизистой оболочки. Бепантен смягчает и успокаивает раздражения кожи, вызванные водой, мылом и другими гигиеническими средствами.

Бепантен оказывает и некоторое противовоспалительное действие. Он выпускается только в виде наружных средств, тем не менее, свойства препарата позволяют ему медленно проникать в глубокие слои кожи. Бепантен крем хорошо впитывается, предупреждает пересыхание кожи, кожа после него не имеет жирного блеска, становится более упругой и эластичной. Это позволяет применять крем для ежедневного ухода за кожей детей первого года жизни и кормящих мам. Особенно положительное влияние бепантен оказывает при лечении ожогов. Он уменьшает воспалительный процесс, способствует более быстрому восстановлению тканей, уменьшает боль и отек. Из организма бепантен выводится с мочой и калом в основном в неизменном виде.

Бепантен прекрасно себя зарекомендовал при лечении дерматитов у новорожденных и детей первых месяцев жизни Он показан при самых разных повреждениях и заболеваниях кожи.

Показания и противопоказания для применения бепантена

Мазь и крем бепантен применяют:

Крем бепантен плюс назначают:

Противопоказан бепантен при индивидуальной непереносимости его компонентов. Бепантен плюс противопоказан также для обработки ран в области ушной раковины, при глубоких и очень загрязненных ранах (в этом случае он не поможет, требуется первичная хирургическая обработка раны). Крем бепантен плюс можно использовать при беременности и кормлении ребенка грудью, но следует ограничить объем его нанесения на кожу.

Побочных эффектов и передозировок при применении бепантена и бепантена плюс не выявлено, кроме аллергических реакций.

Бепантен и бепантен плюс — эффективные и безопасные лекарственные препараты, которые практически не имеют противопоказаний.

Кедровое масло — укрепляет иммунитет

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

Химический состав кедрового масла

Кедровое масло получается методом холодного прессования из ядер кедрового ореха и выпускается в качестве БАДа — биологически активной добавки к пище. В нем содержатся:

Все эти вещества находятся в кедровом масле в сбалансированном состоянии и оказывают на организм человека самое активное воздействие.

Выпускается кедровое масло во флаконах и капсулах.

Воздействие на организм человека

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

Показания и противопоказания

Кедровое масло применяется в составе комплексной терапии при лечении ряда заболеваний, а также как профилактическое средство для укрепления иммунитета и улучшения обмена веществ.

Кедровое масло рекомендуют принимать внутрь при следующих заболеваниях и состояниях:

Наружно кедровое масло применяют в виде смазывания при ранах, ожогах; отморожениях, различных кожных заболеваниях (экземе, диатезе и так далее), сухости кожи.

Противопоказаниями для применения кедрового масла являются его индивидуальная непереносимость и наличие в прошлом аллергических реакций на препараты из хвойных деревьев.

Как правильно принимать кедровое масло

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

Хранят кедровое масло в защищенном от света, прохладном месте.

Кедровое масло – прекрасное оздоровительное средство.

Диффузная мастопатия — поражает всю молочную железу

диффузная мастопатияДиффузная мастопатия характеризуется образованием кист, доброкачественных уплотнений и болями в груди. В отличие от обычной мастопатии, диффузная мастопатия может поражать всю молочную железу, а не определенные ее участки. Хотя точная причина развития диффузной мастопатии не ясна, специалисты предполагают, что это связано с гормонами, которые вырабатывают яичники — эстрогеном и прогестероном.

Кисты, появляющиеся при диффузной мастопатии, могут менять свой размер во время менструального цикла; чаще всего они возникают в периоды гормональной нестабильности. Кисты могут быть единичные или множественные, плотные или наполненные жидкостью. Несмотря на то, что они являются доброкачественными, врачи рассматривают кисты как потенциально раковые образования и внимательно следят за их ростом и любыми изменениями, которые с ними происходят.

Различные типы мастопатии, по разным данным, имеются у 30-60% женщин.

Симптомы диффузной мастопатии

Самыми распространенными симптомами диффузной мастопатии являются узелки и боль в груди. Боль усиливается незадолго до начала месячных и ослабевает после их окончания. Грудь становится болезненной, увеличивается, тяжелеет; в некоторых случаях пациентки также ощущают дискомфорт подмышками. Узелки могут увеличиваться перед месячными, а затем уменьшаться. У некоторых женщин эти симптомы сопровождаются выделениями из сосков. Независимо от того, прозрачные эти выделения, мутные и/или кровавые, при их появлении нужно незамедлительно обращаться к врачу. В подавляющем большинстве случаев все это — симптомы мастопатии, а не рака, однако рак молочной железы настолько опасное заболевание, что лучше проходить обследование каждый раз, когда у вас появляются подозрения на него, чем упустить возможность начать лечение на ранней стадии.

Диагностика диффузной мастопатии

В большинстве случаев женщина сама обнаруживает у себя в груди уплотнение и обращается к врачу. Часто при диффузной мастопатии грудь становится особенно чувствительной и немного увеличивается в размере за 7-10 дней до начала менструации; после менструации эти сопутствующие мастопатии симптомы исчезают или, по крайней мере, становятся значительно менее выраженными.

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

Далее, что поставить точный диагноз, проводится ультразвуковое исследование или аспирация кисты. Если при аспирации обнаруживается, что внутри кисты содержится кровавая жидкость, требуется провести биопсию.

Лечение

В большинстве случаев при диффузной мастопатии не нужно лечение. Некоторым пациенткам врачи рекомендуют ограничить потребление кофеина и снизить общее количество потребляемых калорий. Для облегчения симптомов может быть назначен прием витаминов, в частности, витамина Е. Если одним из симптомов диффузной мастопатии является боль и/или ощущение тяжести и сильного дискомфорта в груди, рекомендуют принимать обезболивающие и носить специальный поддерживающий бюстгальтер. Кроме того, врач может назначить прием синтетических андрогенов, однако из-за большой вероятности появления нежелательных побочных эффектов этот метод лечения применяется редко.

Осложнения

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

Bitrix24 API — разбор демо приложения третьего типа

Вводная

Пользователям CRM Bitrix24 зачастую хочется передавать накапливаемые в этой системе данные на какой-то сторонний ресурс для дальнейшей их обработки. Так, мне, например, понадобилось наладить экспорт закрытых сделок на сайт, который занимается учётом затрат на производство. В данном случае можно поступить двумя способами: во-первых, можно на стороннем сайте сделать кнопку, которая запрашивала бы из битрикса сделки (пока не рассматриваем реализацию); во-вторых, можно заставить битрикс самостоятельно отправлять данные по сделке сразу при её закрытии (по событию). Второй вариант более привлекателен, — всё работает в реальном времени без участия человека (никаких кнопок для передачи данных нажимать не нужно).

Бизнес-процесс

Встал вопрос, как реализовать выгрузку данных из битрикс24 по событию. Первый вариант, который я проверял, это сделать отправку через так называемый «бизнес процесс». На момент написания статьи добраться до бизнес процессов стало довольно сложно: в разделе меню «CRM» пункт «Настройки», на открывшейся странице ссылка «Бизнес-процессы», затем в разделе «Сделка» есть кнопки «Добавить шаблон» и «Список шаблонов».
В редакторе шаблона есть блок «PHP код» из группы «Прочее». Казалось бы вот оно! Но нет. Эта штука не работает. А жаль. Можно было бы вписать в неё что-то типа такого:

if( $curl = curl_init() ) {
    curl_setopt($curl, CURLOPT_URL, 'http:///integration/index.php');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $post_headers = array('Content-type: application/x-www-form-urlencoded charset=utf-8',
                         'X_ASCCPE_USERNAME: логин',
                         'X_ASCCPE_PASSWORD: пароль',
                         '');
    curl_setopt($curl, CURLOPT_HEADER, $post_headers);
    curl_setopt($curl, CURLOPT_POST, true);
    $data = array('name' => {=Document:TITLE}, 'date' => {=Document:CLOSEDATE}, 'accounting' => 1, 'amount' => {=Document:OPPORTUNITY}, 'cost' => 0);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    $out = curl_exec($curl);
    echo $out;
    curl_close($curl);
}

Здесь и далее означает URL вашего сайта.
И отправлялись бы данные на нужный сайт каждый раз при закрытии сделки. В реальности блок «PHP код» при попытке сохранить выдаёт ошибку «У вас нет прав на изменение PHP кода»

API Bitrix24

Второй вариант организовать выгрузку данных из битрик24 на сторонний сайт — это воспользоваться API Bitrix24. API есть, документация есть:
1) Документция для разработчиков Битрикс24
2) «Разработчик Bitrix Framework» раздел «Маркетплейс Битрикс24»
Вроде всё есть, но вот вникнуть в тему не так-то и просто. В документации нет никаких практических примеров. На форумах люди делятся строго на два лагеря: те кто ничего не понял, как работать с этим API и спрашивают у знатоков (но никто не отвечает); и те, кто постиг это тайное знание и не делится им, а предлагает за деньги выполнить разработку. Я же в данной статье попробую подробно разложить по полочкам создание приложения «третьего типа» — внешние приложения, которые только используют API битрикса, но в его интерфейсе никак не участвуют. Т.е. можно запрашивать, редактировать и добавлять данные битрикса из стороннего сайта или упросить битрикс24 самостоятельно отправлять куда-либо данные при срабатывании определённых событий.
Все эти возможности представлены в демо-приложении, которое можно скачать прямо из документации. Никакого описания, что делает это приложение и как — нет: ни в документации, ни в комментариях к коду. Восполню этот пробел.

Разбор демо-приложения третьего типа

Расположение приложения

В архиве содержится основной файл index.php и ряд вспомогательных файлов. Перед человеком, который первый раз пытается сделать приложение для Битрикс24, сразу возникнет вопрос: где эти файлы нужно расположить. Я пробовал экспериментировать на локальном сайте, но то ли у меня что-то не донастроено, то ли нельзя так сделать на локальном сайте (без внешнего доступа из интернета), — ничего не вышло — авторизация на последнем шаге не срабатывает. Итак, располагаем эти файлы на сайте в интернете. Например, создаём в корне сайта каталог integration и в него извлекаем архив. В результате путь к демо-приложению получится http:///integration/index.php. Можно работать как с протоколом HTTP, так и с HTTPS. Лучше, конечно, использовать защищённый протокол.

Авторизация

Стороннее для Битрикс24 приложение должно получать (или передавать) данные, которые не должны быть похищены злоумышленниками. Чтобы этого достичь, нужно установить доверие между битриксом и сторонним сайтом. Для этого применяется протокол OAuth 2.0. Суть в том, что каждый запрос будет сопровождаться неким секретным набором символов (access_token). А чтобы злоумышленник не перехватил секретный код, этот код довольно быстро портится и очень строго получается: во время его генерации проверяется, что запрашивающий код сайт известен битриксу и является действительно тем сайтом, за кого себя выдаёт. Чтобы этого достичь, в Битрикс24 нужно создать некий секрет, который должен быть известен только администратору портала Битрикс24, настраивающему интеграцию. Для этого в битриксе создаётся приложение.
Раньше создание приложений было очень затруднено, но с недавних пор сделать это можно прямо в интерфейсе портала Битрикс24: слева в меню в группе «Приложения» нажимаем кнопку «Добавить приложение».

Слева как раз блок «Для личного использования» — нажимаем там «Добавить». Заполняем название, включаем флажок «Приложение использует только API», даём права «CRM», «Пользователи» и «Живая лента», указываем ссылку на своё демо-приложение http:///integration/index.php

После сохранения сгенерируется нужный нам секрет, состоящий из двух частей: «Код приложения» и «Ключ приложения» (т.е. никакого приложения не создаётся на самом деле, — просто указывается ссылка на него).

Полученные данные нужно занести в настройки демо-приложения (include/config.php). Код приложения вписываем в строку

define('CLIENT_ID', 'local.55fa7d514738b5.63819847');

Ключ приложения в строку

define('CLIENT_SECRET', '9768f9ccc5b198837cab9b7f2f233e1e');

Прописываем свой относительный путь к приложению:

define('PATH', '/integration/index.php');

Прописываем адрес своего сайта (он должен совпадать с тем, что указано в созданном приложении в Битрикс24)

define('REDIRECT_URI', 'http://' . PATH);

На этом настройки демо-приложения завершены.
Открываем наше приложение (http:///integration/index.php) в браузере. Должна появиться форма для ввода названия портала Битрикс24 (по форме my.bitris24.ru):

Вводим название своего портала и пробуем авторизоваться. В результате страница отобразит несколько ссылок и данные по текущей авторизации:

На этом настройка и проверка демо-приложения оканчивается

Разбираемся, как это работает

Страница несколько раз передаёт и получает различные данные из Битрикс24.

Всё это можно было бы проделать вручную, вводя длинные URL в браузере (как, например, делает автор статьи «Мой опыт использования Bitrix24 REST API«). Главная цель этих действий получить access_token. Зная этот код, можно взаимодействовать с битриксом через его API. В скрипте демо-приложения index.php с начала файла и до строки 61 как раз и происходит авторизация. Затем в строках 65 — 91 описывается метод обновить истекшую авторизацию. Далее идёт непосредственно функционал демо-страницы, где пользователю показываются несколько ссылок, нажатия которых приводят к выполнению определённых методов API Bitrix24 и, в свою очередь, взаимодействию с вашим порталом Битрикс24.
Все ссылки ведут на ту же страницу, только к URL дописываются параметры GET запроса, который тут же в скрипте обрабатывается в конструкции switch case.
Первая ссылка «Информация о пользователе» выполняет код:

$data = call($_SESSION["query_data"]["domain"], "user.current", array(
    "auth" => $_SESSION["query_data"]["access_token"])
);

Т.е. запрашивает у вашего портала разрешение на выполнение метода API user.current и передаёт access_token, полученный на предыдущем этапе. Это пример получения данных из Битрикс24.
Другая ссылка «Установить обработчик события» призвана привязать к определённому событию в Битрикс24 (в данном случае к добавлению лида) выполнение определённого скрипта на внешнем сайте (в данном случае ссылку на обработчик нужно исправить, чтобы прописать обработчик event.php). Чтобы обработчик с нашими настройками заработал, нужно исправить строку

"HANDLER" => REDIRECT_URI."event.php",

на

"HANDLER" => "http:///integration/event.php"

В целом обработка клика по данной ссылке (в скрипте index.php) должна выглядеть так:

case 'event.bind': // bind event handler
    $data = call($_SESSION["query_data"]["domain"], "event.bind", array(
        "auth" => $_SESSION["query_data"]["access_token"],
        "EVENT" => "ONCRMLEADADD",
        "HANDLER" => "http:///integration/event.php"
    ));
break;

После этих исправлений можно нажать ссылку и обработчик привяжется. Т.е. где-то на стороне вашего портала Битрикс24 в «облачном» фоне будет висеть наблюдатель и ждать события — добавление лида. Как только событие произойдёт, выполнится вызов обработчика с вашего сайта (скрипт event.php).
Какие обработчики каких событий уже привязаны к вашему порталу посмотреть в пользовательском интерфейсе нигде нельзя. Но можно добавить к скрипту index.php свою ссылку для обращения к методу API event.get, который отобразит все установленные обработчики. Добавляем ссылку:

и добавляем в существующий switch обработку, которая запросит метод event.get:

case 'event.get':
    $data = call($_SESSION["query_data"]["domain"], "event.get", array(
        "auth" => $_SESSION["query_data"]["access_token"])
    );
break;

Если потребуется удалить обработку события, то можно к этому демо-приложению добавить ссылку

и обработку (метод event.unbind); только изменить адрес HANDLER на требуемый:

case 'event.unbind':
    $data = call($_SESSION["query_data"]["domain"], "event.unbind", array(
        "auth" => $_SESSION["query_data"]["access_token"],
        'EVENT' => 'ONCRMLEADADD',
        'HANDLER' => REDIRECT_URI . "event.php"
    ));
break;

Для того, чтобы посмотреть, к каким событиям можно подписаться, можно добавить ссылку

и обработчик (метод events):

case 'event.list':
    $data = call($_SESSION["query_data"]["domain"], "events", array(
        "auth" => $_SESSION["query_data"]["access_token"])
    );
break;

Этих знаний уже достаточно для начала работы с API Bitrix24. В следующей статье я опишу, как сделать выгрузку сделок на внешний сайт при изменении сделки в Битрикс24.
Добавлено 23.10.2016: Вот ссылка на полный код с дополнениями из статьи.

Полезные ссылки

Вопрос выгрузки данных из Битрикс24 периодически возникает на различных ресурсах (например, Тостер). Но материалов по конкретным реализациям крайне мало. Например, есть статья «Использование REST API Bitrix24«. На github’е есть некий набор заготовок, но опять же проблема, как и с самим API Bitrix24 — нет описаний, как пользоваться и что есть. Общее представление о работе API Bitrix24 даёт презентация «Маркетплейс Битрикс24«.

Автор: Олег Ехлаков

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

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

  1. Аккаунт администратора Битрикс24
  2. Сайт в интернете, куда будем отсылать данные из Битрикс24

Создаём принимающий скрипт

Мы будем подписываться на событие ONCRMDEALUPDATE (как именно подписываться, см. ниже). Это событие в Битрикс24 возникает при изменении сделки. Многие ожидают, что событие «изменения сущности» вернёт те данные, которые изменились. В большинстве случаев это было бы удобно. Но Битрикс24 возвращает только идентификатор изменившейся сущности. Определить через API что именно изменилось — вообще нельзя. Можно только где-то иметь старую копию сущности и при изменении проверить все параметры и отыскать, что же изменилось.
Итак на вход наш скрипт получит идентификатор изменившейся сделки. Не густо. Нужно самостоятельно вытянуть все данные по этой сделке. Сделать это можно через метод API crm.deal.get. Вот пример, как это может быть реализовано в php:

// Получаем идентификатор изменившейся сделки 
$deal_id = $_REQUEST['data']['FIELDS']['ID'];
// Запрашиваем данные этой сделки
$auth = $_REQUEST['auth']['access_token'];
$domain = $_REQUEST['auth']['domain'];
$data = call($domain, "crm.deal.get", array(
    "auth" => $auth,
    "id" => $deal_id    
    )
);

Функция call() взята из демо-приложения, которое рассмотрено мною в предыдущей статье. Полный код этой функции можно увидеть в файле config.php в этом репозитории.
Полезные данные будут в массиве $data[‘result’]. Для начала можно весь этот массив записать в файл для анализирования. Например, можно это сделать так:

logger('Разбираем данные по сделке. var_export($data, 1) = ' . var_export($data, 1) . "n", 'common');

Функция logger() определена всё в том же файле config.php. После анализа массива данных, станет понятно, в каких ключах есть интересующие данные.
Так я выяснил, что статус сделки приходит в значении $data[‘result’][‘STAGE_ID’]. Мне не нужны сделки с начальным статусом (т.к. эти сделки могут сорваться — они ещё прорабатываются менеджером и клиентом). В моём случае код начального статуса — NEW (сделки с таким статусом пропускаем).
Как я определял коды сделок уже не помню. Сейчас можно, например, открыть в Битрикс24 страницу с настройками статусов сделок [CRM / Настройки / Статусы сделки] и в браузерных инструментах разработчика поискать в html дереве строку «LIST[DEAL_STAGE]». Код статуса — это то, что указано в атрибуте VALUE скрытого тега input с названием name=»LIST[DEAL_STAGE][111][STATUS_ID]», где число 111 будет разным для разных статусов. Описание весьма запутанное — смотрите пример на снимке ниже:

Кроме определения статуса сделки, мне нужно было записывать сделки во внешнюю систему только один раз, а не добавлять каждый раз при изменении статуса сделки. Но данные по сделке могут измениться, поэтому при повторной отправке той же самой сделки, она будет обновлять данные.
Я работал с данными, передавая их напрямую в базу данных (без каких-либо библиотек и фреймворков). Получился такой код обработки данных заказа:


if (isset($data['result'])) {
    logger("Сделка №" . $data['result']['ID'] . " — " . $data['result']['TITLE'] . "n", 'common');
    // Проверяем, не является ли сделка новой (если новая, то ещё не обязательно, что сделка состоится)
   
 if ($data['result']['STAGE_ID'] != 'NEW') {
        logger("Обрабатываем не новую сделку" . "n", 'common');
        // Ищем эту сделку в базе, - вдруг она уже заведена
        $deal_id_search = "Сделка №" . $deal_id;
        logger('$deal_id_search = ' . $deal_id_search . "n", 'common');
        $result = SQL('SELECT COUNT(*) AS count FROM deal WHERE name LIKE CONCAT(?, "%")', $deal_id_search);
        if ($result[0]['count']) {
            logger('Сейчас будем обновлять данные по сделке' . "n", 'common');
            // Такая сделка уже заведена в базе. Но обновим её данные
            SQL('UPDATE `deal` SET `name` = ?, `date` = ?, `amount` = ?, `comment` = ? WHERE `name` LIKE CONCAT(?, "%")', "Сделка №" . $deal_id . " — " . $data['result']['TITLE'], $data['result']['CLOSEDATE'], $data['result']['OPPORTUNITY'], $data['result']['COMMENTS'], $deal_id_search);
            logger('Обновили сделку в базе. Сделка №' . $deal_id . " — " . $data['result']['TITLE'] . "n", 'common');  
        } else {
            // Такой сделки ещё нет в базе, - добавляем
            SQL('INSERT INTO `deal` (`name`, `date`, `amount`, `comment`, `accounting`) VALUES(?, ?, ?, ?, 1)', "Сделка №" . $deal_id . " — " . $data['result']['TITLE'], $data['result']['CLOSEDATE'], $data['result']['OPPORTUNITY'], $data['result']['COMMENTS']);
            logger('Добавили сделку в базу. Сделка №' . $deal_id . " — " . $data['result']['TITLE'] . "n", 'common');    
        }
    }
}

В данном коде используется функция SQL() — она определена в файле myfunctions.php. Полностью этот файл, а также целиком мой принимающий скрипт (reg-deal.php) можно посмотреть тут.

Создаём обработчик события

Чтобы скрипт, описанный выше стал выполняться каждый раз, когда в Битрикс24 изменится сделка, нужно прописать на портале Битрикс24 обработчик события. Сделать это из админки Битрикс24, к сожалению, пока невозможно. Только через API. Обработчик на событие ONCRMDEALUPDATE можно прописать кликнув на ссылке «Установить обработчик события «Обновление сделки»» из модифицированного скрипта демо-приложения, описанного в предыдущей статье. Также там есть ссылка «Просмотр установленных обработчиков событий» — для проверки, какие события прописаны на портале.

За установку обработчика отвечает код:


$data = call($_SESSION["query_data"]["domain"], "event.bind", array(
    "auth" => $_SESSION["query_data"]["access_token"],
    "EVENT" => "ONCRMDEALUPDATE",
    "HANDLER" => "http://sitename/integration/reg-deal.php"
));

После выполнения скрипта, Битрикс24 каждый раз при срабатывании собятия изменения сделки будет обращаться к скрипту, прописанному в параметре HANDLER, поэтому нужно точно убедиться что в адресе нет ошибок.

Что дальше

После того, как настроен принимающий скрипт и установлено срабатывание запроса из Битрикс24 к этому скрипту, данные будут передаваться автоматически. Но что-то может пойти не так. Например, событие в Битрикс24 сработает, но скрипт не отработает (может, ваш сайт будет временно недоступен из-за сетевых проблем). Получится необработанное событие. Нужно либо придумать механизм контроля, либо учитывать ненадёжность передачи.
Во-вторых, принимающий скрипт «торчит» в интернет, а значит любой злоумышленник может обратиться к нему и подставить фейковые данные, которые что-то сломают на вашем сайте, либо нарушат ваши данные. Значит, нужно придумать какую-то защиту, — хотя бы первичную верификацию данных и проверку, откуда исходил запрос. Данная статья не затрагивает эти вопросы! В каждой реализации это будет свой уникальный комплекс мер.

Автор: Олег Ехлаков

Деформации позвоночника у пожилых пациентов: сравнение двух конечных точек фиксации поясничной дуги


В сентябре в немецком журнале European Journal of Orthopaedic Surgery & Traumatology вышла статья Spinal deformity in elderly patients: comparison of two distal termination sites of lumbar curve fusion [Деформации позвоночника у пожилых пациентов: сравнение двух конечных точек фиксации поясничной дуги].

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

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

 

Фиксация поясничной дуги и классификация типов остеотомии Schwab F., 2014


В нашей статье были изучены результаты лечения пожилых пациентов, которым проводилась фиксация поясничной дуги (лордоза) с остановкой в последнем поясничном позвонке (L5) или с продолжением в тазовые кости. Фиксацию в таз не проводили, если сегмент L5-S1 не имел значимых дегенеративных изменений на основании МРТ картины.

 
 

 

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

 
 

Ссылки по теме:

 
 
 
 
 

Автор: Никита Заборовский
Дата публикации: 2016-10-24T20:41:00.001+03:00