Мегафон: Никогда не было и вдруг опять (с)
Симка вставленая в роутер сама подписалась на услугу замени «Гудок». Хорошо плачу «впритык» и прочухал буквально на следующий день, что списания пошли..
Симка вставленая в роутер сама подписалась на услугу замени «Гудок». Хорошо плачу «впритык» и прочухал буквально на следующий день, что списания пошли..
1) Установим git:
1 |
yum install git |
2) Установим gitweb:
1 2 3 4 |
git clone git://git.kernel.org/pub/scm/git/git.git cd git/ make GITWEB_PROJECTROOT="/srv/git" prefix=/usr gitweb sudo cp -Rf gitweb /var/www/ |
, где в переменную GITWEB_PROJECTROOT прописываем путь, где будут храниться репозитарии
3) Настроим Apache:
1 2 3 4 5 6 7 8 |
ServerName gitserver DocumentRoot /var/www/gitweb Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch AllowOverride All order allow,deny Allow from all AddHandler cgi-script cgi DirectoryIndex gitweb.cgi |
4) Возможно понадобиться установить дополнительно модули для Perl:
1 |
yum install perl-Digest-MD5 perl-CGI -y |
5) Создание репозитария:
1 2 3 4 |
cd /srv/git mkdir newrep cd newrep git init |
Приём данных и ответ от 1С :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Функция telegram_callbacktcallback(Запрос) ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(Запрос.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8)); JSONM = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); HTTPОтвет = Новый HTTPСервисОтвет(200); HTTPОтвет.УстановитьТелоИзСтроки("Всем привет"); HTTPОтвет.Заголовки["Content-Type"] = "text/html; charset=utf-8"; Возврат HTTPОтвет; КонецФункции |
Обращение к сервису 1С из PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php mb_internal_encoding("UTF-8"); $bodyz = file_get_contents('php://input'); $body =$bodyz; $data=Date("d-m-Y H:i:s")." Ent:".serialize($body)."\n"; file_put_contents('telegram.log', $data, FILE_APPEND); $url = "https://сервер:80/путь/вызов"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERPWD, "ЛОГИН.:ПАРОЛЬ"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,$bodyz); $response = curl_exec($ch); var_dump($response); if(curl_errno($ch)){ throw new Exception(curl_error($ch)); }; echo $response; $data=Date("d-m-Y H:i:s")." Exit:".serialize($response)."\n"; file_put_contents('telegram.log', $data, FILE_APPEND); ?> |
Задача: из текущей базы получить данные другой базы
Решение: используем COM соедниение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
Функция ПолучитьПодключениеКСервернойБД() ПараметрыСоед = "Srvr='"+объект.Сервер+"';Ref='"+объект.ИмяБазы+"';Usr='"+объект.Логин+"';Pwd='"+объект.Пароль+"';"; V83COMConnector= Новый COMОбъект("V83.COMConnector"); Попытка Base1С = V83COMConnector.Connect(ПараметрыСоед); сообщить(Base1С); Исключение сообщить ("Ошибка подключения!"); Base1С=неопределено; КонецПопытки; возврат Base1С; КонецФункции функция ПолучитьОстаткиВТекущейБазе(Дата1,ЛицевойСчет) //получаю остатки Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | vscРасчетыСАбонентамиОстаткиИОбороты.Тариф КАК Тариф, | vscРасчетыСАбонентамиОстаткиИОбороты.ВидУслуги КАК ВидУслуги, | vscРасчетыСАбонентамиОстаткиИОбороты.ВидНачисления КАК ВидНачисления, | vscРасчетыСАбонентамиОстаткиИОбороты.ДоговорНаПоставку КАК ДоговорНаПоставку, | vscРасчетыСАбонентамиОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | vscРасчетыСАбонентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | vscРасчетыСАбонентамиОстаткиИОбороты.РасходКонечныйОстаток КАК РасходКонечныйОстаток |ИЗ | РегистрНакопления.vscРасчетыСАбонентами.ОстаткиИОбороты(ДАТАВРЕМЯ(2000, 1, 1, 0, 0, 0), &Дата1, , , ) КАК vscРасчетыСАбонентамиОстаткиИОбороты |ГДЕ | vscРасчетыСАбонентамиОстаткиИОбороты.ЛицевойСчет = &ЛицевойСчет | И vscРасчетыСАбонентамиОстаткиИОбороты.ВидРасчетов <> ЗНАЧЕНИЕ(Перечисление.vscВидыРасчетов.Корректировка) | |СГРУППИРОВАТЬ ПО | vscРасчетыСАбонентамиОстаткиИОбороты.Тариф, | vscРасчетыСАбонентамиОстаткиИОбороты.ВидУслуги, | vscРасчетыСАбонентамиОстаткиИОбороты.ВидНачисления, | vscРасчетыСАбонентамиОстаткиИОбороты.ДоговорНаПоставку, | vscРасчетыСАбонентамиОстаткиИОбороты.СуммаНачальныйОстаток, | vscРасчетыСАбонентамиОстаткиИОбороты.СуммаКонечныйОстаток, | vscРасчетыСАбонентамиОстаткиИОбороты.РасходКонечныйОстаток"; Запрос.УстановитьПараметр("Дата1", КонецДня(Дата1)+1); Запрос.УстановитьПараметр("ЛицевойСчет", ЛицевойСчет); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); возврат ВыборкаДетальныеЗаписи; конецфункции |
Обратить внимание! В качестве передаваемых параметров нельзя использовать объекты. ТОЛЬКО примитивные типы. Типа строка,номер и т.д.
Дождались! Теперь в культовый Boulder Dash можно поиграть на сервере в консоли SSH. Что для этого сделать?
1. Скачать исходники здесь: https://sourceforge.net/projects/ascii-dash/files/
2. Распаковать. Заменить файл sounds.cpp, моим «патченным». Патч отключает использование звуковой карты (какая на сервере может быть звуковая карта??)
3. Скомпилировать согласно иструкции из readme.txt