PDA

Просмотр полной версии : Работа со StoreHouse из дома (удаленный доступ, принцип устройства)



SH
22.09.2011, 06:57
Очень часто возникает подобная тема, в особенности у меня в личных сообщениях, поэтому решил наконец расписать все для общего доступа.
Все ниженаписанное актуально для StoreHouse 4, для более старых версий кртко в конце.
Рассмотрены только легальные варианты. Вопрос "как украсть" не рассматривается.

Общая краткая теория, к тому же, на форуме кажется это нигде специально не рассказывалось.
StoreHouse 4 работает по схеме "клиент-сервер". Т.е., имеем сервер, на котором лежит база данных, и на этом сервере крутится движок базы данных, который принимает запросы от клиентов и собственно производит некоторую работу над базой данных - например, записывает новую запись или считывает информацию для построения отчетов.
И есть некоторое количество клиентов, которые могут быть установлены как на том же самом компьютере, где установлен сервер, так и на удаленных. Принципиально - клиент должен иметь доступ к серверу по сети. Это может быть локальная сеть или Интернет, не важно.
На клиенте никакая работа не производится, кроме отображения данных. Каждый раз, когда мы вызываем словарь, сохраняем документ, строим отчет - идет нужный запрос к движку базы данных, к серверу.
Проверка лицензионности подключения происходит на сервере. На сервере устанавливается ключ защиты, в котором прописывается, сколько клиентов могут одновременно работать с одной базой данных. Обратите внимание - самих баз данных может быть любое количество, клиентов тоже может быть любое количество, ограничивается именно число одновременных подключений! Т.е., например, у Вас может быть на ключе всего один клиент, 10 баз данных и 10 клиентов, которые работают каждый со своей базой.

Итак, мы можем захотеть работать с существующей базой или иметь свою для каких-то целей - учебы, подработки и т.п.

Вариант I. Метод работы с существующей базой с копированием базы домой

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

Надо:
1. Установить дома сервер;
2. На работе остановить сервер, скопировать базу;
3. Принести домой, запустить сервер;
4. После работы дома скопировать базу;
5. Скопировать базу на работе обратно, запустить сервер.

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

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

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

Вариант II. Метод работы с существующей базой по удаленному доступу

Идеальный вариант - требуется только наличия Интернет на сервере, где установлена база данных (точнее, нужен не "Интернет", что обычно пугает, а доступ через Интернет к единственному порту) и наличия Интернет дома.

В большинстве случаев требуется участие технических специалистов, правильно открыть доступ на сервер извне не просто. Надо не забывать о защите, хотя если все правильно сделать, опасности нет. В идеале надо поднять VPN-сеть, в крайнем случае - открыть один порт.

В ряде случаев о безопасности никто не думает и Интернет на сервере просто есть. В любом случае, практически никогда сервер не имеет "белого", доступного из Интернет адреса. Даже предприятие в целом очень редко имеет такой адрес. Ситуация может поменяется через несколько лет с приходом протокола IP6, но до этого еще надо дожить.
Пока проблема решается либо с помощью бесплатных промежуточных серверов, я часто использую Hamachi, также такая поддержка есть у TeamViewer. Также, можно поднять сервер VPN дома, если дома есть возможность получить прямой адрес, пусть даже не "белый", а "серый" (подробности о разнице в Интернет, кому интересно) - это доступно, например, пользователям московского "СТРИМ".
В общем, если есть Интернет, то проблема с соединением решаема.

Далее дома просто устанавливается клиент StoreHouse и работаем так, как будто сидим на работе. Разница только в скорости отклика - в зависимости от скорости Интернет на работе и дома. При плохой связи короткие запросы могут проходить, например, запрос одного документа или сохранение, а большие, типа построения списка или отчета, могут упорно не проходить.

Также есть возможность настроить доступ к рабочему столу на работе целиком. Иногда это может быть более удобно. Советую попробовать и так, и так, а потом выбрать, а точнее, иметь возможность обоих типов подключения и пользоваться тем или другим по необходимости. Например, импорт из R-Keeper желательно делать с удаленного рабочего стола.

Вариант III. Хотим иметь дома базу StoreHouse для работы или учебы, не
привязанную к какой-либо организации.

Из общей схемы понятно, что такая база данных должна находится на каком-то сервере. Опять же, есть два варианта, по смыслу схожие с работой с существующей базой:

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

2. Используем чей-то сервер и получаем к нему доступ через Интернет. Например, если есть работа, где стоит Shouse4, то можно положить там свою базу данных и подключаться к ней. В таком случае ничем не отличается от варианта II.

Такой сервис предоставляем и мы - можем положить у себя базу данных и настроить к ней удаленный доступ. Стоимость такой процедуры - 3000 рублей. Такая небольшая реклама :) Этим сервисом пользуются и некоторые организации, чтобы не держать у себя базу данных.

Послесловие. Кратко для старых версий.
В версии Shouse 3 (и 2) ключ требуется на каждом рабочем месте. Кроме того, работа с удаленным клиентом можно считать, что не поддерживается - связь крайне не устойчива. Так что либо вариант I, либо вариант II с доступом к удаленному рабочему столу.

Задавайте вопросы, если есть!

Brambrulet
15.11.2013, 22:53
Если нет постоянного айпишника то можно через DDNS. Многие роутеры сами по себе могут поддерживать обновление DDNS. Если нет, то решается программно.

А на клиентской машине с DDNS на localhost переадресую (средств в инете навалом, сами выбирайте). Ну и сторик уже цепляю на 127.0.0.1:xxxx. Ибо доменные имена он отказывается понимать. (Может я что-то не так делаю?)


А ещё есть один вообще уникальный случай - владелец одной кафешки пользуется исключительно гостевым WiFi и проводить себе интернет отказывается - жадный. А бухгалтерия далеко. Я пробовал UserJs скриптик сделать (который автоматически гостевой вход активирует) ... вроде нормально, но может по нескольку раз за день подвисать ... короче не вариант. Можно конечно прогу написать, но трудно рассчитывать, что он адекватно расплатится. Я даже предлагать не стал. Теперь у них бухгалтер-калькулятор с флешкой по утрам в кафешку бегает. Причём таскает базу не сторика, а кипера - в данном случае так намного надёжнее.

Jlazypb
08.09.2014, 12:02
Здравствуйте, скажите, а к r-keeper тоже можно удаленный доступ сделать?

sibgaba
08.09.2014, 12:46
r-keeper тоже можно удаленный доступ сделать?

7-ой версии - Да
6-ой версии - Нет.

В 6-ке возможен только 1 вариант: Установка ПО на серверную Винду и доступ по RDP.

SH
08.09.2014, 14:36
Установка ПО на серверную Винду и доступ по RDP.
Ну, это если требуется параллельная работа. Иногда обычного Teamviewer вполне достаточно.
Но общий смысл тот же - нужен удаленный доступ на рабочий стол, где все установлено.

apollon476
04.11.2014, 09:54
II Вариант, при прямом подключении всегда приходилось с файрвола добавлять в исключение тот порт который указан в подключении клиента. Думаю у меня безопасностью не пахнет :)

SH
04.11.2014, 21:25
Естественно, порт надо открывать, а не блокировать. Так что ж тут небезопасного?

apollon476
05.11.2014, 13:20
Имею ввиду FireWall никак не контролирует порт(открыт на www)/ Обычно сисАдмины ругаются когда так делаю

SH
05.11.2014, 13:36
Файрволл и не должен контролировать порт. Задача файрволла - открывать только нужное.

easilyto
18.05.2015, 10:20
Здравствуйте, я работаю с программой Store House удаленно через TeamViewer. Но когда в программе завожу новый товар или в RK менеджер новое блюдо в меню, удаленно не прописываются русские буквы, вместо них ??????? Подскажите, как я могу решить эту проблему? Может где настройки поменять?

Rus75lan
18.05.2015, 10:30
А вы смотрите, чтоб на удаленной машине тоже русская раскладка была. Просто на локальной машине стоит русская раскладка клавиатуры, а на удаленной - английская. Может там другой метод переключения языковой раскладки. Можете вручную поставить.

sibgaba
18.05.2015, 10:36
Но когда в программе завожу новый товар или в RK менеджер новое блюдо в меню, удаленно не прописываются русские буквы, вместо них ???????

Это проблема TV.
дело в том что когда вы переключаете раскладку у себя на компьютере (ALT+Shift или CTRL+Shift) она не переключается на удаленном компьютере. Или же переключается, но в противофазу (у вас русский, там английский). Вы можете проконтролировать это по значку раскладки в трее (у вас он изменится, на удаленном компьютере нет). Отсюда проблемы: ваш компьютер шлет русские буквы, удаленный этого не понимает.

Можно менять раскладку руками (мышкой) в 2-х местах (сперва у себя, потом на удаленном компе).

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

easilyto
18.05.2015, 23:49
Спасибо большое, очень помогли

Pluto
03.12.2015, 16:51
7-ой версии - Да
6-ой версии - Нет.

В 6-ке возможен только 1 вариант: Установка ПО на серверную Винду и доступ по RDP.

В корне с этим не согласен.
У меня из дома поднят VPN-сервер на реальном IP. К нему цепляется роутер сети предприятия так что видна сеть и при всё при этом ДОСовская станция с RK6 прекрасно себя чувствует . И я всех вижу и меня все видят. Виндовый кассовый сервер стоит отдельно на предприятии.

SH
03.12.2015, 21:43
Это у Вас роутер "правильный". И настроили прямыми руками. Что редкость в обоих случаях. В любом случае, Вы молодец. Но сути ответа это не меняет: в теме обсуждается не файловый доступ, а запуск программ. А для этого, как минимум, нужен ключ. Да, по VPN с ключом можно, но тема немножко о другом.

sibgaba
04.12.2015, 09:04
В корне с этим не согласен.
То что вы описываете - это рабочий вариант, но он подразумевает что у вас дома стоит ключ защиты (либо ПО ломанное).
Если вы забрали ключ домой, то в ресторане его нет (и там запустить редактор/отчеты не смогут). Либо нужен доп ключ (отдельные деньги) что бы один был у вас дома, второй в ресторане.

Вся тема с VPN это по сути организация удаленного доступа к файлам БД.

amnch
11.03.2016, 20:57
Задам сюда свой вопрос
Возникла задача подключиться к базе SH на предприятии.
На предприятии стоит WIN2003 он же роутер с белым IP на нем поднят Traffic Inspector.
Есть еще 2 сервера WIN2003 на одном R-KEEPER на другом SH.

Так вот проблема: из вне через роутер открыт доступ на сервер SH, но коннекта нет.
Из внутренней сети само собой база SH видна и все работает.
после пыток с пристрастием обнаружил что если сервер SH поднят на WINXP, то из вне доступ проходит,
попробовал прорубить терминальный доступ, то такая же фигня на win2003 не хочет лезть, а на компы с XP пожалуйста.
После гуглования нашел что у одного была такая проблема, а как вылечил не помнит, может кто скажет что там надо в win2003 ковырнуть, чтоб из вне пустил.

SH
11.03.2016, 21:18
Я залезал сюда:
Настройка доступа к порту базы
Администрирование - Маршрутизация и удаленный доступ - "Имя компа" (локально) - IP-маршрутизация - NAT/Простой брандмауэр - Внешний интерфейс (ну или нужный) - Службы и порты - Добавить.
Оба порта - порты базы. Адрес - собственно адрес интерфейса.

amnch
12.03.2016, 09:59
Да там все прописано, главное если в этом пункте ставить IP адрес машины с WinXP, оставляя все порты как есть, то коннект из вне проходит, а если ставить IP WIN2003 то хрен. Мистика какая-то. Может win2003 при получении пакета смотрит откуда он, если из вне то не пускает, а если из внутренней сети то пожалуйста.

SH
12.03.2016, 14:44
Тогда надо дальше настройки бранмауэра копать.

sibgaba
12.03.2016, 15:32
Может быть проще железный роутер поставить?

amnch
13.03.2016, 13:38
Попробую чистую win2003 поставлю и попробую на нее подключиться, дальше будем думать

Draw
23.05.2016, 15:54
У меня вопрос по подключению к серверу по имени. Если в настройках указать имя сервера и порт, то при подключении выдает ошибку связи.48844885
По адресу все работает. Как победить?

SH
23.05.2016, 17:33
Никак, в настройках должен быть адрес. В чем проблема? Если нужно имя - оно пишется в поле "Псевдоним".

Draw
23.05.2016, 18:09
Никак, в настройках должен быть адрес. В чем проблема? Если нужно имя - оно пишется в поле "Псевдоним".

Мне нужен доступ к серверу через интернет. Например, сервер yandex.ru, а адрес 77.88.55.66 Если я впишу адрес, то все работает, а если имя, то не работает. Пробовал имя вписывать в псевдоним. Разницы никакой. И без адреса сервера он не дает сохранить настройки.

SH
23.05.2016, 18:46
Имя и не должно работать. Имя - это для локальной базы. Или для сети NETBIOS.
По tcp/ip соединение только по адресу. Чем не нравится прописывание адреса?

Draw
23.05.2016, 19:26
Имя и не должно работать. Имя - это для локальной базы. Или для сети NETBIOS.
По tcp/ip соединение только по адресу. Чем не нравится прописывание адреса?

Адрес динамический. Его нужно будет постоянно менять. Для домохозяек неприемлемо.

SH
23.05.2016, 19:34
Ну имя тут не спасет, это ж не волшебство - каким образом должно найтись имя сервера где-то неизвестно где в интернет за динамическим айпи?
Надо поднимать VPN. Для домохозяек вполне достаточно VPN Teamviewer.

---------- Добавлено в 18:34 ---------- Предыдущее сообщение было размещено в 18:33 ----------

А dns имя хаус не понимает, да :(

Draw
23.05.2016, 19:34
Ну имя тут не спасет, это ж не волшебство - каким образом должно найтись имя сервера где-то неизвестно где в интернет за динамическим айпи?
Надо поднимать VPN. Для домохозяек вполне достаточно VPN Teamviewer.

Да с именем как раз все просто было бы, если бы он его понимал. Я это один раз победил уже. Вроде как через реестр. Но спустя два года не помню как это делается.

И Head Office понимает по имени. Почему этот не хочет?

SH
23.05.2016, 19:41
Вообще, если сильно надо, можно попробовать хитрые программки с перенаправлением траффика. Но уверен, что это тоже решение не для домохозяек. В качестве входящего айпишника указывать локальный и локальный порт; в качестве удаленного - dns-адрес и удаленный порт. В теории должно работать. Но VPN поднять проще.

---------- Добавлено в 18:41 ---------- Предыдущее сообщение было размещено в 18:36 ----------


Да с именем как раз все просто было бы, если бы он его понимал. Я это один раз победил уже. Вроде как через реестр. Но спустя два года не помню как это делается.
Любопытно. Ну так можно попробовать в реестре найти запись и поправить.

Draw
23.05.2016, 19:43
Вообще, если сильно надо, можно попробовать хитрые программки с перенаправлением траффика. Но уверен, что это тоже решение не для домохозяек. В качестве входящего айпишника указывать локальный и локальный порт; в качестве удаленного - dns-адрес и удаленный порт. В теории должно работать. Но VPN поднять проще.

---------- Добавлено в 18:41 ---------- Предыдущее сообщение было размещено в 18:36 ----------


Любопытно. Ну так можно попробовать в реестре найти запись и поправить.

Тогда пользователь получит доступ к внутренней сети, а нам это не нужно.

SH
23.05.2016, 19:48
С перенаправлением траффика? Нет, там один порт.
Но если Вы уверены, что хаус должен понимать интернет-имя, то лучше докопаться в эту сторону. Я так ни разу не настраивал.

Draw
23.05.2016, 20:42
С перенаправлением траффика? Нет, там один порт.
Но если Вы уверены, что хаус должен понимать интернет-имя, то лучше докопаться в эту сторону. Я так ни разу не настраивал.

Ушел копать. Если найду как - напишу.

Mr.Wizard
25.05.2016, 09:49
На трекере выкладывали доработанную библиотеку sdbcli.dll, которая вроде как умеет преобразовывать dns имена.

Draw
25.05.2016, 10:23
На трекере выкладывали доработанную библиотеку sdbcli.dll, которая вроде как умеет преобразовывать dns имена.

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