<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=ExternalDBase.UseProxy</id>
	<title>ExternalDBase.UseProxy - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=ExternalDBase.UseProxy"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=ExternalDBase.UseProxy&amp;action=history"/>
	<updated>2026-04-04T13:06:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=ExternalDBase.UseProxy&amp;diff=4570&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=ExternalDBase.UseProxy&amp;diff=4570&amp;oldid=prev"/>
		<updated>2023-06-08T10:11:06Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 10:11, 8 June 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=ExternalDBase.UseProxy&amp;diff=4569&amp;oldid=prev</id>
		<title>1&gt;Admin: Created page with &quot;{{infobox function |name=UseProxy |object=Объект базы данных |caption=Задает прокси сервер для соединения |type=1 |status=2...&quot;</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=ExternalDBase.UseProxy&amp;diff=4569&amp;oldid=prev"/>
		<updated>2023-05-17T10:02:09Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{infobox function |name=UseProxy |object=&lt;a href=&quot;/index.php/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&quot; title=&quot;Объект базы данных&quot;&gt;Объект базы данных&lt;/a&gt; |caption=Задает прокси сервер для соединения |type=1 |status=2...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=UseProxy&lt;br /&gt;
|object=[[Объект базы данных]]&lt;br /&gt;
|caption=Задает прокси сервер для соединения&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в строку, неверные аргументы&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Объект IP]]}}&lt;br /&gt;
Функция настраивает прокси сервер для использования с соединением к данной внешней БД. Функция должна быть вызвана до фактического соединения с удаленной стороной на неактивном объекте, затем этот объект может использоваться совместно с функцией [[ExternalDBase.Connect|Connect]]. В данный момент поддерживаются только следующие типы прокси-соединений: '''NGRC''', '''NGRCCHANNEL''', остальные типы прокси будут выдавать исключение при попытке соединения.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|ExternalDBase.}}'''UseProxy'''({{Optional|&amp;lt;Адрес и порт прокси сервера (STRING)&amp;gt;}}'',&amp;lt;Тип прокси сервера (STRING)&amp;gt;''{{Optional|,&amp;lt;Имя пользователя прокси (STRING)&amp;gt;,&amp;lt;Пароль пользователя прокси (STRING)&amp;gt;,&amp;lt;Дополнительные параметры прокси (STRING)&amp;gt;}})&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Адрес и порт прокси сервера (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Адрес прокси сервера задается в виде &amp;lt;code&amp;gt;&amp;lt;Доменное имя сервера, адрес IPv4&amp;gt;:&amp;lt;Номер порта&amp;gt;&amp;lt;/code&amp;gt; (пример: &amp;lt;code&amp;gt;127.0.0.1:8080&amp;lt;/code&amp;gt;). На данный момент возможно подключение только с помощью IPv4. {{Optional}} Для некоторых видов прокси (к примеру, ''SFSERVER''), этот аргумент не используется и должен быть пропущен.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Тип прокси сервера (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Указание на тип используемого прокси сервера. Возможны следующие значения:&lt;br /&gt;
** '''SOCKS4''', '''SOCKS4A''', '''SOCKS5''', '''HTTP''', '''HTTPS''', '''SFSERVER''' -- Данные типы прокси серверов пока не поддерживаются при соединении к внешней БД.&lt;br /&gt;
** '''NGRC''', '''NGRCCHANNEL''' -- позволяет перенаправить TCP соединение через сервер ngRC или сервер перенаправления (каналов), к которому в свою очередь соединен сервер ngRC, отвечающий по именованному каналу. Использование прокси такого рода удобно, так как серверы ngRC могут использоваться в организации для удаленного администрирования сети. Сервер каналов ngRC позволяет использовать удаленное администрирование в случае, когда удаленный сервер не имеет постоянного входящего адреса IP. С помощью этого типа прокси программа может получить доступ к сервисам, находящимся в сети, единственный способ подключения к которой -- сервер ngRC. Поддерживаются как шифрованные соединения (соединения с ключами), так и не шифрованные соединения, как для прямых серверов ngRC, так и для серверов каналов ngRC. В прокси соединении будет отказано, пока на ngRC сервере в его утсановках или в установках соединяющегося ключа не будут '''разрешены адрес и порт перенаправления''', к которым происходит соединение. Для соответствующих установок сервера, см. статью [[Установки сервера]]. Для установки соединения с прямыми серверами ngRC, необходимо корректно заполнить первый (адрес и порт сервера ngRC), третий (бинарный ключ соединения, если соединение шифрованное) и четвертый (пароль сервера ngRC) аргументы. Для установки соединения с сервером каналов ngRC, необходимо корректно заполнить первый (адрес и порт сервера каналов ngRC), третий (бинарный ключ соединения, если соединение шифрованное), четвертый (пароль сервера ngRC)и пятый (пароль сервера каналов и имя канала) аргументы. См. описание соответствующих аргументов. &lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Имя пользователя прокси (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} В зависимости от типа прокси сервера, аргумент задает:&lt;br /&gt;
** ''NGRC'', ''NGRCCHANNEL'': Если аргумент не задан или является пустой строкой, будет произведена попытка установки нешифрованного соединения с сервером ngRC (обычный порт сервера 37887), иначе задает ANSI строку с бинарным файлом ключа пользователя для установки шифрованного соединения (обычный порт сервера 37932).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Пароль пользователя прокси (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} В зависимости от типа прокси сервера, аргумент задает:&lt;br /&gt;
** ''NGRC'', ''NGRCCHANNEL'': пароль ngRC сервера.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Дополнительные параметры прокси (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Задает дополнительные параметры в зависимости от типа прокси-сервера. Возможны следующие значения аргумента:&lt;br /&gt;
** Для ''NGRCCHANNEL'' прокси аргумент задает пароль сервера каналов и имя ngRC канала, к которому необходимо подключиться. Связка задается в виде: &amp;lt;code&amp;gt;[&amp;lt;Пароль сервера каналов&amp;gt;]&amp;lt;Знак 1&amp;gt;&amp;lt;Имя канала для подключения&amp;gt;&amp;lt;/code&amp;gt;. &amp;quot;Знак 1&amp;quot; представляет собой знак с кодом 1, который можно получить вызовом &amp;lt;code&amp;gt;Chr(1)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Здесь дается пример ключа, кодированного в base64. Полный текст ключа не публикуется в примере.&lt;br /&gt;
стрКлюч:=DecodeString(&amp;quot;cmNLYwA...................................................................................................&amp;quot;+&lt;br /&gt;
  &amp;quot;........................................................................................................................&amp;quot;+&lt;br /&gt;
  &amp;quot;........................................................................................................................&amp;quot;+&lt;br /&gt;
  &amp;quot;..............................AAAAAA==&amp;quot;,&amp;quot;base64&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
db2:=exdb.create();&lt;br /&gt;
db2.UseProxy(&amp;quot;someserver.ru:45556&amp;quot;,&amp;quot;NGRCCHANNEL&amp;quot;,стрКлюч,&amp;quot;&amp;quot;,&amp;quot;ПарольОтСервераКаналов&amp;quot;+Chr(1)+&amp;quot;Наименование канала (клиента)&amp;quot;);&lt;br /&gt;
db2.Connect(&amp;quot;127.0.0.1:13521:ПарольОтБазыSF&amp;quot;,&amp;quot;Администратор&amp;quot;,&amp;quot;ПарольПользователяВБазе&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
aEl:=db2.Ref.УсловияПродажИМаркетинговыеАкции;&lt;br /&gt;
If aEl.Find(&amp;quot;Name&amp;quot;,&amp;quot;Запрет продаж алкоголя&amp;quot;) Then&lt;br /&gt;
  Стр:=aEl.Условие;&lt;br /&gt;
  Message(&amp;quot;Найдено условие для магазина &amp;quot;+aEl.Parent()+&amp;quot;:&amp;quot;,&amp;quot;I&amp;quot;);&lt;br /&gt;
  Message(Стр);&lt;br /&gt;
Else&lt;br /&gt;
  Message(&amp;quot;Для магазина &amp;quot;+aEl.Parent()+&amp;quot; условие не найдено!&amp;quot;,&amp;quot;!&amp;quot;);&lt;br /&gt;
EndIf;&lt;br /&gt;
db2.Disconnect;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
</feed>