Архив метки: избранное

Собственная реализация функционала печати чеков по 54-ФЗ из 1С Розница 2.2

Собственно причиной сподвигнувшей меня на написание данного «велосипеда» послужило то, для того чтобы распечатался полноценный чек из 1С, не используюя РМК, нужно очень много телодвижений от менеджера.  А именно: создать документ реализации, на основании его создать документ «Чек» или «ПКО». Если печатать чек прямо из документа реализации, то в чеке выходят не понятные надписи «Кредит». Читать далее Собственная реализация функционала печати чеков по 54-ФЗ из 1С Розница 2.2

Arduino Uno краткий обзор..

Ну на самом деле таких обзоров в «интернетиках» пруд пруди.. Ну чтож, внесу и я свою лепту. Тем более делаю это больше «для себя», чтоб не забыть ежели чего ключевые моменты.

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

Читать далее Arduino Uno краткий обзор..

Получение данных из Active Directory посредством PHP

Сам за себя лучше всего расскажет мой кусок кода. Все сдобрено максимально большим количеством комментариев. По формату построения LDAP запросов полезно почитать вот этот мануал. Ничего толковее к сожалению найти не смог.

Вот результат:

Снимок-12Вот код:

$ldap_user='gribov.p';
$ldap_pass='ргшкуцудцс';
$filter = "(telephonenumber=*9657400222*)";   // устанавливаем фильтр выборки из AD
//(company=*Русский Север*)
$attr=array("displayname","useruid2","title","telephonenumber","department","mail","jpegphoto","homephone"); // устанавливаем какие поля нам нужно получить из AD

// устанавливаем соединение с ldap сервером
$ldap_con = ldap_connect($cfg->ldap) or die("Could not connect to LDAP server.");
echo "-Соеденяюсь с LDAP сервером: OK</br>";

// Устанавливаем флажки протокола
ldap_set_option($ldap_con, LDAP_OPT_PROTOCOL_VERSION, 3);  // AD Windows 2003 и выше
ldap_set_option($ldap_con, LDAP_OPT_REFERRALS, 0);         //Определяет, следовать ли автоматически рефералам, возвращенным сервером LDAP. Зачем нужно - не понятно

// авторизуемся в AD
$dn="$cfg->domain1\\$ldap_user";
$ldapbind = ldap_bind($ldap_con, $dn, $ldap_pass) or die("LDAP bind failed...");
echo "-Авторизуюсь на LDAP сервере: OK</br>";

// Пытаемся чтото получить из AD
$base_dn = "DC=$cfg->domain1, DC=$cfg->domain2";  
$search=ldap_search($ldap_con, $base_dn, $filter,$attr);  // Ищем эти поля, получаем ссылку на результат
$number_returned = ldap_count_entries($ldap_con,$search); // Получаем количество записей
echo "-Получаю записи из AD: $number_returned</br>";
$info = ldap_get_entries($ldap_con, $search);             // получаем результат в переменную $info

// дальше парсим полученный массив
// Результирующий массив с пользователями из AD
// "displayname","useruid2","title","telephonenumber","department","mail","jpegphoto","homephone"
  for ($i=0; $i<$info["count"]; $i++) {             
        $res=$info[$i];
        $m_name=$res["displayname"];
        echo "Имя: $m_name[0]</br>";
        $m_tab=$res["useruid2"];
        echo "Табельный: $m_tab[0]</br>";        
        $m_title=$res["title"];
        echo "Должность: $m_title[0]</br>";        
        $m_tel=$res["telephonenumber"];
        echo "Телефон: $m_tel[0]</br>";        
        $m_dep=$res["department"];
        echo "Департамент: $m_dep[0]</br>";        
        $m_mail=$res["mail"];
        echo "Email: $m_mail[0]</br>";        
        $m_photo=$res["jpegphoto"];
        $m_hometel=$res["homephone"];
        echo "Дом.тел: $m_hometel[0]</br>";               
        file_put_contents('img.jpg',$m_photo[0]);
        echo "<img src='img.jpg'>";                       
         echo "<hr>";       

    };