<?xml version="1.0" encoding="utf8"?> <rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Статьи ООО Бизнес технологии</title><description>Наша фирма предоставляет комплекc услуг по обслуживанию компьютеров, оргтехники, ноутбуков, серверов. Внедряем и дорабатываем 1С Предприятие.Создаем сайты, продвигаем в поисковиках.</description><link>https://www.group-business</link><item><title>Добавляем сайт в аддурилку</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=119</link><description><![CDATA[Аддурилка (add url) – это специальная страница, которая есть почти у всех поисковых систем. На этой странице есть форма, с помощью которой веб-мастера могут уведомить поисковик о новом сайте. Слово аддурилка образовалось от английского «add url» – добавить урл (ссылка).

Несколько моментов:

    добавление сайта в аддурилку не дает гарантию на появление в выдаче поисковика и ускорения индексации.
    добавлять сайт в поисковые системы лучше тогда, когда сайт уже хоть немного сделан.
    регистрация в поисковых системах не является обязательным шагом. Если у вас нормальный сайт, он сам рано или поздно появиться в поиске :) .

Список аддурилок поисковых систем, куда можно добавить свой сайт:

1. Добавить сайт в Яндекс (Yandex.ru)
Аддурилка Яндекса находится по адресу: http://webmaster.yandex.ru/addurl.xml
Яндекс – лидер в рунете. Появление сайта в его поиске может дать большой приток посетителей, а также возможность заработать на продаже ссылок.

2. Добавить сайт в Google. (Google.ru)
Аддурилка Гугла находится по адресу: http://www.google.com/addurl/
Гугл тоже способен приносить много трафика. Замечено, что после регистрации сайта в этом поисковике сайт быстрее попадает в индекс, чем в Яндекс.

3. Добавить сайт в Рамблер (Rambler).
Аддурилка Рамблера находится по адресу: http://robot.rambler.ru/cgi-bin/addsite.cgi
К регистрации подходят только те сайты, которые находится на территории (в национальных доменах) России и стран СНГ.

4. Добавить сайт в Mail (Поиск@Mail.Ru).
Аддурилка Mail находится по адресу: http://go.mail.ru/addurl
Хотя, Мэил использует базу Гугла, поэтому, если вы уже зарегистрировали сайт в Google, то в mail добавлять его не обязательно.

5. Добавить сайт в Yahoo (search.yahoo.com).
Аддурилка Яху находится тут: http://siteexplorer.search.yahoo.com/submit
С Yahoo тоже приходят посетители…

6. Добавить сайт в Bing (он же msn).
Аддурилка Бинг: http://www.bing.com/webmaster/SubmitSitePage.aspx

7. Добавить сайт в Нигму (nigma.ru).
Аддурилка Нигмы: http://nigma.ru/index_menu.php?action=click_menu&menu_element=add_site

8. Добавить сайт в Апорт (aport.ru)
Аддурилка Апорта: http://catalog.aport.ru/rus/add/AddUrl.aspx

Советую добавить сайт во все поисковики из этого списка, даже самые небольшие. С того же Бинга у меня на одном сайте идет 20-40 человек в сутки. Что хоть небольшое, но все же, прибавление.     
	]]></description><pubDate>08.01.2013</pubDate></item><item><title>Установка и настройка FreeBSD 6.3 и 7.0 в системе виртуализации Hyper-V</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=118</link><description><![CDATA[<p>В последнее время среди коллег по ИТ, проснулся интерес к запуску Unix подобных систем под Hyper-V. За последнюю неделю несколько человек спросили как обстоят дела с запуском FreeBSD и Linux внутри нашей системы виртуализации. Большинство интересовал вопрос возможно ли Hyper-V использовать в производственных средах для запуска унаследованных Uniх систем. И если да, то много ли там подводных камней на пути к всеобщему счастью. Поэтому я решил <span style="text-decoration: line-through;">тряхнуть стариной</span> вспомнить былые развлечения и взялся за *nix системы снова. Примерно год назад я уже пробовал запускать несколько вариантов BSD систем под Hyper-V. В тот момент Hyper-V еще даже официально не вышел на рынок. Результаты были не очень обнадеживающие. На тот момент была актуальна FreeBSD 6.3 и FreeBSD 7.0. Все попытки запустить обе системы окончились неудачей. Что бы я ни делал, загрузчик ОС зависал с ошибкой &ldquo;Can&rsquo;t load kernel&rdquo;. Мне даже не удавалось&nbsp; запустить установку системы. Эти версии ОС так и не заработали под Hyper-V.</p>
<p><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_17_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_17_thumb.png" alt="FreeBSD_17" width="332" height="255" border="0" /></a></p>
<p>С тех пор прошло некоторое количество времени, RTM версия Hyper-V вышла на рынок и не давно была выпущена FreeBSD 6.4. Поэтому я решил проверить ее, а заодно и версии FreeBSD 7.1 RC1 и&nbsp; самую свежую FreeBSD 8.0. snapshoot 200812. В процессе исследования работы этих систем под Hyper-V я увидел что <a href="http://xaegr.wordpress.com/2008/11/26/freebsd-on-hyperv/" target="_blank">Василий Гусев тоже "борется" с FreeBSD</a> и решил посильно помочь. В отличие от Василия, я решил использовать Windows Server 2008 Enterprise Edition, а не Windows Server 2008 R2.&nbsp; Такое решение было продиктовано в первую очередь тем, что нужно было проверить как, подопытные ОС заработают под общедоступным Windows Server 2008. Не у всех ведь есть доступ к бета-версиям. К тому же использовать бета-версию в производственной среде под нагрузкой большинство моих коллег врядли бы стало.</p>
<p>Вот что выяснилось в процессе исследования. Все перечисленные ОС нормально загружаются под Hyper-V и выполняют свою инсталляцию так же как и на реальном оборудовании. Никаких ошибок в процессе установки не появляется. Есть маленькие проблемы, но они решаемы.</p>
<p>Как же установить эти ОС? Все очень просто. В связи с тем что драйверов синтетических устройств и компонентов интеграции для FreeBSD не выпускается нам придется удалить сетевую карту создаваемую по умолчанию и вместо нее добавить Legacy Network Adapter.</p>
<p><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD0_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD0_thumb.png" alt="FreeBSD0" width="330" height="307" border="0" /></a> <a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD01_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD01_thumb.png" alt="FreeBSD01" width="330" height="307" border="0" /></a></p>
<p>Эта карта обычно хорошо работает в системах, которые официально не поддерживаются Microsoft. У нее есть только один минус - ограничение скорости в 100 мегабит. Впрочем большинству клиентов этого вполне хватает. Теперь систему можно устанавливать. В этом процессе нет ничего необычного поэтому мы его пропускаем.</p>
<p>Ближе к концу установки система предлагает настроить сетевую карту. Делать это можно двумя путями: DHCP или статической адресацией. Многие из пытавшихся настроить сеть во FreeBSD под Hyper-V говорят, что сеть работает плохо, DHCP нестабилен и использовать его нельзя . Дескать, мы обречены на жизнь со статической адресацией. Это не правда. :) Давайте попробуем воспользоваться DHCP.</p>
<p><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_1_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_1_thumb.png" alt="FreeBSD_1" width="380" height="292" border="0" /></a> <a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_2_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_2_thumb.png" alt="FreeBSD_2" width="380" height="292" border="0" /></a></p>
<p>Как видите, система правильно нашла мой домашний маршрутизатор ASUS WL-500w являющийся по совместительству еще и DHCP сервером. В журнале работы самого DHCP сервера можно увидеть следующее</p>
<p><em>Dec 15 20:09:30 dnsmasq[52]: DHCPREQUEST(br0) 192.168.1.235 00:15:5d:01:fa:78 <br />Dec 15 20:09:30 dnsmasq[52]: DHCPACK(br0) 192.168.1.235 00:15:5d:01:fa:78 freebsd7</em></p>
<p>Значит DHCP все таки отрабатывает нормально. :)</p>
<p>В конце установки в момент когда система спрашивает у нас разрешения на перезагрузку соглашаемся с ней. И в момент завершения работы она зависает в состоянии Stoping. Казалось бы ничего страшного, но гостевая ОС перестает вообще реагировать на какие либо команды основной системы.</p>
<p><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_3_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_3_thumb.png" alt="FreeBSD_3" width="371" height="286" border="0" /></a>&nbsp; <a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_hang_2.png"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_hang_thumb.png" alt="FreeBSD_hang" width="583" height="285" border="0" /></a>&nbsp;</p>
<p>Самое неприятное, что из меню исчезает команда "Turn Off" ведь по мнению Hyper-V гостевая ОС уже почти завершилась. И завершать ее еще раз было бы некорректно. В таком состоянии гостевая ОС может висеть довольно долго, но мы ждать этого не будем.</p>
<p>Запускаем Powershell с правами Administrator даже если вы в данный момент являетесь Local Administrator, иначе скрипт Powershell не покажет вам нужную виртуальную машину. Завершаем работу этой виртуальной машины с помощью скрипта Powershell и WMI.</p>
<p><em>&gt; Get-WmiObject -Namespace rootvirtualization msvm_computersystem | Format-Table ElementName, ProcessId</em></p>
<p><em>&gt; kill номер процесса</em></p>
<p><strong><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_15_2.png"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_15_thumb.png" alt="FreeBSD_15" width="364" height="292" border="0" /></a>&nbsp; <a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_15_1_2.png"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_15_1_thumb.png" alt="FreeBSD_15_1" width="785" height="293" border="0" /></a> </strong></p>
<p>И пока виртуальная машина не успела перезапуститься выключаем ее кнопкой "Turn Off". Извлекаем из виртуального CD-ROM установочный диск иначе инсталляция начнется снова. После этого спокойно загружаем только что установленную систему. Все идет хорошо до тех пор пока FreeBSD не попытается получить адрес по DHCP. Как видите это ей не удается как на этапе загрузки так и после загрузки.</p>
<p><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_4_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_4_thumb.png" alt="FreeBSD_4" width="368" height="283" border="0" /></a>&nbsp;</p>
<p>Итак давайте чинить FreeBSD.</p>
<h3>Налаживаем работу с DHCP.</h3>
<p>Если после загрузки виртуальной машины выполнить следующие команды:</p>
<p><em># ifconfig de0 down</em></p>
<p><em># ifconfig de0 up</em></p>
<p><em># dhclient de0</em></p>
<p>Или включить/выключить все сетевые интерфейсы с помощью скрипта</p>
<p><em># /etc/rc.d/netif restart</em></p>
<p>то после этого сетевой интерфейс de0 начинает функционировать&nbsp; нормально и получает IP адрес через&nbsp; DHCP и сеть работает так так и должна.</p>
<p><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD25_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD25_thumb.png" alt="FreeBSD25" width="362" height="279" border="0" /></a></p>
<p>Но подобное счастье длится только до следующей перезагрузки системы. К сожалению данная настройка не переживет перезагрузку системы поэтому нам необходимо внести изменения в /etc/rc.conf вписав в него следующую строку.</p>
<p><em>ifconfig_de0=&rdquo;DHCP media 100baseTX mediaopt full-duplex&rdquo;</em></p>
<p>Того же самого эффекта можно добиться с помощью&nbsp; программы sysinstall. Нужно только добавить опции &rdquo;DHCP media 100baseTX mediaopt full-duplex&rdquo; в параметры команды ifconfig.</p>
<p>&nbsp;<a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_14_2.png"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_14_thumb.png" alt="FreeBSD_14" width="378" height="291" border="0" /></a></p>
<h3>Устраняем причину зависания при перезагрузке или приостановке ОС</h3>
<p>Насколько я понимаю система зависает потому что не может правильно управлять питанием через ACPI. Для того чтобы это исправить один из <a href="http://shell.peach.ne.jp/aoyama/" target="_blank">Японских коллег</a> написал <a href="http://shell.peach.ne.jp/%7Eaoyama/wordpress/download/fbs71-200809-hvpatch.bz2" target="_blank">патч для ядра FreeBSD</a>.</p>
<p>Сеть у вас уже работает так что скачать патч и все нужные утилиты не составит труда. Давайте установим патч и посмотрим что получится.&nbsp; В гостевой ОС должен быть установлен компилятор, исходные тексты ядра и моя любимая утилита wget. Если у вас нет wget можете использовать fetch. Чтобы скомпилировать и установить новое ядро нужно выполнить вот такие команды.</p>
<p># cd /tmp</p>
<p># wget <a href="http://shell.peach.ne.jp/%7Eaoyama/wordpress/download/fbs71-200809-hvpatch.bz2">http://shell.peach.ne.jp/~aoyama/wordpress/download/fbs71-200809-hvpatch.bz2</a>&nbsp;</p>
<p># cd /usr/src/</p>
<p># bzcat &lt; /path/to/fbs71-200809-hv.patch.bz2 | patch -p1</p>
<p># make buildkernel</p>
<p># make installkernel</p>
<p># shutdown -r now</p>
<p>Затем "убиваем" гостевую ОС с помощью скрипта на Powershell о котором я уже писал. И после перезагрузки у вас должны пропасть проблемы с сетью и подвисанием самой ОС.</p>
<p>Теперь можно полноценно использовать FreeBSD под Hyper-V. Понятно что процедура лечения ОС не простая, но ведь никто вас не заставляет ее проходить повторно. В случае необходимости просто клонируйте виртуальную машину и создайте еще один экземпляр FreeBSD. Дабы не быть голословным привожу снимок экрана на котором видны три виртуальных машины FreeBSD 6.4 i386, FreeBSD 7.1 RC1 i386 и FreeBSD 8.0. CURRENT 200812 amd64 нормально работающих в моей системе.&nbsp;</p>
<p><a href="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_Final_2.png" target="_blank"><img style="border-width: 0px;" src="http://blogs.technet.com/blogfiles/abeshkov/WindowsLiveWriter/FreeBSDHyperV_AF2/FreeBSD_Final_thumb.png" alt="FreeBSD_Final" width="378" height="303" border="0" /></a></p>
<p>Есть правда маленькая загвоздка FreeBSD 6.4 i386 упрямо не хочет завершать процесс заморозки по нажатию кнопки "Save", видимо патч на нее подействовал не совсем правильно. Надо будет на досуге продолжить разбирательство с ней.</p>
<p>В следующих записях в блоге думаю сделать тестирование скорости работы FreeBSD под Hyper-V. Надеюсь вам это будет интересно. После этого можно будет обосновано говорить о том, стоит ли использовать FreeBSD в системе виртуализации Hyper-V для каких либо промышленных задач.</p>
<p>Так же есть планы написать о всех тонкостях запуска Linux под Hyper-V. Пишите в комментариях про какие UnixLinux ОС под Hyper-V вам будет наиболее интересно почитать.</p>]]></description><pubDate>05.12.2012</pubDate></item><item><title>Установка нескольких независимых версий PHP на одном веб-сервере Apache</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=117</link><description><![CDATA[     Эта статья описывает метод установки произвольного количества версий PHP на один сервер. При этом все версии будут работать параллельно и обрабатываться одним скриптом.

Суть метода состоит в использовании CGI-обработчиков, которые привязываются по расширению к php-файлам. К примеру, файлы .php449 будут обрабатываться четвёртым PHP, а файлы .php600 шестой версией, и т.д.

Для реализации данного метода требуется уже настроенный веб-сервер Apache, а также доступ в Интернет. Способ установки веб-сервера описан в статье Установка web-сервера (FAMP).

Внимание! CGI-обработчики могут быть "дырой" в безопасности. Если сервер находится под "нагрузкой", то позаботьтесь о дополнительных мерах безопасности. Более подробная информация находится по адресу http://php.net/security.cgi-bin.

------------------ I. Подготовка системы  -----------------

Создём папку, где будут лежать архивы с дистрибутивами пхп
zg# mkdir /usr/local/php-dist

Сами архивы можно скачать по следующим адресам
 - текущие релизы        http://www.php.net/downloads.php
 - релиз-кандидаты       http://qa.php.net/
 - устаревшие релизы     http://www.php.net/releases/
 - сборки разработчиков  http://snaps.php.net/

Будте внимательны! Те ссылки, которые приведены здесь, могут не работать.
Это связано с тем, что актуальность некоторых сборок с течением времени
становится крайне мала. Только релизы, как правило, имеют постоянное место
размещения. Девелоперские сборки и релиз-кандидаты устаревают очень быстро.

------------------ II. Установка PHP 4.4.9  -----------------

Переходим в папку с дистрибутивами пхп
zg# cd /usr/local/php-dist/

Скачиваем исходный код нужной версии пхп
zg# fetch -o php-4.4.9.tar.bz2 http://ru2.php.net/get/php-4.4.9.tar.bz2/from/this/mirror

Распаковываем архив в текущую апаку
zg# tar xf php-4.4.9.tar.bz2

Переходим в папку с исходным кодом
zg# cd php-4.4.9

Конфигурируем пхп с нужными параметрами (опция --disable-cli обязательна!)
zg# ./configure --prefix=/usr/local/php/4.4.9 --disable-cli

Устанавливаем пхп
zg# make install clean

Устанавливаем конфиг php.ini
zg# cp php.ini-dist /usr/local/php/4.4.9/lib/php.ini

------------------ III. Установка PHP 5.3.1RC1 -----------------

Переходим в папку с дистрибутивами пхп
zg# cd /usr/local/php-dist/

Качаем нужную версию пхп
zg# fetch -o php-5.3.1RC1.tar.bz2  http://downloads.php.net/johannes/php-5.3.1RC1.tar.bz2

Распаковываем архив
zg# tar xf php-5.3.1RC1.tar.bz2

Переходим в папку с исходным кодом
zg# cd php-5.3.1RC1

Конфигурируем пхп
zg# ./configure --prefix=/usr/local/php/5.3.1RC1

Устанавливаем пхп
zg# make install clean

Устанавливаем конфиг
zg# cp php.ini-production /usr/local/php/5.3.1RC1/lib/php.ini

------------------ IV. Установка PHP 6 -----------------

Для шестого пхп требуется ICU. У меня его в системе не было, поэтому я его устанавливаю 
перед установкой пхп.
zg# pkg_add -r icu

Переходим в папку с дистрибутивами пхп
zg# cd /usr/local/php-dist/

Качаем девелоперскую сборку пхп 6
zg# fetch http://snaps.php.net/php6.0-200909050830.tar.bz2

Распаковываем архим
zg# tar xf php6.0-200909050830.tar.bz2

Переходим в папку с исходным кодом
zg# cd php6.0-200909050830/

Конфигурируем
zg# ./configure --prefix=/usr/local/php/6.0.0

Устанавливаем
zg# make install clean

Устанавливаем конфиг
zg# cp php.ini-production /usr/local/php/6.0.0/lib/php.ini

------------------ IV. Настройка папки cgi-bin -----------------

Определяем текущее положение папки cgi-bin
zg# grep "ScriptAlias /cgi-bin" /usr/local/etc/apache22/httpd.conf
    ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"

Переходим в папку cgi-bin
zg# cd /usr/local/www/apache22/cgi-bin/

Создаём символические ссылки на CGI-исполняемые файлы пхп
zg# ln -s /usr/local/php/4.4.9/bin/php php449
zg# ln -s /usr/local/php/5.3.1RC1/bin/php-cgi php531RC1
zg# ln -s /usr/local/php/6.0.0/bin/php-cgi php600
zg# ln -s /usr/local/bin/php-cgi phpLOCAL

Редактируем конфиг апача, чтобы разрешить символические ссылки в cgi-bin
zg# ee /usr/local/etc/apache22/httpd.conf

Находим секцию <Directory "/usr/local/www/apache22/cgi-bin">. 
И заменяем (или добавляем) Options None на Options FollowSymLinks.
У меня конфиг получился таким:

<Directory "/usr/local/www/apache22/cgi-bin">
    AllowOverride None
    Options FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

Сохраняем файл и выходим из редактора.

------------------ V. Настройка папки с несколькими версиями PHP -----------------

Создаём конфиг для папки, в которой будет работать несколько версий пхп
zg# ee /usr/local/etc/apache22/Includes/multi-php.conf

Alias /multi-php/ "/usr/local/www/multi-php/"

<Directory "/usr/local/www/multi-php/">
    # Привязываем разные расширения файлов к разным типам
    AddType x-httpd-php-449    .php449
    AddType x-httpd-php-531rc1 .php531rc1
    AddType x-httpd-php-600    .php600
    AddType x-httpd-php-local  .phplocal

    # Для каждого типа создаём соответствующий CGI-обработчик
    Action x-httpd-php-449     /cgi-bin/php449
    Action x-httpd-php-531rc1  /cgi-bin/php531RC1
    Action x-httpd-php-600     /cgi-bin/php600
    Action x-httpd-php-local   /cgi-bin/phpLOCAL

    Order Deny,Allow
    Allow from all
</Directory>

Создаём папку
zg# mkdir -p /usr/local/www/multi-php/

Переходим в папку
zg# cd /usr/local/www/multi-php/

Качаем небольшую формочку для более удобного запуска пхп кода
zg# fetch http://anton-pribora.ru/files/multi-php-eval-form.tar.bz2

Распаковываем архив
zg# tar xf multi-php-eval-form.tar.bz2

Создаём ссылки разных типов на единый файл запуска
zg# ln -s run.php run.php449
zg# ln -s run.php run.php531rc1
zg# ln -s run.php run.php600
zg# ln -s run.php run.phplocal

Перезапускаем апач
zg# apachectl graceful

Теперь можно зайти на http://ваш_адрес/multi-php/ , там должна отобразиться формочка 
с возможностью выбора, в какой версии PHP выполнять код.     
	
	]]></description><pubDate>01.12.2012</pubDate></item><item><title>Обновление дерева портов FreeBSD с помощью Portsnap</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=114</link><description><![CDATA[     Дерево портов – это минимальный набор файлов, который нужен для того что бы найти в сети исходные коды вашей программы, скомпилировать её и установить. Время от времени порты обновляются, убираются баги – в связи с этим иметь обновленное дерево портов просто необходимо.

Как правило порт состоит из нескольких файлов:
distinfo
Makefile
pkg-plist
pkg-descr

distinfo – Содержит имена файлов для скачивания и их контрольные суммы для проверки подлинности.

pkg-descr – Краткое описание программы, информация о разработчике, официальный сайт и т.д..

pkg-plist – Это список файлов, которые будут собраны в процессе установки программы, с директориями назначения. Файл используется для регистрации приложения в базе данных пакетов ( var/db/pkg ).

Makefile – Основной файл сценария. Содержит массу различных опций и переменных, описывающих информацию о версии, разработчике, зависимостях данного приложения от других пакетов и библиотек, опции конфигурирования.

Кроме тога, во многих портах можно обнаружить поддиректорию files, в ней как правило лежат различные патчи и дополнения.

Программа Portsnap, для обновления портом, операционной системы FreeBSD

Обновить дерево портов во FreeBSD, можно разными способами. Один из них, на мой взгляд самый удобный, использовать штатную утилиту обновления портов, Portsnap.

Программа Portsnap, не работает напрямую с основным деревом портов /usr/ports, она использует рабочий каталог, по-умолчанию /var/db/portsnap, туда скачивается сжатая копия ( snapshot ) дерева портов, а оттуда уже обновляется основное дерево портов. Конфигурационный файл живет по адресу /etc/portsnap.conf, в принципе его можно не трогать, но если вдруг надумаете, например, поменять адрес сервера, откуда программы будет качать исзодники или расположение рабочей директории, там все довольно хорошо откомментировано.

Программа Portsnap, имеет несколько служебных команд для выполнения различных действий:

    Команда fetch – Скачивает снимок ( snapshot ), основного дерева портов с указанного в конфигурации сервера. Используется только для интерактивной работы, не через cron
    Команда cron – Используется для запуска из планировщика заданий cron.
    Команда extract – Разворачивает дерево портов, данная команда полностью удаляет существующее дерево портов, включая все внесенные в него изменения, как правило выполняется в первый раз и в случае, если нужно получить, чистое дерево портов или при использовании с опцией path( cм. ниже )
    Команда update – Служит для, непосредственно, обновления, основного дерева портов.
    path – Это дополнительная опция, используется с командой extract, для обновления конкретного порта, или нескольких портов.

Итак, если это первый запус Portnap, делаем:
vds-admin /root# portsnap fetch
Looking UP portsnap.FreeBSD.org mirrors... 3 mirrors found.
Fetching snapshot tag from portsnap2.FreeBSD.org... done.
Fetching snapshot metadata... done.
Updating from Mon Jun  1 17:22:35 UTC 2009 to Sun Jun 28 08:01:56 UTC 2009.
Fetching 3 metadata patches.. done.
Applying metadata patches... done.
Fetching 3 metadata files... done.
Fetching 2058 patches.....10....20....30....40....50....60....70....80... done.
Applying patches... done.
Fetching 2094 new ports or files... done.

Я недавно обновлял порты, поэтому сейчас это заняло минуту, если обновление дерева портов делается впервые или давненько не делалось, естественно процесс будет куда более долгим. Пугаться этого не стОит, ничего не застряло и не зависло.

Теперь можно распаковать дерево:
vds-admin /# portsnap extract
/Mk
/usr/ports/Templates                  
/usr/ports/Tools                      
/usr/ports/accessibility  
/usr/ports/arabic        
-----------------------------
пропущено..
-----------------------------
/usr/ports/x11/yelp/
/usr/ports/x11/zenity/
Building new INDEX files... done.

Данная команда разворачивает все дерево целиком, поэтому время выполнения не зависит от того, как давно вы обновлялись. У меня на тестовой, не самой сильной машине, с операционной системой FreeBSD 7.1, ушло порядка 15-ти минут

Теперь обновляем:
vds-admin /# portsnap update
Removing old files AND directories... done.
Extracting new files:
/usr/ports/devel/Makefile
/usr/ports/devel/p5-DateTime-Format-SQLite/
/usr/ports/lang/neko/
/usr/ports/security/fakeroot/
/usr/ports/security/tor-devel/
/usr/ports/www/lighttpd/
/usr/ports/www/webcheck/
/usr/ports/www/xpi-noscript/
Building new INDEX files... done.

Вот собственно и все, имеем свежее дерево портов. Если обновление система обнаружит что обновление не требуется, будет выдано соответствующее сообщение:
vds-admin /# portsnap update
Ports tree is already UP to date.

Использование программы Portsnap из планировщика Cron

Согласитесь, очень удобно периодически обновлять порты, практически не принимая в этом участия. Для этого у программы Portsnap, есть специальная команда, Cron. Это именно специальная команда, обычный portsnap fetch, из крона работать не будет. Сделано это не случайно, команда portsnap cron, после запуска, до загрузки чего-либо, отсчитывает произвольный интервал времени от 1 до 3600 секунд, это сделано разработчиками, что-бы снизить кол-вл одновременно подключающихся пользователей к серверу обновлений, а затем приступает к работе.
Настоятельно не рекомендуется прописывать в cron команду update, может получится неприятная ситуация, например, если вы компилируете какую-то программу а cron запустит в этот момент обновление портов.

Что-бы избежать вышеописанной ситуации, нужно обновлять только индексный файл, для этого у программы Portsnap, есть опция «-I».

Итак, в конфигурационном файле /etc/crontab, прописываем следующую строку:
0 0 * * 0 root portsnap -I cron update

С такой конфигурацией, cron, будет выполнять обновление индекса в 00:00 каждого воскресенья.
Не забывайте, что в данном варианте у вас обновляется только индексный файл, а это не есть обновление дерева портов. Для обновления самих портов нужно вручную выполнить команду portsnap update, из командной строки. Делайте это периодически, как того требует ваша политика поддержания системы портов в актуальном состоянии.

Snapshot is corrupt, испортилась база программы portsnap
Fetching 3 metadata files... /usr/sbin/portsnap: cannot OPEN
beea5333deea7ef646b497e9cd751ba72e17fd59708f9eed1f8d857bc585ad70.gz:
No such FILE or directory
metadata is corrupt.

Наличие на экране даннго сообщения ), зачастую говорит о том, что попортилась база данных, программы portsnap. Ничего страшного в этом тоже нет, всякое случается. Исправить можно следующим образом:
vds-admin /# rm -rf /var/db/portsnap
vds-admin /# mkdir /var/db/portsnap
vds-admin /# portsnap fetch extract     
	
	]]></description><pubDate>30.11.2012</pubDate></item><item><title>FreeBSD перезапуск подсистемы сети без перезагрузки</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=115</link><description><![CDATA[В статье перечислены методы, позволяющие быстро перезапустить сетевые службы без перезагрузки.

 

[FreeBSD] как запустить, перезапустить, остановить службы сети без перезагрузки (Start / Restart / Stop Network and Routing Service).

Версии FreeBSD 5.x/6.x и выше - запуск или остановка сети делается скриптом netif и используемыми с ним командами start, restart, stop. Вам нужно для этого залогиниться под root, тогда станут доступны команды:

Для запуска службы сети FreeBSD:
# /etc/rc.d/netif start

Для остановки службы сети FreeBSD:
# /etc/rc.d/netif stop

Для перезапуска службы сети FreeBSD:
# /etc/rc.d/netif restart

Ручной метод, с использованием ifconfig.
Для остановки сетевого адаптера (NIC) на лету:
# ifconfig network-interface down

Для запуска сетевого адаптера (NIC) на лету:
# ifconfig network-interface up

Для просмотра остановленных сетевых интерфейсов:
# ifconfig -d

Для просмотра работающих сетевых интерфейсов:
# ifconfig -u

Как обновить / перезагрузить во FreeBSD таблицы маршрутизации и соответсвующую службу. Это также требуется для обновления таблицы маршрутизации после перезапуска службы сети.
# /etc/rc.d/routing restart

Для того, чтобы перезагрузить службу сети, используя сессию ssh:
# /etc/rc.d/netif restart && /etc/rc.d/routing restart

FreeBSD 4.x и более ранние версии - start, restart, stop network service
1) Для запуска службы сети под FreeBSD вам нужно скопировать специальный скрипт network:
# cp /usr/share/examples/etc/netstart /etc/network
2) И потом выполнить его:
#. /etc/network
или
#sh /etc/network

Этот скрипт делает всю необходимую работу для запуска сети, маршрутизации, файервола и т. д.

В чем разница между /etc/netstart и /etc/rc.d/netif для перезапуска сети?
/etc/netstart - старый метод и не поддерживает все опции (типа stop, restart и проч.), которые поддерживаются скриптом /etc/rc.d/netif. Простота использования - вот основное отличие между этими двумя скриптами.     
	]]></description><pubDate>30.11.2012</pubDate></item><item><title>Примеры работы в 1С 8 </title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=111</link><description><![CDATA[<ol>
<li class="faqpoints"><a href="../article3-111.html#6">Как составить запрос к табличной части документа?</a></li>
<li class="faqpoints"><a href="../article3-111.html#11">Где в 1С:Предприятие 8 можно увидеть размеры МЗП и МРП?</a></li>
<li class="faqpoints"><a href="../article3-111.html#12">Где редактировать журнал в 1С:Предприятие 8 для документа, который не входит ни в один журнал?</a></li>
<li class="faqpoints"><a href="../article3-111.html#13">Как изменить панель функций в 1С:Предприятие 8?</a></li>
<li class="faqpoints"><a href="../article3-111.html#15">Как отобразить данные в элементе управления ТабличноеПоле?</a></li>
<li class="faqpoints"><a href="../article3-111.html#17">Как объединить конфигурации в 1С8?</a></li>
<li class="faqpoints"><a href="../article3-111.html#20">Как правильно удалить строки из ТаблицыЗначений в 1С8?</a></li>
<li class="faqpoints"><a href="../article3-111.html#21">Как правильно реализовать цикл с постусловием?</a></li>
<li class="faqpoints"><a href="../article3-111.html#22">Как реализовать цикл с уменьшающимся счетчиком?</a></li>
<li class="faqpoints"><a href="../article3-111.html#26">Как ввести Реализацию товаров и услуг в валюте?</a></li>
<li class="faqpoints"><a href="../article3-111.html#27">Как получить название документа (аналог метода 1С 7.7 Вид())?</a></li>
<li class="faqpoints"><a href="../article3-111.html#28">Как в запросе проверить поле на пустую ссылку?</a></li>
<li class="faqpoints"><a href="../article3-111.html#29">Где храниться список баз в 1С:Предприятие 8?</a></li>
<li class="faqpoints"><a href="../article3-111.html#30">Как при разворачивании формы на весь экран сделать, чтобы табличное поле изменяло свой размер?</a></li>
<li class="faqpoints"><a href="../article3-111.html#31">Где у регистра сведений изменить способ редактирования записи?</a></li>
<li class="faqpoints"><a href="http://www.softmaker.kz/articles.php?cat=5&amp;id=74&amp;lang=RU#32">Как программно установить видимость колонки табличного поля?</a></li>
<li class="faqpoints"><a href="../article3-111.html#33">Как перебрать значения ресурсов регистра сведений, используя названия ресурсов?</a></li>
<li class="faqpoints"><a href="../article3-111.html#34">Как программно активизировать строку табличного поля с типом значения РегистрСведенийСписок?</a></li>
<li class="faqpoints"><a href="../article3-111.html#35">Как создать контекстное меню для табличного поля?</a></li>
<li class="faqpoints"><a href="../article3-111.html#36">Как в табличном поле с типом значения справочник, отображать только группы?</a></li>
<li class="faqpoints"><a href="../article3-111.html#37">Как изменить значение ячейки табличного поля?</a></li>
<li class="faqpoints"><a href="../article3-111.html#38">Как сделать текущим значение колонки табличного поля и присвоить этой колонке тип?</a></li>
<li class="faqpoints"><a href="../article3-111.html#39">Как сравнить строки в запросе?</a></li>
<li class="faqpoints"><a href="../article3-111.html#47">Как в таблице значений установить флажок элементом управления для колонки?</a></li>
<li class="faqpoints"><a href="../article3-111.html#48">Как программно создать колонку табличного поля с элементом управления &laquo;Флажок&raquo;?</a></li>
<li class="faqpoints"><a href="../article3-111.html#49">Где установить дату для печати БИН в Счет-Фактурах?</a></li>
<li class="faqpoints"><a href="../article3-111.html#50">Как сделать резервную копию информационной базы?</a></li>
<li class="faqpoints"><a href="../article3-111.html#51">Что делать, если в оборотке не идут остатки?</a></li>
<li class="faqpoints"><a href="../article3-111.html#52">Как реализовать событие двойного клика по строке табличного поля?</a></li>
<li class="faqpoints"><a href="../article3-111.html#53">Как узнать существует ли колонка табличного поля?</a></li>
<li class="faqpoints"><a href="../article3-111.html#54">Как узнать имеет ли текущий пользователь определённую роль?</a></li>
<li class="faqpoints"><a href="../article3-111.html#57">Как получить номер строки таблицы значений?</a></li>
<li class="faqpoints"><a href="../article3-111.html#59">Как пометить на удаление документы?</a></li>
<li class="faqpoints"><a href="../article3-111.html#86">Как для документа найти все подчинённые ему документы?</a></li>
<li class="faqpoints"><a href="../article3-111.html#87">Как удалить помеченные на удаление объекты?</a></li>
<li class="faqpoints"><a href="../article3-111.html#89">Как выбрать группу в элементе диалога &laquo;Поле ввода&raquo; с типом справочник?</a></li>
</ol><hr class="line" />
<p>&nbsp;</p>
<p><strong><a id="6" name="6"></a>Как составить запрос к табличной части документа?</strong></p>
<p>Пример запроса:</p>
<pre style="color: blue;">Построитель<span class="k">.</span>Текст <span class="k">=</span> <span class="s">"ВЫБРАТЬ</span>
<span class="s">| Товары.Ответственный,</span>
<span class="s">| Товары.Ссылка КАК Документ,</span>
<span class="s">| Товары.Номенклатура,</span>
<span class="s">| СУММА(Товары.Сумма) КАК Сумма</span>
<span class="s">|ИЗ</span>
<span class="s">| Документ.ЧекККМ.Товары КАК Товары</span>
<span class="s">|ГДЕ</span>
<span class="s">| Товары.Ссылка.Дата Между &amp;ДатаНач и &amp;ДатаКон</span>
<span class="s">|СГРУППИРОВАТЬ ПО</span>
<span class="s">| Товары.Ссылка,</span>
<span class="s">| Товары.Ответственный,</span>
<span class="s">| Товары.Номенклатура"</span><span class="k">;</span> 
</pre>
<p>Особенность этого запроса в том, что мы обращаемся к табличной части &laquo;Товары&raquo;. Поэтому к реквизитам документа &laquo;ЧекККМ&raquo; мы обращаемся через свойство &laquo;Ссылка&raquo;. Только в этом случае мы сможем получить строки табличной части документа. Если не указать свойство &laquo;Ссылка&raquo;, то появится ошибка, примерно такого вида:</p>
<p>{(7, 5)}: Поле не найдено "Документ.ЧекККМ.Дата"</p>
<p>&nbsp;</p>
<p><strong><a id="11" name="11"></a>Где в 1С:Предприятие 8 можно увидеть размеры МЗП и МРП?</strong></p>
<p>Откройте пункт меню:</p>
<p>Операции-&gt; Регистры Сведений-&gt; Регламентированные расчетные показатели</p>
<p>или</p>
<p>Зарплата-&gt;Общие параметры расчета зарплаты-&gt; Регламентированные расчетные показатели</p>
<p>&nbsp;</p>
<p><strong><a id="12" name="12"></a>Где редактировать журнал в 1С:Предприятие 8 для документа, который не входит ни в один журнал?</strong></p>
<p>Если документ, не входит ни в один журнал системы 1С:Предприятие 8, тогда журнал для данного документа генерируется системой автоматически. Этот журнал является формой списка данного документа. Эту форму списка можно создать в Конфигураторе и настроить.</p>
<p>&nbsp;</p>
<p><strong><a id="13" name="13"></a>Как изменить панель функций в 1С:Предприятие 8?</strong></p>
<p>Панель функций это обработка, её надо менять! В Конфигураторе она находится в дереве метаданнных панели &laquo;Конфигурация&raquo;, ветка &laquo;Обработки&raquo; под названием &laquo;ПанельФункций&raquo;.</p>
<p>&nbsp;</p>
<p><strong><a id="15" name="15"></a>Как отобразить данные в элементе управления ТабличноеПоле?</strong></p>
<p>ЭлементыФормы.ТабличноеПоле.Значение=ТаблицаЗначений1; ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();</p>
<p>&nbsp;</p>
<p><strong><a id="17" name="17"></a>Как объединить конфигурации в 1С8?</strong></p>
<p>Вам передали .cf-файл, с измененной конфигурацией. Как внести эти изменения в Вашу конфигурацию?</p>
<p>Попросите всех выйти из 1С.</p>
<p>Зайдите в Конфигуратор и для начала сделайте выгрузку данных: Администрирование - Выгрузить информационную базу...</p>
<p>Укажите путь куда выгружать, затем назовите файл, например текущей датой: 19.01.2011.dt.</p>
<p>Откройте дерево конфигурации. Конфигурация - Открыть конфигурацию.</p>
<p>После выгрузки откройте пункт меню Конфигурация - Сравнить, объединть с конфигурацией из файла...</p>
<p>Выберите .cf-файл, появится окно &laquo;Сравнение, объединение&raquo;, нажмите кнопку &laquo;Выполнить&raquo;. Затем OK.</p>
<p>Нажать F7 для сохранения конфигурации.</p>
<p>&nbsp;</p>
<p><strong><a id="20" name="20"></a>Как правильно удалить строки из ТаблицыЗначений в 1С8?</strong></p>
<p>Предположим, нужно удалить все строки, которые содержат букву "G" во второй колонке.</p>
<pre style="color: blue;"><span class="k">Процедура</span> УдалитьСтрокиТаблицы<span class="k">(</span>Таб<span class="k">)</span><span class="k">;</span>
	Сч <span class="k">=</span> <span class="n">0</span><span class="k">;</span>
	<span class="k">Пока</span> Сч <span class="k">&lt;</span> Таб<span class="k">.</span>Количество<span class="k">(</span><span class="k">)</span> <span class="k">Цикл</span>
		Строка <span class="k">=</span> Таб<span class="k">[</span>Сч<span class="k">]</span><span class="k">;</span>
		<span class="k">Если</span> Найти<span class="k">(</span>Строка<span class="k">.</span>Получить<span class="k">(</span><span class="n">1</span><span class="k">)</span><span class="k">,</span><span class="s">"G"</span><span class="k">)</span> <span class="k">&gt;</span> <span class="n">0</span> <span class="k">Тогда</span>
			Таб<span class="k">.</span>Удалить<span class="k">(</span>Строка<span class="k">)</span><span class="k">;</span>
		<span class="k">Иначе</span> <span class="c">// Благодаря этой переменной мы </span>
		      <span class="c">// не пропускаем строки в таблице значений</span>
			Сч <span class="k">=</span> Сч <span class="k">+</span> <span class="n">1</span><span class="k">;</span>
		<span class="k">КонецЕсли</span><span class="k">;</span>
	<span class="k">КонецЦикла</span><span class="k">;</span>
<span class="k">КонецПроцедуры</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="21" name="21"></a>Как правильно реализовать цикл с постусловием?</strong></p>
<pre style="color: blue;">Повторять <span class="k">=</span> <span class="k">Истина</span><span class="k">;</span>
<span class="k">Пока</span> Повторять <span class="k">Цикл</span>
	А<span class="k">=</span>А<span class="k">+</span><span class="n">1</span><span class="k">;</span>
	Повторять <span class="k">=</span> <span class="k">(</span>А<span class="k">&lt;</span><span class="n">10</span><span class="k">)</span><span class="k">;</span>
<span class="k">КонецЦикла</span><span class="k">;</span>
</pre>
<p>Благодаря переменной Повторять наш цикл выполнится хотя бы один раз.</p>
<p>&nbsp;</p>
<p><strong><a id="22" name="22"></a>Как реализовать цикл с уменьшающимся счетчиком?</strong></p>
<p>Вариант 1.</p>
<pre style="color: blue;">Зн1 <span class="k">=</span> <span class="n">100</span><span class="k">;</span>
Зн2 <span class="k">=</span> <span class="n">1</span><span class="k">;</span>
Сч<span class="k">=</span>Зн1<span class="k">;</span>
<span class="k">Пока</span> Сч<span class="k">&gt;</span><span class="k">=</span>Зн2 <span class="k">Цикл</span>
	Сч<span class="k">=</span>Сч<span class="k">-</span><span class="n">1</span><span class="k">;</span>
<span class="k">КонецЦикла</span><span class="k">;</span>
</pre>
<p>Вариант 2.</p>
<pre style="color: blue;">Вариант <span class="n">2</span><span class="k">.</span>
<span class="k">Для</span> Сч <span class="k">=</span> <span class="k">-</span>Зн1 <span class="k">По</span> <span class="k">-</span>Зн2 <span class="k">Цикл</span>
	<span class="c">// Чтобы получить положительную величину,</span>
	<span class="c">// если вдруг Сч станет положительным.</span>
	СчЗн <span class="k">=</span> Макс<span class="k">(</span>Сч<span class="k">,</span> <span class="k">-</span>Сч<span class="k">)</span><span class="k">;</span>
<span class="k">КонецЦикла</span><span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="26" name="26"></a>Как ввести Реализацию товаров и услуг в валюте?</strong></p>
<ol>
<li>У контрагента создать валютный договор (выбрав в договоре валюту в поле валюта, например: USD). В карточке Контрагента выделить в списке договоров валютный договор и нажать кнопку "Установить основным", чтобы сделать его таковым.</li>
<li>Создаём документ "Реализация", выбираем контрагента с основным валютным договором и нажимаем кнопку "Цены и валюта" в левом верхнем углу документа "Реализация". Затем в появившейся форме выбираем нужную нам валюту, например: USD.</li>
</ol>
<p>&nbsp;</p>
<p><strong><a id="27" name="27"></a>Как получить название документа (аналог метода 1С 7.7 Вид())?</strong></p>
<pre style="color: blue;">ДокументСсылка<span class="k">.</span>Метаданные<span class="k">(</span><span class="k">)</span><span class="k">.</span>Имя<span class="k">;</span> 
<span class="c">// получаем: УвольнениеИзОрганизаций</span>

ДокументСсылка<span class="k">.</span>Метаданные<span class="k">(</span><span class="k">)</span><span class="k">.</span>ПолноеИмя<span class="k">(</span><span class="k">)</span><span class="k">;</span>
<span class="c">// получаем: Документ.УвольнениеИзОрганизаций</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="28" name="28"></a>Как в запросе проверить поле на пустую ссылку?</strong></p>
<pre style="color: blue;"><span class="k">ВЫБРАТЬ</span>
	Начисление<span class="k">.</span>Ссылка<span class="k">,</span>
	Увольнение<span class="k">.</span>Ссылка КАК Ссылка1<span class="k">,</span>
	Начисление<span class="k">.</span>ДокументОснование<span class="k">,</span>
	Увольнение<span class="k">.</span>ДокументОснование КАК ДокументОснование1
<span class="k">ИЗ</span>
	Документ<span class="k">.</span>НачислениеЗарплатыРаботникамОрганизаций КАК Начисление
	СОЕДИНЕНИЕ
	Документ<span class="k">.</span>УвольнениеИзОрганизаций КАК Увольнение
<span class="k">ПО</span>
Начисление<span class="k">.</span>ДокументОснование <span class="k">=</span> Увольнение<span class="k">.</span>ДокументОснование 
<span class="k">ГДЕ</span>
<span class="k">(</span>Начисление<span class="k">.</span>ДокументОснование<span class="k">&lt;</span><span class="k">&gt; </span>ЗНАЧЕНИЕ<span class="k">(</span>Документ<span class="k">.</span>ТабельУчетаРабочегоВремениОрганизации<span class="k">.</span>ПустаяСсылка<span class="k">)</span><span class="k">)</span>
</pre>
<p>Заметим, что в параметре пишем "Документ", а не "Документы" и "ПустаяСсылка" без скобок.</p>
<p>&nbsp;</p>
<p><strong><a id="29" name="29"></a>Где храниться список баз в 1С:Предприятие 8?</strong></p>
<p>Список баз в Windows:</p>
<p>1С:Предприятие 8.1 - %AppData%1C1Cv81ibases.v8i</p>
<p>1С:Предприятие 8.2 - %AppData%1C1CEStartibases.v8i</p>
<p>&nbsp;</p>
<p><strong><a id="30" name="30"></a>Как при разворачивании формы на весь экран сделать, чтобы табличное поле изменяло свой размер?</strong></p>
<p>Если вставить на форму элемент управления табличное поле, тогда автоматически формируются необходимые привязки для этого табличного поля.</p>
<p>Бывает, что привязки сбрасываются из-за каких-то наших действий. Из-за того табличное поле перестает масштабироваться или растягиваться по форме.</p>
<p>Поэтому привязки табличного поля необходимо настроить.</p>
<p>Нажмём на табличном поле правой кнопкой мыши и выберем пункт меню "Установить привязки...".</p>
<p>В открывшейся форме мы увидим настройки привязок табличного поля.</p>
<p>Чтобы облегчить себе труд и быть уверенными в правильности привязок, создайте новую форму и скопируйте Ваше табличное поле со старой формы в новую.</p>
<p>На новой форме, нажмём на табличном поле правой кнопкой мыши и выберем пункт меню "Установить привязки..."</p>
<p>Как видим на новой форме привязки автоматически настроились так, чтобы табличное поле масштабировалось или растягивалось по форме.</p>
<p>Запомним эти привязки, чтобы использовать для нашего табличного поля на старой форме.</p>
<p>Нажмём на табличном поле старой формы правой кнопкой мыши и выберем пункт меню "Установить привязки...".</p>
<p>Установим привязки аналогично тому, что мы увидели на новой форме. Готово!</p>
<p>&nbsp;</p>
<p><strong><a id="31" name="31"></a>Где у регистра сведений изменить способ редактирования записи?</strong></p>
<p>В дереве метаданных нажмите на нужном регистре сведений правой кнопкой мыши.</p>
<p>В контекстном меню выберите пункт "Свойства". В диалоге свойств пункт "Способ редактирования".</p>
<p>Выбирайте на вкус "В списке", "В диалоге" или "Обоими способами"!</p>
<p>&nbsp;</p>
<p><strong><a id="32" name="32"></a>Как программно установить видимость колонки табличного поля?</strong></p>
<pre style="color: blue;">ЭлементыФормы<span class="k">.</span>РегистрСведенийСписок<span class="k">.</span>Колонки<span class="k">.</span>Период<span class="k">.</span>Видимость <span class="k">=</span> <span class="k">Истина</span><span class="k">;</span>
</pre>
<p>Где, "Период" - колонка табличного поля "ЭлементыФормы.РегистрСведенийСписок".</p>
<p>&nbsp;</p>
<p><strong><a id="33" name="33"></a>Как перебрать значения ресурсов регистра сведений, используя названия ресурсов?</strong></p>
<pre style="color: blue;">НаборЗаписей1 <span class="k">=</span> РегистрыСведений<span class="k">.</span>Тарифы<span class="k">.</span>СоздатьНаборЗаписей<span class="k">(</span><span class="k">)</span><span class="k">;</span> 
НаборЗаписей1<span class="k">.</span>Отбор<span class="k">.</span>Период<span class="k">.</span>Установить<span class="k">(</span>ДатаТекущегоТарифа1<span class="k">)</span><span class="k">;</span> 
НаборЗаписей1<span class="k">.</span>Отбор<span class="k">.</span>Владелец<span class="k">.</span>Установить<span class="k">(</span>ОсновнаяОрганизация<span class="k">)</span><span class="k">;</span>
	
НаборЗаписей1<span class="k">.</span>Прочитать<span class="k">(</span><span class="k">)</span><span class="k">;</span>
<span class="k">Если</span> НаборЗаписей1<span class="k">.</span>Количество<span class="k">(</span><span class="k">)</span> <span class="k">&gt;</span> <span class="n">0</span> <span class="k">Тогда</span>
	<span class="k">Для</span> <span class="k">Каждого</span> Запись <span class="k">Из</span> НаборЗаписей1 <span class="k">Цикл</span> 
		Ресурсы <span class="k">=</span> Метаданные<span class="k">.</span>РегистрыСведений<span class="k">.</span>Тарифы<span class="k">.</span>Ресурсы<span class="k">;</span>	
		<span class="k">Для</span> <span class="k">Каждого</span> Ресурс <span class="k">Из</span> Ресурсы <span class="k">Цикл</span> 
			Сообщить<span class="k">(</span><span class="s">"Измерение регистра "</span> <span class="k">+</span> Ресурс<span class="k">.</span>Имя <span class="k">+</span> 
				<span class="s">". Значение: "</span> <span class="k">+</span> Запись<span class="k">[</span>Ресурс<span class="k">.</span>Имя<span class="k">]</span><span class="k">)</span><span class="k">;</span>
		<span class="k">КонецЦикла</span><span class="k">;</span>
	<span class="k">КонецЦикла</span><span class="k">;</span> 
<span class="k">КонецЕсли</span><span class="k">;</span>
</pre>
<p>Таким же образом можно перебрать значение измерений или реквизитов, заменив:</p>
<pre style="color: blue;">Метаданные<span class="k">.</span>РегистрыСведений<span class="k">.</span>Тарифы<span class="k">.</span>Ресурсы<span class="k">;</span>
</pre>
<p>На:</p>
<pre style="color: blue;">Метаданные<span class="k">.</span>РегистрыСведений<span class="k">.</span>Тарифы<span class="k">.</span>Измерения<span class="k">;</span>
</pre>
<p>Или:</p>
<pre style="color: blue;">Метаданные<span class="k">.</span>РегистрыСведений<span class="k">.</span>Тарифы<span class="k">.</span>Реквизиты<span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="34" name="34"></a>Как программно активизировать строку табличного поля с типом значения РегистрСведенийСписок?</strong></p>
<p>В 1С:Предприятии 8 для активизации строки конкретного табличного поля следует выполнить установку свойства ТекущаяСтрока соответствующего элемента управления.</p>
<p>Этому свойству присваивается значение, идентифицирующее строку, которую необходимо активизировать.</p>
<p>Тип значения зависит от типа данных, с которыми связано табличное поле.</p>
<p>Например, для списка справочника это будет ссылка на элемент справочника, а для табличной части - строка табличной части.</p>
<p>Если тип значения РегистрСведенийСписок, тогда свойству ТекущаяСтрок присваивается значение типа - РегистрСведенийКлючЗаписи.</p>
<p>Пример:</p>
<pre style="color: blue;">Отбор1 <span class="k">=</span> <span class="k">Новый</span> Структура<span class="k">;</span>
Отбор1<span class="k">.</span>Вставить<span class="k">(</span><span class="s">"Период"</span><span class="k">,</span> ДатаТекущегоТарифа<span class="k">)</span><span class="k">;</span>
Отбор1<span class="k">.</span>Вставить<span class="k">(</span><span class="s">"Владелец"</span><span class="k">,</span> ОсновнаяОрганизация<span class="k">)</span><span class="k">;</span>
Отбор1<span class="k">.</span>Вставить<span class="k">(</span><span class="s">"Вес"</span><span class="k">,</span> <span class="n">0</span><span class="k">.</span><span class="n">3</span><span class="k">)</span><span class="k">;</span>
Рег <span class="k">=</span> РегистрыСведений<span class="k">.</span>Тарифы<span class="k">;</span>
КлючЗаписи <span class="k">=</span> Рег<span class="k">.</span>СоздатьКлючЗаписи<span class="k">(</span>Отбор1<span class="k">)</span><span class="k">;</span><span class="c">//Тип: РегистрСведенийКлючЗаписи</span>
<span class="c">// РегистрСведенийСписок - табличное поле для отображения списка </span>
<span class="c">// записей регистра сведений</span>
ЭлементыФормы<span class="k">.</span>РегистрСведенийСписок<span class="k">.</span>ТекущаяСтрока <span class="k">=</span> КлючЗаписи<span class="k">;</span>
</pre>
<p>Отбор должен однозначно идентифицировать запись в табличном поле.</p>
<p>&nbsp;</p>
<p><strong><a id="35" name="35"></a>Как создать контекстное меню для табличного поля?</strong></p>
<p>Создать на форме невидимую командную панель, т.е. убрать флажок "Видимость" в свойствах командной панели.</p>
<p>В свойствах табличного поля убрать флажок "АвтоКонтекстноеМеню".</p>
<p>Из выпадающего списка "КонтекстноеМеню" выбрать только что созданную командную панель.</p>
<p>Теперь можно добавлять разные команды в командную панель. Они будут отображаться в контекстном меню табличного поля.</p>
<p>&nbsp;</p>
<p><strong><a id="36" name="36"></a>Как в табличном поле с типом значения справочник, отображать только группы?</strong></p>
<p>Откроем свойства табличного поля и найдем свойство &laquo;ПросмотрГруппИЭлементов&raquo;.</p>
<p>В выпадающем списке выберем &laquo;Группы&raquo;.</p>
<p>&nbsp;</p>
<p><strong><a id="37" name="37"></a>Как изменить значение ячейки табличного поля?</strong></p>
<p>Предположим, необходимо добавить РНН контрагента в ячейку, находящуюся рядом с ячейкой контрагента.</p>
<pre style="color: blue;"><span class="k">Процедура</span> ПриПолученииДанных<span class="k">(</span>Элемент<span class="k">,</span> ОформленияСтрок<span class="k">)</span>
	<span class="k">Для</span> <span class="k">Каждого</span> ОформлениеСтроки <span class="k">Из</span> ОформленияСтрок <span class="k">Цикл</span>
		ОформлениеСтроки<span class="k">.</span>Ячейки<span class="k">.</span>РНН<span class="k">.</span>Значение <span class="k">= </span>ОформлениеСтроки<span class="k">.</span>ДанныеСтроки<span class="k">.</span>Контрагент<span class="k">.</span>РНН<span class="k">;</span>
	<span class="k">КонецЦикла</span><span class="k">;</span>
<span class="k">КонецПроцедуры</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="38" name="38"></a>Как сделать текущим значение колонки табличного поля и присвоить этой колонке тип?</strong></p>
<p>Предположим, что колонке &laquo;СубконтоДоходовБУ3&raquo; нужно присвоить тип &laquo;СправочникСсылка.ПодразделенияОрганизаций&raquo;.</p>
<pre style="color: blue;">СтрокаТабличнойЧасти <span class="k">=</span> ЭлементыФормы<span class="k">.</span>Услуги<span class="k">.</span>ТекущиеДанные<span class="k">;</span>
ЭлементыФормы<span class="k">.</span>Услуги<span class="k">.</span>ТекущаяКолонка <span class="k">= </span> ЭлементыФормы<span class="k">.</span>Услуги<span class="k">.</span>Колонки<span class="k">.</span>СубконтоДоходовБУ3<span class="k">;</span>
СтрокаТабличнойЧасти<span class="k">.</span>СубконтоДоходовБУ3 <span class="k">= </span> Справочники<span class="k">.</span>ПодразделенияОрганизаций<span class="k">.</span>ПустаяСсылка<span class="k">(</span><span class="k">)</span><span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="39" name="39"></a>Как сравнить строки в запросе?</strong></p>
<pre style="color: blue;"><span class="s">| (Номер ПОДОБНО &amp;НомерНакладной)</span>
Запрос<span class="k">.</span>УстановитьПараметр<span class="k">(</span><span class="s">"НомерНакладной"</span><span class="k">, </span><span class="s">"%"</span><span class="k">+</span>НомерНакладной<span class="k">+</span><span class="s">"%"</span><span class="k">)</span><span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="47" name="47"></a>Как в таблице значений установить флажок элементом управления для колонки?</strong></p>
<pre style="color: blue;">ТекКолонка <span class="k">=</span> ЭлементыФормы<span class="k">.</span>ТабличноеПоле<span class="k">.</span>Колонки<span class="k">[</span><span class="s">"Загружать"</span><span class="k">]</span><span class="k">;</span>
ТекКолонка<span class="k">.</span>УстановитьЭлементУправления<span class="k">(</span>Тип<span class="k">(</span><span class="s">"Флажок"</span><span class="k">)</span><span class="k">)</span><span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="48" name="48"></a>Как программно создать колонку табличного поля с элементом управления &laquo;Флажок&raquo;?</strong></p>
<pre style="color: blue;">ТекКолонка <span class="k">=</span> ЭлементыФормы<span class="k">.</span>ТаблицаНакладных<span class="k">.</span>Колонки<span class="k">[</span><span class="s">"Загружать"</span><span class="k">]</span><span class="k">;</span>
ТекКолонка<span class="k">.</span>УстановитьЭлементУправления<span class="k">(</span>Тип<span class="k">(</span><span class="s">"Флажок"</span><span class="k">)</span><span class="k">)</span><span class="k">;</span>
ТекКолонка<span class="k">.</span>ДанныеФлажка <span class="k">=</span> <span class="s">"Загружать"</span><span class="k">;</span>
ТекКолонка<span class="k">.</span>Ширина <span class="k">=</span> <span class="n">3</span><span class="k">;</span>
ТекКолонка<span class="k">.</span>ТекстШапки <span class="k">=</span> <span class="s">""</span><span class="k">;</span>  
ТекКолонка<span class="k">.</span>РежимРедактирования<span class="k">=</span>РежимРедактированияКолонки<span class="k">.</span>Непосредственно<span class="k">;</span>
ТекКолонка<span class="k">.</span>ЭлементУправления<span class="k">.</span>ПрозрачныйФон <span class="k">=</span> <span class="k">Истина</span><span class="k">;</span>
</pre>
<p>Свойство &laquo;РежимРедактирования&raquo; определяет режим редактирования ячейки табличного поля, если его не установить в &laquo;РежимРедактированияКолонки.Непосредственно&raquo; придется дополнительно кликать мышью, чтобы изменить флажок.</p>
<p>Свойство &laquo;ЭлементУправления&raquo; содержит элемент управления в данном случае флажок, через это свойство можно "достучаться" к свойствам и событиям флажка. Свойство &laquo;ПрозрачныйФон&raquo; является свойством элементом управления флажка.</p>
<p>Кроме того, чтобы отображался фтолько флажок без текста ДаНет необходимо в обработчике события табличного поля &laquo;ПриВыводеСтроки&raquo; написать следующее:</p>
<pre style="color: blue;"><span class="k">Процедура</span> ТаблицаНакладныхПриВыводеСтроки<span class="k">(</span>Элемент<span class="k">,</span> ОформлениеСтроки<span class="k">)</span>
	ОформлениеСтроки<span class="k">.</span>Ячейки<span class="k">.</span>Загружать<span class="k">.</span>ОтображатьТекст <span class="k">=</span> <span class="k">Ложь</span><span class="k">;</span> 
<span class="k">КонецПроцедуры</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="49" name="49"></a>Где установить дату для печати БИН в Счет-Фактурах?</strong></p>
<p>Операции-Константы | Настройка параметров учета | Печать | Вывод БИН/ИИН в форме счета-фактуры. | Установить дату в поле "Начиная с ".</p>
<p>&nbsp;</p>
<p><strong><a id="50" name="50"></a>Как сделать резервную копию информационной базы?</strong></p>
<p>Для этого существует два способа:</p>
<ol><ol>
<li>Скопируйте файл 1СV8.1CD в отдельный каталог.</li>
</ol></ol>
<p>или</p>
<ol>
<li>Используйте режим выгрузки информационной базы. Для этого:</li>
</ol>
<ul>
<ul>
<li>откройте базу в режиме Конфигуратора;</li>
<li>пункт меню &laquo;Администрирование&raquo; | &laquo;Выгрузка информационной базы&raquo;;</li>
<li>в открывшемся диалоге укажите имя файла, в который будут записаны данные.</li>
</ul>
</ul>
<p>&nbsp;</p>
<p><strong><a id="51" name="51"></a>Что делать, если в оборотке не идут остатки?</strong></p>
<p>Пробуем выполнять по пунктам, если первый не помог, выполняем следующий.</p>
<ol>
<li>Пересчёт итогов:
<ul>
<li>Откройте базу в режиме 1С:Предприятие | Пункт меню Операции | Управление итогами...</li>
<li>Закладка Установка границы рассчитанных итогов.</li>
<li>Установите флажок &laquo;Все регистры&raquo;.</li>
<li>В колонке &laquo;Рассчитать по&raquo; сначала установите дату начала ведения учета и нажмите кнопку &laquo;Выполнить&raquo;.</li>
<li>После пересчёта В колонке &laquo;Рассчитать по&raquo; укажите дату актуальности, например, конец текущего месяца и нажмите кнопку &laquo;Выполнить&raquo;.</li>
</ul>
</li>
<li>Перепроведение документов:
<ul>
<li>Откройте базу в режиме 1С:Предприятие.</li>
<li>Пункт меню &laquo;Сервис&raquo; | &laquo;Универсальные обработки&raquo; | &laquo;Групповая обработка справочников и документов&raquo;.</li>
<li>В выпадающем списке &laquo;Тип объекта:&raquo; выберите &laquo;Документы&raquo;.</li>
<li>Нажмите кнопку &laquo;Добавить&raquo; (зелёная с белым плюсиком), чтобы выбрать те документам, которые хотите перепровести.</li>
<li>В табличном поле &laquo;Отбор&raquo; можно установить условия отбора документов. Например, выбрать только проведённые.</li>
<li>Нажав кнопку &laquo;Отобрать&raquo;, переходим на закладку &laquo;Обработка&raquo;.</li>
<li>В выпадающем списке &laquo;Действие&raquo; выберите - &laquo;Изменить: [Проведение документа]&raquo;.</li>
<li>В следующем выпадающем списке выберите - &laquo;Установить&raquo; и нажмите кнопку &laquo;Выполнить&raquo;.</li>
</ul>
</li>
<li>Тестирование и исправление (перед этим сделать <a href="http://www.softmaker.kz/articles.php?cat=5&amp;id=74&amp;PHPSESSID=d83c3488c92305baee1414cc55186657#50">резервную копию</a>базы):
<ul>
<li>откройте базу в режиме Конфигуратора;</li>
<li>пункт меню &laquo;Администрирование&raquo; | &laquo;Тестирование и исправление&raquo;;</li>
<li>установите все флажки и нажмите кнопку &laquo;Выполнить&raquo;.</li>
</ul>
</li>
</ol>
<p>&nbsp;</p>
<p><strong><a id="52" name="52"></a>Как реализовать событие двойного клика по строке табличного поля?</strong></p>
<p>Табличное поле имеет событие &laquo;Выбор&raquo;.</p>
<p>В обработчике этого события напишите:</p>
<pre style="color: blue;"><span class="k">Процедура</span> СписокДелВыбор<span class="k">(</span>Элемент<span class="k">,</span> ВыбраннаяСтрока<span class="k">,</span> Колонка<span class="k">,</span> СтандартнаяОбработка<span class="k">)</span>
	СтандартнаяОбработка <span class="k">=</span> <span class="k">Ложь</span><span class="k">;</span>
	<span class="c">// И последующий код для обработки двойнного клика на строке</span>
<span class="k">КонецПроцедуры</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="53" name="53"></a>Как узнать существует ли колонка табличного поля?</strong></p>
<pre style="color: blue;"><span class="k">Если</span> СписокДел<span class="k">.</span>Колонки<span class="k">.</span>Найти<span class="k">(</span>Колонка<span class="k">.</span>Имя<span class="k">)</span> <span class="k">=</span> <span class="k">Неопределено</span> <span class="k">Тогда</span>
     <span class="k">.</span><span class="k">.</span><span class="k">.</span>
<span class="k">КонецЕсли</span><span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="54" name="54"></a>Как узнать имеет ли текущий пользователь определённую роль?</strong></p>
<p>Используйте функцию сеанса работы &laquo;РольДоступна&raquo; (IsInRole) , которая определяет доступность указанной роли текущему пользователю:</p>
<pre style="color: blue;"><span class="k">Если</span> <span class="k">Не</span> РольДоступна<span class="k">(</span><span class="s">"ПравоАдминистрирования"</span><span class="k">)</span> <span class="k">Тогда</span>
    Сообщить<span class="k">(</span><span class="s">"Роль &laquo;Право администрирования&raquo; не доступна!"</span><span class="k">)</span><span class="k">;</span>
<span class="k">КонецЕсли</span><span class="k">;</span>
</pre>
<p>Или используйте следующую функцию:</p>
<pre style="color: blue;"><span class="k">Функция</span> ПравоАдмина<span class="k">(</span><span class="k">)</span>
	<span class="k">Для</span> <span class="k">Каждого</span> РольМетаданных <span class="k">из</span> Метаданные<span class="k">.</span>Роли <span class="k">Цикл</span>
		ИмяРоли <span class="k">=</span> РольМетаданных<span class="k">.</span>Имя<span class="k">;</span>
		<span class="k">Если</span> ИмяРоли <span class="k">=</span> <span class="s">"ПравоАдминистрирования"</span> <span class="k">Тогда</span> 
			Код <span class="k">=</span> СокрЛП<span class="k">(</span>глТекущийПользователь<span class="k">.</span>Код<span class="k">)</span><span class="k">;</span>
			Юзер <span class="k">=</span> ПользователиИнформационнойБазы<span class="k">.</span>НайтиПоИмени<span class="k">(</span>Код<span class="k">)</span><span class="k">;</span>
			<span class="k">Возврат</span> Юзер<span class="k">.</span>Роли<span class="k">.</span>Содержит<span class="k">(</span>РольМетаданных<span class="k">)</span><span class="k">;</span>
		<span class="k">КонецЕсли</span><span class="k">;</span>
	<span class="k">КонецЦикла</span><span class="k">;</span>
<span class="k">КонецФункции</span> <span class="c">// ПравоАдмина()</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="57" name="57"></a>Как получить номер строки таблицы значений?</strong></p>
<p>Нужно использовать метод таблицы значений &laquo;Индекс&raquo; (IndexOf) , которая получает индекс строки в коллекции строк таблицы значений:</p>
<pre style="color: blue;">ИдеиРазвития<span class="k">.</span>Колонки<span class="k">.</span>Вставить<span class="k">(</span><span class="n">0</span><span class="k">,</span><span class="s">"Номер"</span><span class="k">,</span><span class="k">,</span> <span class="s">"№"</span><span class="k">,</span> <span class="n">1</span><span class="k">)</span><span class="k">;</span>
<span class="k">Для</span> <span class="k">Каждого</span> Строка <span class="k">Из</span> ИдеиРазвития <span class="k">Цикл</span>
	Строка<span class="k">.</span>Номер <span class="k">=</span> ИдеиРазвития<span class="k">.</span>Индекс<span class="k">(</span>Строка<span class="k">)</span> <span class="k">+</span> <span class="n">1</span><span class="k">;</span>		
<span class="k">КонецЦикла</span><span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="59" name="59"></a>Как пометить на удаление документы?</strong></p>
<ul>
<li>Откройте базу в режиме 1С:Предприятие.</li>
<li>Пункт меню &laquo;Сервис&raquo; | &laquo;Универсальные обработки&raquo; | &laquo;Групповая обработка справочников и документов&raquo;.</li>
<li>В выпадающем списке &laquo;Тип объекта:&raquo; выберите &laquo;Документы&raquo;.</li>
<li>Нажмите кнопку &laquo;Добавить&raquo; (зелёная с белым плюсиком), чтобы выбрать те документам, которые хотите пометить на удаление.</li>
<li>В табличном поле &laquo;Отбор&raquo; можно установить условия отбора документов. Например, выбрать только проведённые.</li>
<li>Нажав кнопку &laquo;Отобрать&raquo;, переходим на закладку &laquo;Обработка&raquo;.</li>
<li>В выпадающем списке &laquo;Действие&raquo; выберите - &laquo;Изменить: [Пометка на удаление]&raquo;.</li>
<li>В следующем выпадающем списке выберите - &laquo;Установить&raquo; и нажмите кнопку &laquo;Выполнить&raquo;.</li>
</ul>
<p>&nbsp;</p>
<p><strong><a id="86" name="86"></a>Как для документа найти все подчинённые ему документы?</strong></p>
<p>Воспользуемся следующим запросом:</p>
<pre style="color: blue;">Запрос <span class="k">=</span> <span class="k">Новый</span> Запрос<span class="k">;</span>
Запрос<span class="k">.</span>Текст <span class="k">=</span> <span class="s">"</span>
<span class="s">|ВЫБРАТЬ</span>
<span class="s">| СчетФактураВыданный.Ссылка</span>
<span class="s">|ИЗ</span>
<span class="s">| Документ.СчетФактураВыданный КАК СчетФактураВыданный</span>
<span class="s">|ГДЕ</span>
<span class="s">| СчетФактураВыданный.ДокументОснование = &amp;ДокументОснование"</span><span class="k">;</span>
Запрос<span class="k">.</span>УстановитьПараметр<span class="k">(</span><span class="s">"ДокументОснование"</span><span class="k">,</span>	Накладная<span class="k">)</span><span class="k">;</span>	 

РезультатЗапроса <span class="k">=</span> Запрос<span class="k">.</span><span class="k">Выполнить</span><span class="k">(</span><span class="k">)</span><span class="k">;</span>

Выборка <span class="k">=</span> РезультатЗапроса<span class="k">.</span>Выбрать<span class="k">(</span><span class="k">)</span><span class="k">;</span> 

<span class="k">Пока</span> Выборка<span class="k">.</span>Следующий<span class="k">(</span><span class="k">)</span> <span class="k">Цикл</span> 
	СФ <span class="k">=</span> Выборка<span class="k">.</span>Ссылка<span class="k">.</span>ПолучитьОбъект<span class="k">(</span><span class="k">)</span><span class="k">;</span> 
	СФ<span class="k">.</span>ДокументОснование <span class="k">=</span> <span class="s">""</span><span class="k">;</span>
	СФ<span class="k">.</span>Записать<span class="k">(</span>РежимЗаписиДокумента<span class="k">.</span>Запись<span class="k">)</span><span class="k">;</span>
<span class="k">КонецЦикла</span><span class="k">;</span>
</pre>
<p>&nbsp;</p>
<p><strong><a id="87" name="87"></a>Как удалить помеченные на удаление объекты?</strong></p>
<ul>
<li>Откройте базу в режиме 1С:Предприятие | Пункт меню Операции | Удаление помеченных объектов.</li>
<li>Появится диалоговое окно с вопросом, что подготовка к удалению помеченных объектов займёт время. Жмём &laquo;Да&raquo;.</li>
<li>После выполнения поиска помеченных объектов появится новое окно со списком выбранных объектов. Жмём кнопку &laquo;Контроль&raquo;.</li>
<li>Теперь происходит проверка на возможность удаления этого объекта и в следующем окне появляется список объектов, отмеченных красными и зелёными галочками. Объекты с зелёными галочками будут удалены. Жмём кнопку &laquo;Удалить&raquo;.</li>
<li>Происходит вывод сообщений об удалённых объектах и в следующем окне появляется список объектов, которые не удалось удалить. Как быть? Что сделать, чтобы удалить и эти объекты?</li>
<li>Чтобы удалить все остальные объекты, нужно избавиться от ссылок, которые указывают на них. Эти ссылки показаны в нижнем списке текущего окна. Если дважды щёлкнуть на любой элемент из этого списка, то откроется форма этого объекта. В ней можно заменить помеченный на удаление объект другим объектом. Когда будут заменены все элементы из нижнего списка, помеченный на удаление объект будет удален.</li>
</ul>
<p>Конечно, очень сложно и долго удалять в ручную все помеченные на удаление объекты. Один из способов сделать это быстро предоставляет <a href="http://www.softmaker.kz/files.php?cat=8&amp;id=4&amp;lang=RU&amp;PHPSESSID=d83c3488c92305baee1414cc55186657#top" target="_blank">внешняя обработка 1С для поиска дублей в справочнике контрагенты и удаления ссылок из документов</a>.</p>
<p>&nbsp;</p>
<p><strong><a id="89" name="89"></a>Как выбрать группу в элементе диалога &laquo;Поле ввода&raquo; с типом справочник?</strong></p>
<p>Некоторые пользователи не могут выбрать группу справочника в элементе диалога &laquo;Поле ввода&raquo; с типом справочник. Они стараются это сделать, дважды нажав на группе левой кнопкой мыши, но происходит только открытие группы справочника.</p>
<p>Чтобы правильно это сделать нужно, нажать на троеточие в элементе диалога &laquo;Поле ввода&raquo; с типом справочник и в появившемся списке справочника найти кнопку в левом верхнем углу с названием &laquo;Выбрать&raquo;.</p>
<p>Хочу отметить, что кнопка &laquo;Выбрать&raquo; будет работать для групп, если свойство &laquo;ВыборГруппИЭлементов&raquo; элемента диалога &laquo;Поле ввода&raquo;, содержит значения &laquo;Группы и элементы&raquo; (для выбора групп и элементов справочника) или &laquo;Группы&raquo; (для выбора только групп). Свойство &laquo;ВыборГруппИЭлементов&raquo; настраивается в Конфигураторе.</p>]]></description><pubDate>26.11.2012</pubDate></item><item><title> Простая настройка OpenVPN с фиксированными адресами клиентов</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=110</link><description><![CDATA[<p>В этой заметке подробно описана процедура настройки OpenVPN (virtual private network &mdash; виртуальная частная сеть), в рамках модели сервер-клиент и способ фиксации адресов клиентов в виртуальной сети, на базе сертификатной аутентификации. Эта технология позволяет быстро и экономично поднимать виртуальные локальные сети на базе существующих физических или интернета.</p>
<p>Стоит заметить, что компания OpenVPN предлагает использовать свой продукт <a href="http://www.openvpn.net/index.php/open-source/downloads.html">OpenVPN Access Server</a> (пакет <em>openvpn-as</em>) &mdash; сервер с возможностью настройки и контроля доступа через web-интерфейс, но, к сожалению, количество клиентов для него ограничено лицензией, поэтому опишем процедуру настройки пакета <em>openvpn</em>.</p>
<p>Прежде всего определимся с адресным диапазоном.<br /> Необходим один внешний фиксированный IP адрес для VPN-сервера (в том случае если VPN будет работать через интернет), условно обозначим его 9.9.9.9<br /> Диапазон внутренних адресов виртуальной сети мы предлагаем использовать такой: 192.168.10.2 &mdash; 192.168.10.99</p>
<p><strong>Часть I &mdash; настройка сервера</strong></p>
<p>Установим пакет из репозиториев, в Debian/Ubuntu это:</p>
<p><code>sudo apt-get install openvpn</code></p>
<p>После установки перейдем в папку со скриптами генерации ключей (в различных дистрибутивах путь может различаться):</p>
<p><code>cd /usr/share/doc/openvpn/examples/easy-rsa/2.0</code></p>
<p>Отредактируем файл переменных:</p>
<p><code>sudo nano vars</code></p>
<p>В файле vars измените следующие значения:</p>
<p><code>export KEY_DIR="/etc/openvpn/keys" # путь к папке где будут лежать ключи<br /> export KEY_COUNTRY="RU" # это и следующие значения изменяйте по-собственному усмотрению<br /> export KEY_PROVINCE="MS"<br /> export KEY_CITY="Moscow"<br /> export KEY_ORG="СompanyName"<br /> export KEY_EMAIL="some@address.ru"</code></p>
<p>Следующие команды рекомендуем выполнять под root&rsquo;ом, дабы не возникло проблем с правами:</p>
<p><code>su<br /> mkdir /etc/openvpn/keys<br /> mkdir /etc/openvpn/ccd<br /> source ./vars<br /> ./clean-all<br /> ./build-dh<br /> ./pkitool --initca<br /> ./pkitool --server server<br /> ./pkitool client<br /> openvpn --genkey --secret ta.key<br /> mv ./ta.key /etc/openvpn/keys</code></p>
<p>Эти команды создают необходимые папки и генерируют сертификаты для сервера и клиентов с данными введенными в файл vars.<br /> Создадим файл настроек:</p>
<p><code>nano /etc/openvpn/openvpn.conf</code></p>
<p>В него добавьте следующий текст:</p>
<p><code>mode server # указывает программе работать в режиме сервера<br /> tls-server # активирует работу Transport Layer Security (криптографический протокол) сервера<br /> proto tcp-server # выбираем протокол TCP (если необходим UDP, тогда: proto udp)<br /> dev tap # используемый тип интерфейса - L2 туннель (для L3-туннеля: dev tun)<br /> port 1200 # указываем порт, по которому будет работать OpenVPN<br /> daemon # программа будет работать в режиме демона, если нет в этом необходимости - просто раскомментируйте строку<br /> tls-auth /etc/openvpn/keys/ta.key 0 # активирует дополнительный уровень аутентификации<br /> ca /etc/openvpn/keys/ca.crt # путь к корневому сертификату<br /> cert /etc/openvpn/keys/server.crt # путь к сертификату сервера<br /> key /etc/openvpn/keys/server.key # ключ сервера<br /> dh /etc/openvpn/keys/dh1024.pem # файл алгоритма Diffie-Hellman<br /> client-config-dir /etc/openvpn/ccd # путь к каталогу индивидуальных клиентских конфигураций<br /> ifconfig 192.168.10.1 255.255.255.0 # устанавливает виртуальный адрес сервера<br /> ifconfig-pool 192.168.10.2 192.168.10.99 # устанавливает диапазон виртуальных адресов для клиентов<br /> push "route 192.168.10.0 255.255.255.0 192.168.10.1" # эта команда будет выполняться на клиентских компьютерах, во время инициализации OpenVPN, она будет активировать роутинг так, чтобы клиенты автоматически использовали openvpn-сервер как шлюз для этой подсети<br /> duplicate-cn # включает возможность использования одного ключа несколькими клиентами<br /> verb 3 # указывает уровень отладки<br /> cipher DES-EDE3-CBC # шифрование по алгоритму DES-EDE3-CBC<br /> persist-key # будет загружать ключи в режиме persist, то есть их перезагрузка не потребуется в случае разрыва соединения<br /> log-append /var/log/openvpn.log # путь к файлу лога<br /> persist-tun # активирует работу tun/tap устройств в режиме persist<br /> comp-lzo # активирует использование сжатия</code></p>
<p>Всё, если процедура прошла без ошибок, то сервер готов. Перезапустите его командой:</p>
<p><code>sudo /etc/init.d/openvpn restart</code></p>
<p><strong>Часть II &mdash; настройка клиента</strong></p>
<p>Прежде всего установим пакет и создадим папку для хранения ключей:</p>
<p><code>sudo apt-get install openvpn<br /> sudo mkdir /etc/openvpn/keys</code></p>
<p>С сервера надо взять 4 файла:</p>
<p><code>ca.crt<br /> client.crt<br /> client.key<br /> ta.key</code></p>
<p>и скопировать их в папку <code>/etc/openvpn/keys</code> клиента.</p>
<p>Создаем файл-настроек клиента:</p>
<p><code>sudo nano /etc/openvpn/client.conf</code></p>
<p>Добавляем в него следующий текст:</p>
<p><code>tls-client # указывает программе работать в режиме клиента<br /> proto tcp-client # активирует протокол TCP<br /> remote 9.9.9.9 # внешний адрес сервера<br /> dev tap # используемый тип интерфейса - L2 туннель<br /> port 1200 # номер openvpn-порта сервера<br /> cd /etc/openvpn # указывает на директорию по-умолчанию<br /> pull # указывает принимать команды от сервера<br /> tls-auth /etc/openvpn/keys/ta.key 1 # активирует дополнительный уровень аутентификации<br /> ca /etc/openvpn/keys/ca.crt # путь к корневому сертификату сервера<br /> cert /etc/openvpn/keys/client.crt # путь к сертификату клиента<br /> key /etc/openvpn/keys/client.key # путь к ключу клиента<br /> cipher DES-EDE3-CBC # шифрование по алгоритму DES-EDE3-CBC<br /> log-append /var/log/openvpn.log # путь к файлу лога<br /> comp-lzo # активирует использование сжатия</code></p>
<p>Клиент готов, можно запускать:</p>
<p><code>sudo /etc/init.d/openvpn restart</code></p>
<p>После успешного запуска должен появиться виртуальный сетевой интерфейс с адресом в пределах выделенного на сервере диапазона.</p>
<p>Также, вероятно, вам потребуется настроить корректным образом роутинг на вашей клиентской машине. К примеру в linux для добавления маршрута к другой подсети доступной на сервере обычно это делается так:</p>
<p><code>sudo route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.10.1 tap0</code></p>
<p>Также необходимые подсети вы можете добавить в конфигурационный файл сервера <code>/etc/openvpn/openvpn.conf</code>, добавив строки подобно этой:</p>
<p><code>push "route 192.168.5.0 255.255.255.0 192.168.10.1"</code></p>
<p>Это даст возможность не поднимать каждую подсеть вручную.</p>
<p><strong>Часть III &mdash; настройка фиксированных адресов</strong></p>
<p>Если есть необходимость в том, чтобы клиентские адреса не выдавались автоматически в пределах диапазона, а были всегда строго фиксированы, то достаточно выполнить следующие инструкции&hellip;</p>
<p>Информация о фиксированных адресах в нашем случае будет храниться на сервере, а назначаться они будут в соответствии с ключами (то есть каждый клиент с фиксированным адресом должен будет иметь свой уникальный ключ, ну а те клиенты, кому подходят динамические адреса &mdash; могут использовать общий клиентский ключ). Для этого на сервере генерируем два дополнительных ключа:</p>
<p><code>cd /usr/share/doc/openvpn/examples/easy-rsa/2.0<br /> source ./vars<br /> ./pkitool client1<br /> ./pkitool client2</code></p>
<p>Создаем файл для client1:</p>
<p><code>sudo nano /etc/openvpn/ccd/client1</code></p>
<p>В него добавляем строку:</p>
<p><code>ifconfig-push 192.168.10.51 255.255.255.0</code></p>
<p>Аналогичным образом сделаем и для client2:</p>
<p><code>sudo nano /etc/openvpn/ccd/client2</code></p>
<p>Где добавим строку:</p>
<p><code>ifconfig-push 192.168.10.52 255.255.255.0</code></p>
<p>Такая настройка сделает адрес client1 &mdash; 192.168.10.51, а client2 &mdash; 192.168.10.52.<br /> К этому стоит добавить, что эти файлы в папке <em>ccd</em> (параметр &mdash; <em>client-config-dir</em>) являются отдельными конфигурационными файлами клиентов, можете добавить в них какие-либо параметры по-своему усмотрению.</p>
<p>Настройка клиента для использования фиксированного адреса производится аналогично тому, как описано выше, единственное отличие в шагах, это то, что вместо client.crt и client.key вам надо скопировать и указать в файле конфигурации client1.crt и client1.key или client2.crt и client2.key соответственно.</p>]]></description><pubDate>06.11.2012</pubDate></item><item><title>Сканирование AJAX. Руководство для разработчиков и веб-мастеров</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=105</link><description><![CDATA[<p>Если у вас работает приложение AJAX с содержанием, которое вам хотелось бы видеть в результатах поиска, спешим сообщить, что у нас появился новый процесс, который после своего внедрения поможет Google (а потенциально и другим поисковым системам) сканировать и вносить в индекс такое содержание. Исторически приложения AJAX крайне сложны для обработки поисковыми системами, поскольку в них содержание создается динамически браузером и поэтому недоступно для поисковых роботов. Хотя существуют <a id="c7o2" title="пути" href="http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html">пути</a> решения этой проблемы, все они предусматривают регулярное поддержание актуальности содержания вручную.</p>
<p>В отличие от них описанная ниже схема поможет поисковым системам постепенно сканировать и вносить в индекс ваше содержание, а веб-мастерам&nbsp;&ndash; поддерживать актуальность содержания без постоянного вмешательства. Если приложение AJAX обеспечивает поддержку такой схемы, то его содержание будет попадать в результаты поиска. Схема работает следующим образом.</p>
<ol>
<li>Сайт поддерживает схему сканирования AJAX.</li>
<li>Сервер выдает <em>снимок HTML для каждого URL AJAX</em>, который виден пользователю (через браузер). URL AJAX содержит хэш-фрагмент, например <code>www.example.com/index.html#mystate</code>, где <code>#mystate</code>&nbsp;&ndash; хэш-фрагмент. Снимок HTML&nbsp;&ndash; это все содержание, отображаемое на странице после выполняемого кода JavaScript.</li>
<li>Поисковые системы индексируют снимок HTML и обслуживают исходные URL AJAX в своих результатах поиска.</li>
</ol>
<p>Чтобы заставить эту схему работать, приложение должно использовать в URL AJAX определенный синтаксис (назовем это "красивый URL"; почему именно так&nbsp;&ndash; будет ясно ниже). Поисковая система временно заменяет такой "красивый URL" на "некрасивый URL" и запрашивает его с сервера. Этот запрос по "некрасивому URL" указывает серверу, что он должен отображать не обычную веб-страницу, которую он должен вернуть браузеру, а снимок HTML. Когда поисковый робот получил содержание для измененного "некрасивого URL", то он индексирует его содержание, отображая исходный "красивый URL" в результатах поиска. Иными словами, конечный пользователь всегда видит "красивый URL", содержащий хэш-фрагмент. На следующей схеме показан весь процесс взаимодействия.</p>
<p><img src="http://www.google.com/help/hc/images/webmasters_ajax_174992.png" alt="Процедура индексирования содержания AJAX поисковой системой Google" /></p>
<p>Дополнительную информацию см. в <a href="http://support.google.com/webmasters/bin/answer.py?answer=174993&amp;hl=ru">Часто задаваемых вопросах по сканированию AJAX</a> и <a href="http://code.google.com/web/ajaxcrawling">документации для разработчиков.</a></p>
<h3>Пошаговое руководство</h3>
<p><a class="zippy zippy-expand">1. Укажите поисковому роботу, что ваш сайт поддерживает схему сканирования AJAX.</a></p>
<div class="zippy-content" style="overflow: visible;">
<div class="zippy-content-item" style="margin-top: 0px;">
<p>Чтобы проиндексировать свой сайт с приложением AJAX, первым делом надо указать поисковому роботу, что он поддерживает схему сканирования AJAX. Это можно сделать с помощью специального маркера в хэш-фрагменте (той части URL, которая находится после символа <code>#</code>). Хэш-фрагмент, который представляет уникальное состояние страницы, должен начинаться с восклицательного знака. Например, если приложение AJAX содержит URL наподобие следующего:</p>
<pre>www.example.com/ajax.html#mystate</pre>
<p>он должен выглядеть так:</p>
<pre>www.example.com/ajax.html#<strong>!</strong>mystate</pre>
<p>Если сайт поддерживает эту схему, то он будет считаться доступным для сканирования AJAX. Это означает, что поисковый робот увидит содержание приложения, если сайт предоставит снимок HTML.</p>
</div>
</div>
<p><a class="zippy zippy-expand">2. Настройте сервер для обработки запросов по URL, содержащим <code>"_escaped_fragment_"</code></a></p>
<div class="zippy-content" style="overflow: visible;">
<div class="zippy-content-item" style="margin-top: 0px;">
<p>Предположим, нужно внести в индекс следующий URL: <code>www.example.com/index.html#!mystate</code>. С вашей стороны требуется предоставить поисковому роботу снимок HTML для данного URL, чтобы можно было проиндексировать его содержание. Как сервер узнает, когда надо отобразить снимок HTML, а не обычную страницу? Ответ заключается в URL, по которому производит запрос поисковый робот. Он изменяет каждый URL AJAX на временный (например, <code>www.example.com/ajax.html#!mystate</code> становится <code>www.example.com/ajax.html?_escaped_fragment_=mystate</code>). Первый URL мы называем "красивым URL", а второй&nbsp;&ndash; "некрасивым URL".</p>
<p>Это важно по двум причинам.</p>
<ul>
<li>Хэш-фрагменты никогда (по определению) не отправляются серверу в запросе HTTP. Иными словами, поисковому роботу необходим какой-то способ дать серверу знать, что ему нужно содержание для URL <code>www.example.com/ajax.html#!mystate</code>.</li>
<li>С другой стороны, сервер должен определить, что ему нужно отобразить снимок HTML, а не отправить браузеру обычную страницу. Снимок HTML&nbsp;&ndash; это все содержание страницы после выполнения кода JavaScript. Последнее, что требуется со стороны вашего сервера,&nbsp;&ndash; это отобразить поисковому роботу снимок HTML для www.example.com/index.html#!mystate (т.&nbsp;е. исходного URL).</li>
</ul>
<p><strong>Примечание.</strong> Во время преобразования поисковый робот экранирует некоторые символы фрагмента. Чтобы извлечь первоначальный фрагмент, нужно разэкранировать в нем все символы %XX (например, %26 должно стать "&amp;", %20&nbsp;&ndash; пробелом, %23&nbsp;&ndash; символом "#", а %25&nbsp;&ndash; символом "%").</p>
<p>Теперь, когда получен первоначальный URL и известно, какое содержание запрашивает поисковый робот, осталось создать снимок HTML. Существует несколько способов сделать это.</p>
<ul>
<li>Если большой объем содержания формируется с помощью JavaScript, для получения снимка HTML лучше воспользоваться хедлесс-браузером, например <a id="ooo7" title="HtmlUnit" href="http://htmlunit.sourceforge.net/">HtmlUnit</a>. Либо можно воспользоваться другим инструментом вроде <a id="r8uh" title="crawljax" href="http://crawljax.com">crawljax</a> или <a id="k88-" title="watij.com" href="http://watij.com">watij.com</a>.</li>
<li>Если большая часть содержания формируется с помощью серверной технологии вроде PHP или ASP.NET, то можно воспользоваться существующим кодом, заменив фрагменты веб-страницы, связанные с JavaScript, статическим или серверным кодом HTML.</li>
<li>Можно создать автономную статическую версию страницы. Например, многие приложения отрисовывают содержание из базы данных, которое затем визуализируется браузером. Вместо этого можно создать отдельную HTML-страницу для каждого URL AJAX. Это примерно те же рекомендации, что и предыдущие <a href="http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html">рекомендации Google для Hijax</a>.</li>
</ul>
</div>
</div>
<p>. <a class="zippy zippy-expand">3. Обработайте страницы без хэш-фрагментов.</a></p>
<div class="zippy-content" style="overflow: visible;">
<div class="zippy-content-item" style="margin-top: 0px;">
<p>Некоторые из ваших страниц могут не иметь хэш-фрагментов. Например, для главной страницы лучше использовать адрес <code>www.example.com</code>, а не <code>www.example.com#!home</code>. Исходя из этого, предусмотрено специальное решение для страниц без хэш-фрагментов.</p>
<p>Чтобы проиндексировать эти страницы без хэш-фрагментов, нужно включить в HTML-заголовок страницы специальный метатег. <strong>Внимание!</strong> Данное решение предназначено только для страниц с содержанием Ajax. Его не следует использовать, если содержание Ajax на странице отсутствует, поскольку в результате добавления метатега возрастет нагрузка как на ваши серверы, так и на серверы Google. Метатег имеет следующий вид:</p>
<pre>&nbsp;</pre>
<p>Этот тег указывает поисковому роботу, что сканировать нужно "некрасивую" версию данного URL. В соответствии с вышеописанным соглашением поисковый робот временно ставит в соответствие "красивому URL" соответствующий "некрасивый URL". Иными словами, если поместить <code></code> в заголовок страницы www.example.com, то поисковый робот временно поставит в соответствие этому URL адрес <code>www.example.com?_escaped_fragment_=</code> и запросит его с вашего сервера. Сервер должен отобразить снимок HTML, соответствующий <code>www.example.com</code>.</p>
<p>Обратите внимание на одно важное ограничение, касающееся данного метатега: его единственным допустимым значением является <code>"!"</code>. Иными словами, метатег будет всегда иметь точно такой вид: <code></code>, что указывает на пустой хэш-фрагмент, но не страницу с содержанием AJAX.</p>
</div>
</div>
<p><a class="zippy zippy-expand">4. Попробуйте обновить файл Sitemap, включив в него новые URL AJAX.</a></p>
<div class="zippy-content" style="overflow: visible;">
<div class="zippy-content-item" style="margin-top: 0px;">
<p>Поисковые роботы используют файлы <a id="p7m4" title="Sitemap" href="http://www.sitemap.org">Sitemap</a> в дополнение к обычному сканированию. Ваш файл Sitemap должен содержать версии URL, которые должны отображаться в результатах поиска, поэтому в большинстве случаев это будет <code>http://example.com/ajax.html#!foo=123</code> (а не <code>http://example.com/ajax.html?_escaped_fragment_=foo=123</code>), в противном случае входная страница сайта (домашняя страница, например) не будет отображаться в результатах поиска как <code>#!</code>. Например, если нужно, чтобы в результатах поиска отображалось <code>http://example.com/</code>, укажите <code>http://example.com/</code> в файле Sitemap с метатегом <code></code> в теге <code></code> своего документа. Подробнее см. в других статьях о <a href="http://support.google.com/webmasters/bin/answer.py?answer=156184&amp;hl=ru">файлах Sitemap</a>.</p>
</div>
</div>]]></description><pubDate>30.10.2012</pubDate></item><item><title>Сергей Людкевич «Нюансы алгоритма ранжирования Яндекса»</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=106</link><description><![CDATA[<p>Доклад был представлен <strong>Сергеем Людкевичем</strong>, начальником отдела аналитики WebEffector, на конференциях <a href="http://www.cybermarketing.ru/conference.html" target="_blank">Cybermarketing 2011</a> и <a href="http://optimization.ru/2011" target="_blank">Optimization 2011</a>. Он был посвящен нюансам алгоритма ранжирования Яндекса, препятствующим хорошему ранжированию сайтов: штрафам, фильтрам, негативным факторам ранжирования и пр.</p>
<p><img src="http://img-fotki.yandex.ru/get/5815/64115.91/0_57b25_eecd7aea_L" alt="" vspace="5" /></p>
<p>По словам докладчика, поисковая машина Яндекса на российском рынке, на данный момент, представляет наибольший интерес как для оптимизаторов, так и для владельцев бизнеса, которые хотят привлекать целевую аудиторию на свои сайты.</p>
<p>Сергей начал свой доклад с пресловутой формулы релевантности. Если еще лет пять назад можно было эту формулу написать на клочке бумаги, то сейчас это сделать, увы, невозможно. Потому, что где-то с конца 2007 года Яндекс перешел на новую формулу на основе машинного обучения (технология MatrixNet). В результате машинного обучения получается формула, которая не имеет никакого физического смысла. Это некая абстрактная аппроксимация оценок асессоров, которая выливается в какие-то закономерности, которые связаны с совершенно различными факторами. И факторы эти могут быть совершенно глупыми и абсолютно нелогичными. В прошлом году в журнале &laquo;Практика интернет-маркетинга&raquo; представителями Яндекса было заявлено: &laquo;Если мы увидим такой фактор, при котором background красного цвета будет улучшать наши метрики качества, мы будем его использовать&raquo;. Вот это лучше всего отражает суть данного подхода.</p>
<p>Итак, на данный момент в Яндексе есть ряд формул на основе машинного обучения и технологии MatrixNet. В апреле 2010 года на Киборифе <strong>Дэн Расковалов</strong> сообщил о наличии 420 с лишним факторов ранжирования. Сложно даже себе представить, что можно вместить в эти 420 факторов. Наверняка здесь учтены не только факторы, но и разные их комбинации (мономы). И если факторы имеют какой-то смысл, пусть и не совсем физический, то мономы, являющиеся приложениями этих факторов, никакого смысла вообще не имеют.</p>
<p>Например, что может физически означать средняя индексация сайта, помноженная на количество ключевых слов в тайтле и помноженная на число латинских букв в url? Естественно, смысла в этом никакого нет. Но, тем не менее, какие-то внутренние метрики растут при появлении этих факторов, и за счет этого они включаются в формулу.</p>
<p>Нет единой формулы релевантности. Есть отдельные формулы для крупных регионов: Москва, Санкт-Петербург, 16 крупных городов России, Украина, Белоруссия, Казахстан. Есть такая общероссийская формула, которая действует для всех остальных регионов России - 16 крупных городов релиза &laquo;Арзамас+16&raquo;. Также наблюдается различие по степени запросов формулы. Коммерческие запросы, например, ранжируются совершенно иначе, чем некоммерческие запросы. Могут быть различия в ранжировании запросов, связанных с видео, с музыкой и так далее.</p>
<p>И вот MatrixNet проинтерпретировал оценки асессоров, построил формулу, которая является оптимальной по некоей внутренней системе качества. Но, как оказывается, этого мало. Решение получилось оптимальным с точки зрения алгоритма, но, тем не менее, в него вносятся дальнейшие правки. Получается, что много мусора все равно остается, и поэтому вводятся различные ограничения, т.е. это машинное обучение подвергается еще и ручной корректировке. <strong>Какие же пессимизации можно выделать на данный момент?</strong></p>
<p>Во-первых, это <strong>пред-фильтры</strong> &ndash; то, что применяется еще до расчетов формулы ранжирования. Это дисконтирование или обнуление значений каких-либо факторов. Эти ссылки совсем могут не участвовать в ранжировании.</p>
<p>Во-вторых, наряду с пред-фильтрами, широкое применение в последнее время получили так называемые <strong>пост-фильтры</strong>, или штрафы. Это уже непосредственное дисконтирование значения функции релевантности. То есть, мы вычисляем значение релевантности запросов в заголовке сайта, а потом за какие-то прегрешения, или за то, что не выполняются какие-то дополнительные условия, накладываются штрафы. И в последнее время происходит это очень часто. Появляются какие-то совершенно новые фильтры - за переоптимизацию, за портянки, еще за что-то&hellip; И накладываются вот эти штрафы. То есть, получается, что великий и могучий алгоритм MatrixNet устроен так, что не получается автоматически вот эти вещи получить при выборе факторов. И приходится, практически вручную, делать некие настройки, которые программисты называют костылями. И количество этих костылей все больше и больше растет.</p>
<p>Также помимо этих штрафов, существует и фильтрация уже на этапе выдачи. Когда документы уже отранжированы, но по каким-то причинам принимается решение некоторые из них не показывать в результатах поиска. Наиболее яркие примеры &ndash; это, так называемые, <strong>аффилированные сайты</strong>, когда происходит группировка результатов поиска с нескольких сайтов, и показывается результат только с одного из них. До недавнего времени можно было с уверенностью говорить, что показывается один из наиболее релевантных результатов, но в последнее время стали наблюдаться случаи, когда это не так. Видимо были введены какие-то дополнительные критерии. Например, первое, что может прийти в голову &ndash; авторство контента или еще что-то.</p>
<p>Дальее идет <strong>фильтр на одинаковые сниппеты </strong>&ndash; это когда по умолчанию в выдаче показывается только один результат. Эта проблема очень актуальна для интернет-магазинов, когда на карточках товаров используются описания, которые берутся у конкурентов. То есть, это какие-то технические характеристики товаров. Причем сайт является официальным дилером, и условия на контент там накладывают довольно жесткие - многие вещи должны быть описаны слово в слово так, как это дается на сайте вендера, и никакой вольности в этом вопросе не позволяется. Проблема возникает, когда сниппетовщик выбирает одинаковые куски из описания разных интернет-магазинов и, соответственно, сниппеты получаются одинаковыми, и вместо нескольких интернет-магазинов в выдаче по умолчанию остается только один. При этом, из всех результатов это может быть далеко не самый релевантный результат.</p>
<p>Еще один интересный момент, на который стоит обратить внимание &ndash; <strong>примеси к органическим результатам поиска</strong>. Вот алгоритм сработал, построил формулу, формула отранжировала результаты поиска. Но, тем не менее, эти результаты, которые называются органическими, разбавляются еще результатами, получившимися в результате работы каких-то иных алгоритмов, иных формул. В Яндексе сейчас есть, так называемая, спектральная примесь. Это когда до трех мест в топ-10 отдаются результатам по &laquo;уточненным&raquo; запросам (стандартизированным группам так называемых потребностей) &ndash; обзоры, цены, фото, отзывы, &laquo;сделай сам&raquo; и так далее.</p>
<p>Кроме этой спектральной примеси, так же в топ-10 может отдаваться, так называемая, быстроботовская примесь. Это свежепроиндексированные документы из наиболее приоритетных ресурсов. Где-то месяц назад можно было наблюдать такое интересное явление, когда по очень большому количеству запросов, общих запросов, таких как [сайт Москва] вылезал сайт &laquo;Автофургон инфо&raquo;. И во всех выдачах запросов можно было встретить вот эти автофургоны, так вот он вылезал за счет &laquo;спектральной&raquo; примеси.</p>
<p>Быстроботовская примесь &ndash; это тоже качество, оставляющее желать лучшего, потому что очень часто в эти свежепроиндексиваронные документы, с некоторым количеством приоритетных ресурсов, попадает большое количество ресурсов с тематикой сайта только из-за того, что слова и запросы где-то были употреблены на странице, например, в меню, или просто были найдены в ссылках продажи на сайте. То есть, качество очень часто бывает очень плохим. И не понятно, по каким метрикам оно оценивается.</p>
<p>Если прибавить ко всему перечисленному тот факт, что может быть один или даже два результата на странице, которые по любому занимают первые места, &ndash; все это сокращает органическую выдачу в топ-10 буквально до 3, 4, 5 позиций. Соответственно, задача по улучшению характеристик сайта для его хорошего ранжирования по запросу, становится все более непростой.</p>
<p>Если говорить о самом алгоритме ранжирования, то составляющие его таковы:</p>
<p><img src="http://searchenginesru.s3.amazonaws.com/pics/Ludkevich_1.jpg" alt="" vspace="5" /></p>
<p><strong>Текстовая составляющая</strong> &ndash; это положительная составляющая ранжирования. Сегодня мы видим рост увеличения различных санкций именно за вещи, связанные с текстом документа. Все это приводит к тому, что попытки манипулирования текстовыми факторами ранжирования могут принести больше вреда, чем пользы. Были такие курьезные случаи, когда в результате проблемы на хостинге, когда тексты сайта не индексировались в поисковой машине, а документ находился только по ссылкам, он ранжировался лучше, нежели тогда, когда он был проиндексирован. То есть, здесь дается такая ситуация, когда выдачи за счет факторов ранжирования было меньше, чем какие-то штрафы, которые были наложены за состояние текста на сайте.</p>
<p>Небрежное отношение к тексту тоже чревато проблемами. Здесь дело касается уникальности, вторичности контента, его качества с точки зрения естественности. На эти вещи нужно обращать пристальное внимание. Резюмируя, можно сказать, что не стоит пытаться за счет текстовых факторов сильно улучшать ранжирование сайта. Нормальный, читабельный текст, без всяких портянок, с разумным количеством употреблений ключевых слов, и как можно более уникальный &ndash; это все что нужно. Текстовые факторы не такие мощные для коммерческих тематик, там большую роль играют другие факторы. Если говорить о некоммерческих запросах &ndash; тогда да, там текстовые факторы в ряде случаев играют большую роль.</p>
<p>Рассмотрим конкретные случаи санкций. Штраф за текстовый переспам, так называемый, <strong>порятночный фильтр,</strong> был введен в феврале 2010 года, и направлен против чрезмерной концентрации ключевых слов в контенте. Он запросозависим и также зависит от ключевых характеристик документа. Сейчас портянки можно запросто встретить в высококонкурентных топах и в любых коммерческих тематиках, которые нормально ранжируются, и почему-то не влекут за собой штраф за текстовый переспам. Видимо у этих сайтов какие-то очень хорошие поведенческие факторы и наложение санкций не срабатывает, может быть, авторитетность ресурса большая - такие случаи встречаются довольно часто. Здесь нужно обратить внимание, что этот штраф именно направлен против многократного появления ключевых слов, порядка 10-50-100 употреблений, что было очень модно еще пару лет назад, и таким документами пестрели все топы.</p>
<p>Чтобы не попасть под этот штраф, надо выполнять простые <strong>рекомендации</strong>:</p>
<ul>
<li>Избегать многократного употребления ключевых слов из запроса в одном предложении.</li>
<li>Употреблять ключевые слова как можно ближе к началу документа.</li>
<li>Избегать участков текста с плотными скоплениями ключевых слов.</li>
</ul>
<p>Есть еще один штраф за текстовую составляющую &ndash; <strong>штраф за переоптимизацию</strong>. В апреле было массовое введение этого штрафа, именно тогда многие вебмастера получили &laquo;письма счастья&raquo; о том, что их сайт наказан за переоптимизацию. Штраф этот как раз и направлен против манипуляций текстовыми факторами ранжирования: такими как вхождение, написание текста жирным стилем, злоупотребление выделением. Пока наблюдается, что этот фактор запросонезависим. То есть, он накладывается на страницу и по всем запросам этот штраф действует. Возможно, также зависит и от характеристики документа. Например, если очень много входящих коммерческих ссылок, то может сработать.</p>
<p><strong>Рекомендации: </strong></p>
<p><img src="http://searchenginesru.s3.amazonaws.com/pics/Ludkevich_2.jpg" alt="" vspace="5" /></p>
<p>Также в текстовой составляющей обязательно нужно выделить <strong>важные качества контента, такие как:</strong></p>
<ul>
<li>Уникальность контента</li>
<li>Вторичность контента</li>
<li>Естественность контента</li>
<li>Порнографическая лексика</li>
</ul>
<p>За эти вещи тоже можно получить различные санкции. Во-первых, уникальность контента. Конечно, хорошо бы было бы, если бы весь контент был бы уникальный. Но этого не всегда можно достичь, потому что многие нехорошие люди имеют привычку контент воровать и располагать у себя на какие-то страницы в сателлитах. Для борьбы с этим, летом Яндексом была введена возможность застолбить права еще на неопубликованный контент, и таким образом, можно себя автогарантировать.</p>
<p>Вторичный контент тоже можно немного выделить. В принципе, контент может быть и не уникален, главное &ndash; чтобы тебя считали автором. Тебе будет хорошо, а всем тем, кто у тебя этот контент позаимствовал, им должно быть плохо. Я рекомендую всем очень внимательно относиться к этим вещам, и на все новые тексты лучше посылать заявочку в Яндекс.</p>
<p>Также важную роль играет, так называемая, естественность контента. То есть, насколько текст является для Яндекса естественным, что его создал человек, а не сгенерировал какой-то автомат. Здесь используются, судя по всему, учет лингвистических элементов, распределение частей речи в предложении, насколько используются падежи, устойчивые словосочетания и так далее. Просто какие-то частотные характеристики текста.</p>
<p>Также Сергей порекомендовал избегать порнографической лексики и ссылок на порноресурсы и предупредил, что за эти вещи тоже можно получить неприятные штрафы.</p>
<p><strong>Характеристики документа и сайта.</strong> В первую очередь это возраст сайта и страницы. Довольно-таки важный фактор, имеющий сейчас очень большое значение. Сайты, которым до полугода практически нереально продвинуть в Яндексе по более менее конкурентным запросам. Выход сайта на полную мощность возможен где-то через три года.</p>
<p>Еще один важный фактор &ndash; употребление ключевых слов в URL и домене.</p>
<p>Формат документа. Здесь все просто - продвигаются только html документы. Все остальные будут продвигаться с большой сложностью.</p>
<p>Наличие попандеров/кликандеров &ndash; это то, за что сейчас можно схватить штраф. Об этом Яндекс предупреждал.</p>
<p>И также есть такое понятие, как &laquo;плохое окружение&raquo;. Если данные whois вашего сайта совпадут со значением сайта, которые замечены в каких-то плохих вещах, то это тоже может повлиять при наложении санкций, так называемое АГС может на это реагировать. Сайт может просто пропасть из видимой части индекса при наличии каких-то еще дополнительных условий.</p>
<p>В общем, идет сильное влияние возрастных факторов и сильное влияние доменных факторов. То есть, употребление слов или частичное употребление слов, запросов именно в домене сайта, домене имени. Хотя в последнее время намечается тенденция послабления этого фактора. Сергей считает, что он стимулирует генерацию так называемых &laquo;SEO-доменов&raquo;, когда доменное имя содержит в себе полностью запрос. И, на его взгляд, это является ярким примером несбалансированности факторов. То есть, получается, что &laquo;рулят&raquo; факторы, которые нельзя улучшить.</p>
<p><strong>Ссылочная составляющая.</strong> На данный момент все еще наблюдается большая значимость, этого фактора, особенно для коммерческих запросов. Использование коммерческих ссылок при продвижении по коммерческим запросам все еще остается целесообразным, они работают.</p>
<p>Для некоммерческих &ndash; работа ссылочного уже практически сведена к нулю. И продвигать ссылочным некоммерческие запросы &ndash; это пустая трата времени. На этом фоне забавляют иногда конкурсы, проводимые различными некоторыми агрегатами, когда предлагают продвинуть некоммерческий запрос в Яндексе с помощью CDI, системой, которая закупает коммерческие ссылки. По факту получается то, что выигрывает тот, кто имеет лучшие показатели по другим параметрам. И возрастает значение статистических факторов для некоммерческих запросов, так называемая авторитетность ресурсов. Потому что коммерческие ссылки уже практически бесполезны.</p>
<p>При ссылочной составляющей можно выделить следующие <strong>составляющие, которые могут привести к санкциям</strong>:</p>
<p>&bull; &laquo;Ссылочный взрыв&raquo; <br /> &bull; Плохие ссылки <br /> &bull; Коммерческие ссылки <br />&bull; Участие в линкобменниках (link-farms)</p>
<p><strong>&laquo;Ссылочный взрыв&raquo;</strong> - это быстрое наращивание ссылочной массы. Заключается в обнулении значений всех ссылочных факторов для ссылок, которые причастны к этому ссылочному взрыву. Они все будут бесполезны. Естественно, когда они сначала учитывались, а потом, когда перестают учитываться, происходит падение в позициях.</p>
<p><strong>Плохие ссылки.</strong> Яндекс классифицирует ссылки на хорошие и плохие. Плохие дают нулевой вклад. Также замечалось наложение штрафа при большой доле плохих ссылок при каком-нибудь запросе. Если очень много проставлено ссылок в плохих ресурсах, то это не то что, как бы не дает вклада, а может даже принести вред в виде штрафа.</p>
<p><strong>Коммерческие ссылки.</strong> Здесь очень важный нюанс. Коммерческие ссылки &ndash; это те, которые проставлены на коммерческих условиях. Яндекс очень хорошо их умеет определять. Все читали мадридский доклад Яндекса, в котором изложена простая, логичная схема, по которой все это очень быстро определяется. Но при ранжировании по коммерческим запросам, коммерческие ссылки все-таки еще учитываются, это надо помнить. Есть некие ограничения, например, временная задержка учета этих ссылок, так называемая &laquo;песочница&raquo;. Может где-то месяц или два ссылка может не учитываться, потом начинает учитываться. Это логично, потому что средний срок коммерческий ссылки на самом деле невелик. Таким образом можно отсечь большое количество коммерческих ссылок и свести к нулю так называемое участие в линкообменниках (link-farms). Это тоже может привести к санкциям вплоть до полного обнуления значения ссылочных факторов. Поэтому нужно быть очень аккуратным при обмене ссылками.</p>
<p><strong>Региональная составляющая</strong> - в последнее время имеет очень большое значение. Сильное влияние имеет региональная привязка сайтов. Тонкий момент &ndash; геозависимые запросы, которые включают в себя название регионов. Например, [такси москва] &ndash;ранжируется, как геозависимый запрос для данного региона. На это тоже надо обращать внимание. Отмечаются определенные проблемы для мультирегиональных сайтов &ndash; сайтов, целевой аудиторией которых являются пользователи из разных регионов. Они заключаются в ограниченности числа привязываемых регионов к сайту. То есть, нельзя сделать очень много регионов.</p>
<p><strong>Рекомендации: </strong></p>
<ul>
<li>Выбор соответствующего домена 1-го уровня для сайта (напр., для России &ndash; .ru)</li>
<li>Присвоение сайту требуемого региона</li>
<li>Употребление названия требуемого региона в тексте документа</li>
<li>Получение входящих ссылок с сайтов требуемого региона &bull; Употребление названия требуемого региона в текстах входящих ссылок на документ</li>
<li>Добавление адреса организации в требуемом регионе</li>
</ul>
<p>Присвоение сайту требуемого региона. Если у нас мультирегиональный сайт, то необходимо создание отдельного сайта или хотя бы поддомена под каждый регион. Употребление названия требуемого региона в тексте документа &ndash; это уже то, что касается улучшения факторов.</p>
<p>Далее Сергей перешел к наиболее интересной группе факторов, которые в последнее время вызывают очень много вопросов &ndash; пользовательским факторам:</p>
<p><strong>Кликабельность сайта/страницы в выдаче:</strong></p>
<p>&bull; СTR <br /> &bull; временные показатели сессии <br />&bull; количественные показатели сессии</p>
<p><strong>Посещаемость сайта/страницы</strong></p>
<p>&bull; общая <br />&bull; по видам источников трафика &ndash; поисковый, ссылочный, закладочный и т.п.</p>
<p><strong>Поведение пользователя на сайте/странице</strong></p>
<p>&bull; активные действия пользователя <br /> &bull; проведенное время <br /> &bull; внутренние переходы <br />&bull; переходы с сайта на другие сайты</p>
<p><strong>Срезы факторов по типу пользователей</strong></p>
<p>&bull; пришедшие по данному по запросу <br />&bull; из данного региона</p>
<p>Несколько <strong>рекомендаций по улучшению поведенческой составляющей:</strong></p>
<p>&bull; Целевая страница должна быть лучшим ответом на запрос <br /> &bull; Целевая страница должна побуждать пользователя к выполнению действий <br /> &bull; Сайт должен внушать доверие пользователю <br /> &bull; Сайт должен быть удобным для пользователя <br /> &bull; Привлекательность сниппетов <br /> &bull; Кросс-браузерность <br /> &bull; Корректная кодировка <br />&bull; Стабильная работа сайта</p>
<p>Сергей подробно остановился на кликовых факторах, которые он считает ответственными за кликабельность сайта или документа в результатах выдачи. На его взгляд эти факторы имеют несбалансированное мощное влияние. Яндекс сейчас ставит кликстрим на эти кликовые факторы. Наблюдается, как за счет чисто кликовых факторов сайты с молодым возрастом, с не очень хорошим набором текстовых факторов, ссылочных и так далее могут из каких-то 500 мест за один присест попасть в топ-1, топ-2 по высококонкурентным запросам.</p>
<p>Получается, что кликовые факторы настолько мощные, что они просто бьют все остальные факторы. Положительная обратная связь наблюдается. Если ты не находишься в топ-10, в видимой части выдачи, то тебе никак нельзя улучшить кликовые факторы, по тебе просто не будут кликать. А если у тебя плохие кликовые факторы, то ты никогда не попадешь на первую страницу. То есть, получается, что кто первый встал, того и тапки, те получают какие-то клики и отсюда идет естественная реакция оптимизаторов на пресервацию топа &ndash; это накрутка этих факторов, потому что улучшить их никак нельзя, кроме как попав в топ.</p>
<p>В последнее время вокруг этих кликовых факторов очень много интересных событий происходит. Стали появляться сервисы, которые предлагают накрутку этих факторов. Судя по всему, Яндекс оказался не готов к такому повороту событий, потому что все эти вещи продолжали учитываться в течение года. Никаким образом Яндекс на них не реагировал, никаким образом трафик не фильтровал. Но все-таки, в конце концов, были приняты жесткие, почти полицейские меры против накрутчиков. Реакция оптимизаторов на такие вещи последовала странная &ndash; сразу стали накликивать факторы конкурентам. Другие прошло ушли в тень и продолжают разрабатывать закрытые инструменты для управления поведенческими. Такие инструменты эксплуатируются, ими пользуются, и они дают результаты.</p>
<p>Что же нас ждет дальше &ndash; очистка или &laquo;зачистка&raquo;? Сможет ли Яндекс очищать или же будет продолжать показательные полицейские спецоперации? Слишком жесткая очистка &ndash; приведет к уменьшению объемов учета органического кликстрима. Это не совсем корректно. Чем меньше данных, тем будет хуже для алгоритма. Слишком мягкая очистка &ndash; будет стимулировать кликфроды с целью просачивания сквозь фильтры, стимуляцию к поиску закрытых &laquo;беспалевных&raquo; методик. Продолжение &laquo;зачистки&raquo; - стимуляция &laquo;подстав&raquo; конкурентов, возникновение и развитие соответствующих сервисов, увеличение кликфрода, соответственно. Будут развиваться соответствующие сервисы - те, которые будут предлагать вместо накрутки скрутку конкурентов.</p>
<p>Что же будет дальше? Скорее всего, социальные сигналы. Сейчас поисковые машины активно рассуждают на тему учета различных сигналов социальных систем. Вот интересно, готовы ли они к тому, что эти вещи будут накручиваться еще похлеще, чем поведенческие факторы?</p>]]></description><pubDate>30.10.2012</pubDate></item><item><title>Полезные плагины для jQuery</title><link><![CDATA[https://www.group-business.ru/index.php?action=ViewArticle&id]]>=104</link><description><![CDATA[<h3>Валидация форм</h3>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" rel="nofollow" target="_blank">jQuery Validation</a><br /> <a href="http://www.dyve.net/jquery/?autohelp" rel="nofollow" target="_blank">Auto Help</a><br /> <a href="http://www.willjessup.com/sandbox/jquery/form_validator/form_validate.html" rel="nofollow" target="_blank">Simple jQuery form validation</a><br /> <a href="http://letmehaveblog.blogspot.com/2007/08/easy-client-side-web-forms-validations.html" rel="nofollow" target="_blank">jQuery XAV - form validations</a><br /> <a href="http://itgroup.com.ph/alphanumeric/" rel="nofollow" target="_blank">jQuery AlphaNumeric</a><br /> <a href="http://digitalbush.com/projects/masked-input-plugin" rel="nofollow" target="_blank">Masked Input</a><br /> <a href="http://www.dennydotnet.com/post/TypeWatch-jQuery-Plugin.aspx" rel="nofollow" target="_blank">TypeWatch Plugin</a><br /> <a href="http://jquery.com/plugins/project/TextLimiter" rel="nofollow" target="_blank">Text limiter for form fields</a><br /> <a href="http://www.shawngo.com/gafyd/index.html" rel="nofollow" target="_blank">Ajax Username Check with jQuery</a></p>
<h3>Загрузка файлов</h3>
<p><a href="http://www.phpletter.com/Demo/AjaxFileUpload-Demo/" rel="nofollow" target="_blank">Ajax File Upload</a><br /> <a href="http://www.pixeline.be/experiments/jqUploader/" rel="nofollow" target="_blank">jQUploader</a><br /> <a href="http://www.fyneworks.com/jquery/multiple-file-upload/" rel="nofollow" target="_blank">Multiple File Upload plugin</a><br /> <a href="http://www.appelsiini.net/projects/filestyle" rel="nofollow" target="_blank">jQuery File Style</a><br /> <a href="http://jquery.com/plugins/project/InputFileCSS" rel="nofollow" target="_blank">Styling an input type file</a><br /> <a href="http://digitalbush.com/projects/progress-bar-plugin" rel="nofollow" target="_blank">Progress Bar Plugin</a></p>
<h3>Формы &mdash; Select Box-плагины</h3>
<p><a href="http://jquery.sanchezsalvador.com/page/jquerycombobox.aspx" rel="nofollow" target="_blank">jQuery Combobox</a><br /> <a href="http://www.ajaxray.com/blog/2007/11/08/jquery-controlled-dependent-or-cascading-select-list-2/" rel="nofollow" target="_blank">jQuery controlled dependent (or Cascadign) Select List</a><br /> <a href="http://code.google.com/p/jqmultiselects/" rel="nofollow" target="_blank">Multiple Selects</a><br /> <a href="http://www.texotela.co.uk/code/jquery/select/" rel="nofollow" target="_blank">Select box manipulation</a><br /> <a href="http://code.google.com/p/jqueryselectcombo/" rel="nofollow" target="_blank">Select Combo Plugin</a><br /> <a href="http://www.msxhost.com/jquery/linked-selects/json/%20target=">jQuery - LinkedSelect</a><br /> <a href="http://remysharp.com/2007/09/18/auto-populate-multiple-select-boxes/" rel="nofollow" target="_blank">Auto-populate multiple select boxes</a><br /> <a href="http://www.sitespotting.it/esempi/002/" rel="nofollow" target="_blank">Choose Plugin (Select Replacement)</a></p>
<h3>Формы, поля ввода, чекбоксы и т.д.</h3>
<p><a href="http://www.malsup.com/jquery/form/" rel="nofollow" target="_blank">jQuery Form Plugin</a><br /> <a href="http://code.handlino.com/wiki/jquery-form" rel="nofollow" target="_blank">jQuery-Form</a><br /> <a href="http://envero.org/jlook/" rel="nofollow" target="_blank">jLook Nice Forms</a><br /> <a href="http://www.whitespace-creative.com/jquery/jNice/" rel="nofollow" target="_blank">jNice</a><br /> <a href="http://www.brainfault.com/2007/07/07/pin-plugin-reloaded/" rel="nofollow" target="_blank">Ping Plugin</a><br /> <a href="http://grzegorz.frydrychowicz.net/jquery_toggleformtext/" rel="nofollow" target="_blank">Toggle Form Text</a><br /> <a href="http://thoughts.kuzemchak.net/entry/toggleval-for-jquery/" rel="nofollow" target="_blank">ToggleVal</a><br /> <a href="http://www.pengoworks.com/workshop/jquery/field.plugin.htm" rel="nofollow" target="_blank">jQuery Field Plugin</a><br /> <a href="http://code.befruit.com/" rel="nofollow" target="_blank">jQuery Form&rsquo;n Field plugin</a><br /> <a href="http://www.texotela.co.uk/code/jquery/checkboxes/" rel="nofollow" target="_blank">jQuery Checkbox manipulation</a><br /> <a href="http://www.alcoholwang.cn/jquery/jTaggingDemo.htm" rel="nofollow" target="_blank">jTagging</a><br /> <a href="http://code.google.com/p/labelcheck/" rel="nofollow" target="_blank">jQuery labelcheck</a><br /> <a href="http://scott.sauyet.com/thoughts/archives/2007/03/31/overlabel-with-jquery/" rel="nofollow" target="_blank">Overlabel</a><br /> <a href="http://blog.amicoimmaginario.it/2007/08/28/jquery-plugin-3-state-radio-buttons/" rel="nofollow" target="_blank">3 state radio buttons</a><br /> <a href="http://sanisoft-demo.com/jquery/plugins/shiftcheckbox/" rel="nofollow" target="_blank">ShiftCheckbox jQuery Plugin</a><br /> <a href="http://digitalbush.com/projects/watermark-input-plugin" rel="nofollow" target="_blank">Watermark Input</a><br /> <a href="http://kawika.org/jquery/checkbox/" rel="nofollow" target="_blank">jQuery Checkbox (checkboxes with imags)</a><br /> <a href="http://www.softwareunity.com/sandbox/jqueryspinbtn/" rel="nofollow" target="_blank">jQuery SpinButton Control</a><br /> <a href="http://www.phpletter.com/form_builder/demo.html" rel="nofollow" target="_blank">jQuery Ajax Form Builder</a><br /> <a href="http://www.texotela.co.uk/code/jquery/focusfields/" rel="nofollow" target="_blank">jQuery Focus Fields</a><br /> <a href="http://home.iprimus.com.au/kbwood/jquery/timeEntry.html" rel="nofollow" target="_blank">jQuery Time Entry</a></p>
<h3>Плагины выбора даты, времени и цвета</h3>
<p><a href="http://marcgrabanski.com/code/ui-datepicker/" rel="nofollow" target="_blank">jQuery UI Datepicker</a><br /> <a href="http://kelvinluck.com/assets/jquery/datePicker/" rel="nofollow" target="_blank">jQuery date picker plugin</a><br /> <a href="http://code.google.com/p/jquery-timepicker/" rel="nofollow" target="_blank">jQuery Time Picker</a><br /> <a href="http://www.texotela.co.uk/code/jquery/timepicker/" rel="nofollow" target="_blank">Time Picker</a><br /> <a href="http://www.oakcitygraphics.com/jquery/clockpick/ClockPick.cfm" rel="nofollow" target="_blank">ClickPick</a><br /> <a href="http://labs.perifer.se/timedatepicker/" rel="nofollow" target="_blank">TimePicker</a><br /> <a href="http://acko.net/dev/farbtastic" rel="nofollow" target="_blank">Farbtastic jQuery Color Picker Plugin</a><br /> <a href="http://www.intelliance.fr/jquery/color_picker/" rel="nofollow" target="_blank">Color Picker by intelliance.fr</a></p>
<h3>Плагины рейтинга</h3>
<p><a href="http://www.phpletter.com/Demo/Jquery-Star-Rating-Plugin/" rel="nofollow" target="_blank">jQuery Star Rating Plugin</a><br /> <a href="http://www.m3nt0r.de/devel/raterDemo/" rel="nofollow" target="_blank">jQuery Star Rater</a><br /> <a href="http://riderdesign.com/articles/displayarticle.aspx?articleid=21" rel="nofollow" target="_blank">Content rater with asp.net, ajax and jQuery</a><br /> <a href="http://www.learningjquery.com/2007/05/half-star-rating-plugin" rel="nofollow" target="_blank">Half-Star Rating Plugin</a></p>
<h3>Плагины поиска</h3>
<p><a href="http://www.vulgarisoip.com/2007/08/06/jquerysuggest-11/" rel="nofollow" target="_blank">jQuery Suggest</a><br /> <a href="http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/" rel="nofollow" target="_blank">jQuery Autocomplete</a><br /> <a href="http://www.pengoworks.com/workshop/jquery/autocomplete.htm" rel="nofollow" target="_blank">jQuery Autocomplete Mod</a><br /> <a href="http://www.ajaxdaddy.com/demo-jquery-autocomplete.html" rel="nofollow" target="_blank">jQuery Autocomplete by AjaxDaddy</a><br /> <a href="http://dev.reach1to1.net/saurabh/jplugins/autocomplete/" rel="nofollow" target="_blank">jQuery Autocomplete Plugin with HTML formatting</a><br /> <a href="http://interface.eyecon.ro/docs/autocomplete" rel="nofollow" target="_blank">jQuery Autocompleter</a><br /> <a href="http://nodstrum.com/2007/09/19/autocompleter/" rel="nofollow" target="_blank">AutoCompleter (Tutorial with PHP&amp;MySQL)</a><br /> <a href="http://rikrikrik.com/jquery/quicksearch/" rel="nofollow" target="_blank">quick Search jQuery Plugin</a></p>
<h3>Редакторы и inline-редакторы</h3>
<p><a href="http://www.jaysalvat.com/jquery/jtageditor/" rel="nofollow" target="_blank">jTagEditor</a><br /> <a href="http://demo.wymeditor.org/demo.html" rel="nofollow" target="_blank">WYMeditor</a><br /> <a href="http://garage.pimentech.net/s%D1%81ri%D1%80ts_doc_jquery_jframe/" rel="nofollow" target="_blank">jQuery jFrame</a><br /> <a href="http://www.appelsiini.net/projects/jeditable" rel="nofollow" target="_blank">Jeditable - edit in place plugin for jQuery</a><br /> <a href="http://www.dyve.net/jquery/?editable" rel="nofollow" target="_blank">jQuery editable</a><br /> <a href="http://www.jdempster.com/category/jquery/disableTextSelect/" rel="nofollow" target="_blank">jQuery Disable Text Select Plugin</a><br /> <a href="http://15daysofjquery.com/edit-in-place-with-ajax-using-jquery-javas%D1%81ri%D1%80t-library/15/" rel="nofollow" target="_blank">Edit in Place with Ajax using jQuery</a><br /> <a href="http://davehauenstein.com/blog/archives/28" rel="nofollow" target="_blank">jQuery Plugin - Another In-Place Editor</a><br /> <a href="http://dev.iceburg.net/jquery/tableEditor/demo.php" rel="nofollow" target="_blank">TableEditor</a><br /> <a href="http://joshhundley.com/teditable-in-place-editing-for-tables/" rel="nofollow" target="_blank">tEditable - in place table editing for jQuery</a></p>
<h3>Аудио, видео, Flash, Audio, SVG и т.п.</h3>
<p><a href="http://www.contentwithstructure.com/extras/jmedia" rel="nofollow" target="_blank">jMedia - accessible multi-media embedding</a><br /> <a href="http://sourceforge.net/projects/jbedit/" rel="nofollow" target="_blank">JBEdit - Ajax online Video Editor</a><br /> <a href="http://www.sean-o.com/jquery/jmp3/" rel="nofollow" target="_blank">jQuery MP3 Plugin</a><br /> <a href="http://malsup.com/jquery/media/" rel="nofollow" target="_blank">jQuery Media Plugin</a><br /> <a href="http://jquery.lukelutman.com/plugins/flash/index.html" rel="nofollow" target="_blank">jQuery Flash Plugin</a><br /> <a href="http://www.solitude.dk/archives/embedquicktime/" rel="nofollow" target="_blank">Embed QuickTime</a><br /> <a href="http://keith-wood.name/svg.html" rel="nofollow" target="_blank">SVG Integration</a></p>
<h3>Фото/картинки/галереи изображений</h3>
<p><a href="http://jquery.com/demo/thickbox/" rel="nofollow" target="_blank">ThickBox</a><br /> <a href="http://leandrovieira.com/projects/jquery/lightbox/" rel="nofollow" target="_blank">jQuery lightBox plugin</a><br /> <a href="http://blog.joshuaeichorn.com/archives/2007/01/11/jquery-image-strip/" rel="nofollow" target="_blank">jQuery Image Strip</a><br /> <a href="http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html" rel="nofollow" target="_blank">jQuery slideViewer</a><br /> <a href="http://benjaminsterling.com/2007/09/09/jquery-jqgalscroll-photo-gallery/" rel="nofollow" target="_blank">jQuery jqGalScroll 2.0</a><br /> <a href="http://benjaminsterling.com/2007/10/02/jquery-jqgalviewii-photo-gallery/" rel="nofollow" target="_blank">jQuery - jqGalViewII</a><br /> <a href="http://benjaminsterling.com/2007/10/21/jqgalviewiii-proof-of-concept/" rel="nofollow" target="_blank">jQuery - jqGalViewIII</a><br /> <a href="http://opiefoto.com/articles/photoslider" rel="nofollow" target="_blank">jQuery Photo Slider</a><br /> <a href="http://joanpiedra.com/jquery/thumbs/" rel="nofollow" target="_blank">jQuery Thumbs - easily create thumbnails</a><br /> <a href="http://www.texotela.co.uk/code/jquery/jQIR/" rel="nofollow" target="_blank">jQuery jQIR Image Replacement</a><br /> <a href="http://www.gmarwaha.com/jquery/jcarousellite/index.php#what" rel="nofollow" target="_blank">jCarousel Lite</a><br /> <a href="http://projects.sevir.org/storage/jpanview/index.html" rel="nofollow" target="_blank">jQPanView</a><br /> <a href="http://sorgalla.com/projects/jcarousel/#Examples" rel="nofollow" target="_blank">jCarousel</a><br /> <a href="http://www.intelliance.fr/jquery/imagebox/" rel="nofollow" target="_blank">Interface Imagebox</a><br /> <a href="http://www.getintothis.com/blog/2006/10/12/image-gallery-using-jquery-interface-reflections/" rel="nofollow" target="_blank">Image Gallery using jQuery, Interface &amp; Reflactions</a><br /> <a href="http://realazy.org/lab/jquery/j-gallery/" rel="nofollow" target="_blank">simple jQuery Gallery</a><br /> <a href="http://chicagosocial.com/gallery/" rel="nofollow" target="_blank">jQuery Gallery Module</a><br /> <a href="http://www.eogallery.com/" rel="nofollow" target="_blank">EO Gallery</a><br /> <a href="http://flesler.blogspot.com/search/label/jQuery.ScrollShow" rel="nofollow" target="_blank">jQuery ScrollShow</a><br /> <a href="http://www.malsup.com/jquery/cycle/" rel="nofollow" target="_blank">jQuery Cycle Plugin</a><br /> <a href="http://www.projectatomic.com/en/flickr.htm" rel="nofollow" target="_blank">jQuery Flickr</a><br /> <a href="http://www.appelsiini.net/2007/9/lazy-load-images-jquery-plugin" rel="nofollow" target="_blank">jQuery Lazy Load Images Plugin</a><br /> <a href="http://www.sunsean.com/zoomi/" rel="nofollow" target="_blank">Zoomi - Zoomable Thumbnails</a><br /> <a href="http://remysharp.com/2007/03/19/a-few-more-jquery-plugins-crop-labelover-and-pluck/#crop" rel="nofollow" target="_blank">jQuery Crop - crop any image on the fly</a><br /> <a href="http://jquery.com/plugins/project/reflection" rel="nofollow" target="_blank">Image Reflection</a></p>
<h3>Google-карты</h3>
<p><a href="http://www.dyve.net/jquery/?googlemaps" rel="nofollow" target="_blank">jQuery Plugin googlemaps</a><br /> <a href="http://code.google.com/p/jmaps/" rel="nofollow" target="_blank">jMaps jQuery Maps Framework</a><br /> <a href="http://projects.sevir.org/storage/jqmaps/index.html" rel="nofollow" target="_blank">jQmaps</a><br /> <a href="http://olbertz.de/jquery/googlemap.html" rel="nofollow" target="_blank">jQuery &amp; Google Maps</a><br /> <a href="http://snippets.dzone.com/posts/show/4361" rel="nofollow" target="_blank">jQuery Maps Interface forr Google and Yahoo maps</a><br /> <a href="http://webrocket.ulmb.com/jmaps/" rel="nofollow" target="_blank">jQuery J Maps - by Tane Piper</a></p>
<h3>Игры</h3>
<p><a href="http://fmarcia.info/jquery/tetris/tetris.html" rel="nofollow" target="_blank">Tetris with jQuery</a><br /> <a href="http://64squar.es/" rel="nofollow" target="_blank">jQuery Chess</a><br /> <a href="http://www.bennadel.com/blog/623-jQuery-Demo-Mad-Libs-Word-Game.htm" rel="nofollow" target="_blank">Mad Libs Word Game</a><br /> <a href="http://www.alexatnet.com/node/68" rel="nofollow" target="_blank">jQuery Puzzle</a><br /> <a href="http://www.willjessup.com/sandbox/jquery/solar_system/rotator.html" rel="nofollow" target="_blank">jQuery Solar System (not a game but awesome jQuery Stuff)</a></p>
<h3>Таблицы, сетки</h3>
<p><a href="http://docs.jquery.com/Plugins/Tablesorter" rel="nofollow" target="_blank">UI/Tablesorter</a><br /> <a href="http://www.reconstrukt.com/ingrid/" rel="nofollow" target="_blank">jQuery ingrid</a><br /> <a href="http://www.trirand.com/blog/?p=13" rel="nofollow" target="_blank">jQuery Grid Plugin</a><br /> <a href="http://ideamill.synaptrixgroup.com/jquery/tablefilter/tabletest.htm" rel="nofollow" target="_blank">Table Filter - awesome!</a><br /> <a href="http://dev.iceburg.net/jquery/tableEditor/demo.php" rel="nofollow" target="_blank">TableEditor</a><br /> <a href="http://www.hanpau.com/jquery/unobtrusivetreetable.php" rel="nofollow" target="_blank">jQuery Tree Tables</a><br /> <a href="http://www.xn--javasrittoolbox-ctmo.com/jquery/#expandablerows" rel="nofollow" target="_blank">Expandable &ldquo;Detail&rdquo; Table Rows</a><br /> <a href="http://www.remotesynthesis.com/blog/index.cfm/2007/9/25/Sortable-Table-ColdFusion-Custom-Tag-with-jQueryUI" rel="nofollow" target="_blank">Sortable Table ColdFusion Costum Tag with jQuery UI</a><br /> <a href="http://flesler.blogspot.com/2007/10/jquerybubble.html" rel="nofollow" target="_blank">jQuery Bubble</a><br /> <a href="http://tablesorter.com/docs/" rel="nofollow" target="_blank">TableSorter</a><br /> <a href="http://www.webtoolkit.info/demo/jquery/scrollable/demo.html" rel="nofollow" target="_blank">Scrollable HTML Table</a><br /> <a href="http://p.sohei.org/stuff/jquery/columnmanager/demo/demo.html" rel="nofollow" target="_blank">jQuery column Manager Plugin</a><br /> <a href="http://p.sohei.org/stuff/jquery/tablehover/demo/demo.html" rel="nofollow" target="_blank">jQuery tableHover Plugin</a><br /> <a href="http://p.sohei.org/stuff/jquery/columnhover/demo/demo.html" rel="nofollow" target="_blank">jQuery columnHover Plugin</a><br /> <a href="http://makoomba.altervista.org/grid/" rel="nofollow" target="_blank">jQuery Grid</a><br /> <a href="http://motherrussia.polyester.se/jquery-plugins/tablesorter/" rel="nofollow" target="_blank">TableSorter plugin for jQuery</a><br /> <a href="http://joshhundley.com/teditable-in-place-editing-for-tables/" rel="nofollow" target="_blank">tEditable - in place table editing for jQuery</a><br /> <a href="http://www.hovinne.com/dev/jquery/chartotable/" rel="nofollow" target="_blank">jQuery charToTable Plugin</a><br /> <a href="http://www.ita.es/jquery/jquery.grid.columnSizing.htm" rel="nofollow" target="_blank">jQuery Grid Column Sizing</a><br /> <a href="http://www.ita.es/jquery/jquery.grid.rowSizing.htm" rel="nofollow" target="_blank">jQuery Grid Row Sizing</a></p>
<h3>Графики, презентации</h3>
<p><a href="http://worcesterwideweb.com/2007/06/04/jquery-wizard-plugin/" rel="nofollow" target="_blank">jQuery Wizard Plugin </a><br /> <a href="http://www.reach1to1.com/sandbox/jquery/jqchart/" rel="nofollow" target="_blank">jQuery Chart Plugin</a><br /> <a href="http://ejohn.org/apps/speed/" rel="nofollow" target="_blank">Bar Chart</a></p>
<h3>Границы, углы, фон</h3>
<p><a href="http://www.malsup.com/jquery/corner/" rel="nofollow" target="_blank">jQuery Corner</a><br /> <a href="http://blue-anvil.com/archives/anti-aliased-rounded-corners-with-jquery" rel="nofollow" target="_blank">jQuery Curvy Corner</a><br /> <a href="http://dev.jquery.com/%7Epaul/plugins/nifty/example.html" rel="nofollow" target="_blank">Nifty jQuery Corner</a><br /> <a href="http://illandril.net/jQuery/transparentCorners/" rel="nofollow" target="_blank">Transparent Corners</a><br /> <a href="http://www.methvin.com/jquery/jq-corner.html" rel="nofollow" target="_blank">jQuery Corner Gallery</a><br /> <a href="http://blog.brandonaaron.net/my-jquery-plugins/gradient/" rel="nofollow" target="_blank">Gradient Plugin</a></p>
<h3>Текст и ссылки</h3>
<p><a href="http://wanderinghorse.net/computing/javas%D1%81ri%D1%80t/jquery/spoilers/demo.html" rel="nofollow" target="_blank">jQuery Spoiler plugin</a><br /> <a href="http://johannburkard.de/blog/programming/javas%D1%81ri%D1%80t/highlight-javas%D1%81ri%D1%80t-text-higlighting-jquery-plugin.html" rel="nofollow" target="_blank">Text Highlighting</a><br /> <a href="http://www.jdempster.com/category/jquery/disableTextSelect/" rel="nofollow" target="_blank">Disable Text Select Plugin</a><br /> <a href="http://www.texotela.co.uk/code/jquery/newsticker/" rel="nofollow" target="_blank">jQuery Newsticker</a><br /> <a href="http://www.ollicle.com/2007/jun/03/jquery_lineheight_flexible.html" rel="nofollow" target="_blank">Auto line-height Plugin</a><br /> <a href="http://agencenp.net/textgrad/textgrad.html" rel="nofollow" target="_blank">Textgrad - a text gradient plugin</a><br /> <a href="http://kawika.org/jquery/linklook/" rel="nofollow" target="_blank">LinkLook - a link thumbnail preview</a><br /> <a href="http://rikrikrik.com/jquery/pager/#examples" rel="nofollow" target="_blank">pager jQuery Plugin</a><br /> <a href="http://rikrikrik.com/jquery/shortkeys/" rel="nofollow" target="_blank">shortKeys jQuery Plugin</a><br /> <a href="http://www.ollicle.com/eg/jquery/biggerlink" rel="nofollow" target="_blank">jQuery Biggerlink</a><br /> <a href="http://troy.dyle.net/linkchecker/" rel="nofollow" target="_blank">jQuery Ajax Link Checker</a></p>
<h3>Всплывающие подсказки</h3>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/" rel="nofollow" target="_blank">jQuery Plugin - Tooltip</a><br /> <a href="http://www.codylindley.com/blogstuff/js/jtip/" rel="nofollow" target="_blank">jTip - The jQuery Tool Tip</a><br /> <a href="http://examples.learningjquery.com/62/demo/index.html#examplesection" rel="nofollow" target="_blank">clueTip</a><br /> <a href="http://edgarverle.com/BetterTip/default.cfm" rel="nofollow" target="_blank">BetterTip</a><br /> <a href="http://ioreader.com/2007/05/15/flash-tooltips-using-jquery/" rel="nofollow" target="_blank">Flash Tooltips using jQuery</a><br /> <a href="http://www.texotela.co.uk/code/jquery/tooltipdemo/" rel="nofollow" target="_blank">ToolTip</a></p>
<h3>Меню, навигация</h3>
<p><a href="http://stilbuero.de/jquery/tabs_3/" rel="nofollow" target="_blank">jQuery Tabs Plugin - awesome! </a> [<a href="http://stilbuero.de/jquery/tabs_3/nested.html" rel="nofollow" target="_blank">demo nested tabs</a>]<br /> <a href="http://blog.cutterscrossing.com/index.cfm/2007/6/15/Updated-JQuery-Nested-Tab-Set-with-Demo" rel="nofollow" target="_blank">another jQuery nested Tab Set example (based on jQuery Tabs Plugin)</a><br /> <a href="http://www.sunsean.com/idTabs/" rel="nofollow" target="_blank">jQuery idTabs</a><br /> <a href="http://jdsharp.us/jQuery/plugins/jdMenu/" rel="nofollow" target="_blank">jdMenu - Hierarchical Menu Plugin for jQuery</a><br /> <a href="http://be.twixt.us/jquery/suckerFish.php" rel="nofollow" target="_blank">jQuery SuckerFish Style</a><br /> <a href="http://bassistance.de/jquery-plugins/jquery-plugin-treeview/" rel="nofollow" target="_blank">jQuery Plugin Treeview</a><br /> <a href="http://be.twixt.us/jquery/treeView.php" rel="nofollow" target="_blank">treeView Basic</a><br /> <a href="http://labs.activespotlight.net/jQuery/menu_demo.html" rel="nofollow" target="_blank">FastFind Menu</a><br /> <a href="http://www.getintothis.com/blog/2006/09/26/my-first-jquery-plugin-a-sliding-menu/" rel="nofollow" target="_blank">Sliding Menu</a><br /> <a href="http://gmarwaha.com/blog/?p=7" rel="nofollow" target="_blank">Lava Lamp jQuery Menu</a><br /> <a href="http://icon.cat/wiki/IconDock_En#iconDock_jQuery_Plugin" rel="nofollow" target="_blank">jQuery iconDock</a><br /> <a href="http://cherne.net/brian/resources/jquery.variations.html" rel="nofollow" target="_blank">jVariations Control Panel</a><br /> <a href="http://www.trendskitchens.co.nz/jquery/contextmenu/" rel="nofollow" target="_blank">ContextMenu plugin</a><br /> <a href="http://p.sohei.org/jquery-plugins/clickmenu/" rel="nofollow" target="_blank">clickMenu</a><br /> <a href="http://www.ndesign-studio.com/blog/mac/css-dock-menu" rel="nofollow" target="_blank">CSS Dock Menu</a><br /> <a href="http://webexpose.org/2006/12/28/jquery-pop-up-menu-tutorial/" rel="nofollow" target="_blank">jQuery Pop-up Menu Tutorial</a><br /> <a href="http://www.getintothis.com/blog/2006/09/26/my-first-jquery-plugin-a-sliding-menu/" rel="nofollow" target="_blank">Sliding Menu</a></p>
<h3>Аккордионы, слайдеры</h3>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-accordion/" rel="nofollow" target="_blank">jQuery Plugin Accordion</a><br /> <a href="http://fmarcia.info/jquery/accordion.html" rel="nofollow" target="_blank">jQuery Accordion Plugin Horizontal Way</a><br /> <a href="http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html" rel="nofollow" target="_blank">haccordion - a simple horizontal accordion plugin for jQuery</a><br /> <a href="http://dev.portalzine.de/index?/Horizontal_Accordion--print" rel="nofollow" target="_blank">Horizontal Accordion by portalzine.de</a><br /> <a href="http://berndmatzner.de/jquery/hoveraccordion/" rel="nofollow" target="_blank">HoverAccordion</a><br /> <a href="http://fmarcia.info/jquery/accordion.html" rel="nofollow" target="_blank">Accordion Example from fmarcia.info</a><br /> <a href="http://blog.evaria.com/wp-content/themes/blogvaria/jquery/index.php" rel="nofollow" target="_blank">jQuery Accordion Example</a><br /> <a href="http://jquery.com/files/demo/dl-done.html" rel="nofollow" target="_blank">jQuery Demo - Expandable Sidebar Menu</a><br /> <a href="http://www.andreacfm.com/examples/jQpanels/" rel="nofollow" target="_blank">Sliding Panels for jQuery</a><br /> <a href="http://jquery.andreaseberhard.de/toggleElements/" rel="nofollow" target="_blank">jQuery ToggleElements</a><br /> <a href="http://www.ndoherty.com/demos/coda-slider/" rel="nofollow" target="_blank">Coda Slider</a><br /> <a href="http://sorgalla.com/projects/jcarousel/#Examples" rel="nofollow" target="_blank">jCarousel</a><br /> <a href="http://www.reindel.com/accessible_news_slider/" rel="nofollow" target="_blank">Accesible News Slider Plugin</a><br /> <a href="http://icant.co.uk/sandbox/jquerycodeview/" rel="nofollow" target="_blank">Showing and Hiding code Examples</a><br /> <a href="http://gsgd.co.uk/sandbox/jquery/easing/" rel="nofollow" target="_blank">jQuery Easing Plugin</a><br /> <a href="http://sonspring.com/journal/jquery-portlets" rel="nofollow" target="_blank">jQuery Portlets</a><br /> <a href="http://jdsharp.us/jQuery/plugins/AutoScroll/" rel="nofollow" target="_blank">AutoScroll</a><br /> <a href="http://medienfreunde.com/lab/innerfade/" rel="nofollow" target="_blank">Innerfade</a></p>
<h3>Drag &amp; Drop</h3>
<p><a href="http://docs.jquery.com/UI/Draggables" rel="nofollow" target="_blank">UI/Draggables</a><br /> <a href="http://fromvega.com/wordpress/2007/07/14/easydrag-jquery-plugin/" rel="nofollow" target="_blank">EasyDrag jQuery Plugin</a><br /> <a href="http://sonspring.com/journal/jquery-portlets" rel="nofollow" target="_blank">jQuery Portlets</a><br /> <a href="http://dev.iceburg.net/jquery/jqDnR/" rel="nofollow" target="_blank">jqDnR - drag, drop resize</a><br /> <a href="http://interface.eyecon.ro/demos/drag.html" rel="nofollow" target="_blank">Drag Demos</a></p>
<h3>XML XSL JSON</h3>
<p><a href="http://www.jongma.org/webtools/jquery/xslt/" rel="nofollow" target="_blank">XSLT Plugin</a><br /> <a href="http://cgaskell.wordpress.com/2006/11/02/jquery-ajax-call-and-result-xml-parsing/" rel="nofollow" target="_blank">jQuery Ajax call and result XML parsing</a><br /> <a href="http://jquery.com/plugins/project/xmlObjectifier" rel="nofollow" target="_blank">xmlObjectifier - Converts XML DOM to JSON</a><br /> <a href="http://jquery.glyphix.com/" rel="nofollow" target="_blank">jQuery XSL Transform</a><br /> <a href="http://malsup.com/jquery/taconite/" rel="nofollow" target="_blank">jQuery Taconite - multiple Dom updates</a><br /> <a href="http://www.hovinne.com/blog/index.php/2007/07/15/132-jfeed-jquery-rss-atom-feed-parser-plugin" rel="nofollow" target="_blank">RSS/ATOM Feed Parser Plugin</a><br /> <a href="http://www.malsup.com/jquery/gfeed/" rel="nofollow" target="_blank">jQuery Google Feed Plugin</a></p>
<h3>Браузерные штучки</h3>
<p><a href="http://noteslog.com/post/how-to-fix-the-resize-event-in-ie/" rel="nofollow" target="_blank">Wresize - IE Resize event Fix Plugin</a><br /> <a href="http://jquery.khurshid.com/ifixpng.php" rel="nofollow" target="_blank">jQuery ifixpng</a><br /> <a href="http://jquery.andreaseberhard.de/pngFix/" rel="nofollow" target="_blank">jQuery pngFix</a><br /> <a href="http://www.crismancich.de/jquery/plugins/linkscrubber/" rel="nofollow" target="_blank">Link Scrubber - removes the dotted line onfocus from links</a><br /> <a href="http://www.matthewjrichards.co.uk/articles/2007/06/25/jquery-perciformes-the-entire-suckerfish-familly-under-one-roof" rel="nofollow" target="_blank">jQuery Perciformes - the entire suckerfish familly under one roof</a><br /> <a href="http://blog.brandonaaron.net/my-jquery-plugins/background-iframe/" rel="nofollow" target="_blank">Background Iframe</a><br /> <a href="http://jquery.com/plugins/project/QinIE" rel="nofollow" target="_blank">QinIE - for proper display of Q tags in IE</a><br /> <a href="http://webrocket.ulmb.com/ability/" rel="nofollow" target="_blank">jQuery Accessibility Plugin</a><br /> <a href="http://www.ogonek.net/mousewheel/jquery-demo.html" rel="nofollow" target="_blank">jQuery MouseWheel Plugin</a></p>
<h3>Окна сообщений и т.п.</h3>
<p><a href="http://trentrichardson.com/Impromptu/" rel="nofollow" target="_blank">jQuery Impromptu</a><br /> <a href="http://nadiaspot.com/jquery/confirm" rel="nofollow" target="_blank">jQuery Confirm Plugin</a><br /> <a href="http://dev.iceburg.net/jquery/jqModal/" rel="nofollow" target="_blank">jqModal</a><br /> <a href="http://www.ericmmartin.com/projects/simplemodal/" rel="nofollow" target="_blank">SimpleModal</a></p>
<h3>CSS</h3>
<p><a href="http://www.kelvinluck.com/article/switch-stylesheets-with-jquery" rel="nofollow" target="_blank">jQuery Style Switcher</a><br /> <a href="http://andykent.bingodisk.com/bingo/public/jss/" rel="nofollow" target="_blank">JSS - Javascript StyleSheets</a><br /> <a href="http://flesler.blogspot.com/2007/11/jqueryrule.html" rel="nofollow" target="_blank">jQuery Rule - creation/manipulation of CSS Rules</a><br /> <a href="http://www.designerkamal.com/jPrintArea/" rel="nofollow" target="_blank">jPrintArea</a></p>
<h3>DOM, Ajax и другие jQuery-плагины</h3>
<p><a href="http://flydom.socianet.com/" rel="nofollow" target="_blank">FlyDOM</a><br /> <a href="http://brandonaaron.net/docs/dimensions/#getting-started" rel="nofollow" target="_blank">jQuery Dimenion Plugin</a><br /> <a href="http://happygiraffe.net/blog/articles/2007/09/26/jquery-logging" rel="nofollow" target="_blank">jQuery Loggin</a><br /> <a href="http://jquery.com/plugins/project/metadata" rel="nofollow" target="_blank">Metadata - extract metadata from classes, attributes, elements</a><br /> <a href="http://johannburkard.de/blog/programming/javas%D1%81ri%D1%80t/inc-a-super-tiny-client-side-include-javas%D1%81ri%D1%80t-jquery-plugin.html" rel="nofollow" target="_blank">Super-tiny Client-Side Include Javascript jQuery Plugin</a><br /> <a href="http://humanized.com/weblog/2007/09/14/undo-made-easy-with-ajax-part-1/" rel="nofollow" target="_blank">Undo Made Easy with Ajax</a><br /> <a href="http://www.jasons-toolbox.com/JHeartbeat/" rel="nofollow" target="_blank">JHeartbeat - periodically poll the server</a><br /> <a href="http://www.appelsiini.net/projects/lazyload" rel="nofollow" target="_blank">Lazy Load Plugin</a><br /> <a href="http://blog.brandonaaron.net/2007/08/19/new-plugin-live-query/" rel="nofollow" target="_blank">Live Query</a><br /> <a href="http://jquery.offput.ca/every/" rel="nofollow" target="_blank">jQuery Timers</a><br /> <a href="http://www.joanpiedra.com/jquery/shareit/" rel="nofollow" target="_blank">jQuery Share it - display social bookmarking icons</a><br /> <a href="http://www.jdempster.com/category/code/jquery/cookiejar/" rel="nofollow" target="_blank">jQuery serverCookieJar</a><br /> <a href="http://ideamill.synaptrixgroup.com/?p=3" rel="nofollow" target="_blank">jQuery autoSave</a><br /> <a href="http://www.semicomplete.com/blog/geekery/jquery-interface-puffer.html" rel="nofollow" target="_blank">jQuery Puffer</a><br /> <a href="http://33rockers.com/jquery/iframe-demo/" rel="nofollow" target="_blank">jQuery iFrame Plugin</a><br /> <a href="http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/" rel="nofollow" target="_blank">Cookie Plugin for jQuery</a><br /> <a href="http://leftlogic.com/lounge/articles/jquery_spy2" rel="nofollow" target="_blank">jQuery Spy - awesome plugin</a><br /> <a href="http://www.learningjquery.com/2007/01/effect-delay-trick" rel="nofollow" target="_blank">Effect Delay Trick</a><br /> <a href="http://jquick.sullof.com/jquick/" rel="nofollow" target="_blank">jQuick - a quick tag creator for jQuery</a><a href="http://noteslog.com/post/metaobjects-11-released-today/" rel="nofollow" target="_blank"><br /> Metaobjects</a><br /> <a href="http://www.thunderguy.com/semicolon/2007/08/14/elementready-jquery-plugin/" rel="nofollow" target="_blank">elementReady</a></p>]]></description><pubDate>25.10.2012</pubDate></item></channel></rss>