НиС ΠΈΠ·Π΄ΠΈΠ³Π°ΠΌΠ΅ ΡΡŠΡ€Π²ΡŠΡ€Π° 1c с ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡƒΠ΅Π± услугитС Π½Π° Linux

НиС ΠΈΠ·Π΄ΠΈΠ³Π°ΠΌΠ΅ ΡΡŠΡ€Π²ΡŠΡ€Π° 1c с ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡƒΠ΅Π± услугитС Π½Π° Linux

ДнСс Π±ΠΈΡ… искал Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π΄ΠΈΠ³Π½Π΅Ρ‚Π΅ 1c ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° linux debian 9 с ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡƒΠ΅Π± услуги.

Какво прСдставляват ΡƒΠ΅Π± услугитС 1c?

Π£Π΅Π± услуги Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° интСграция с Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми. Π’ΠΎΠ²Π° Π΅ срСдство Π·Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° SOA (Service-Oriented Architecture) – сСрвизно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, която Π΅ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡΡ‚ стандарт Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° прилоТСния ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° създаванС Π½Π° html страница с Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΎΡ‚ всяко Π΄Ρ€ΡƒΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈ.

ПлюсовС - Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±ΡŠΡ€Π·ΠΎ (Π΄ΠΎΡ€ΠΈ с доста голямо количСство Π΄Π°Π½Π½ΠΈ), сравнитСлно ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

ΠŸΡ€ΠΎΡ‚ΠΈΠ² - Π²Π°ΡˆΠΈΡΡ‚ 1c програмист Ρ‰Π΅ Π²ΠΈ ΠΌΡ€ΡŠΠ½ΠΊΠ° дълго Π²Ρ€Π΅ΠΌΠ΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ пишС ΡƒΠ΅Π± услуга Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. НСщото Π΅ ΠΌΠ½ΠΎΠ³ΠΎ странно Π² писанСто.

Няма Π΄Π° Ρ‚ΠΈ ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΠ°ΠΊ Π΄Π° пишСш Π£Π΅Π± сСрвиз... Π©Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚Π΅ Π½Π° Linux ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π½Π°Ρ‚Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΌΠ°Π»ΠΊΠΎ Π·Π° инсталиранСто Π½Π° 1c ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° Linux.

И Ρ‚Π°ΠΊΠ°, ΠΈΠΌΠ°ΠΌΠ΅ debian 9 netinst, Π½Π΅ΠΊΠ° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ:

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ PostgresPro (Моля, ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Π½Π΅ Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ ΠΈ сС разпространява само ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅Ρ‚ΠΎ с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅):

# apt-get update -y

# apt-get install -y wget gnupg2 || apt-get install -y gnupg

# wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -

# echo deb http://repo.postgrespro.ru/pgpro-archive/pgpro-11.4.1/debian stretch main > /etc/apt/sources.list.d/postgrespro-std.list

# apt-get update -y
# apt-get install -y postgrespro-std-11-server
# /opt/pgpro/std-11/bin/pg-setup initdb
# /opt/pgpro/std-11/bin/pg-setup service enable
# service postgrespro-std-11 start
# su - postgres
# /opt/pgpro/std-11/bin/psql -U postgres -c "alter user postgres with password 'Π’Π°ΡˆΠŸΠ°Ρ€ΠΎΠ»ΡŒ';"

НСка ΠΊΠ°ΠΆΠ΅ΠΌ Π½Π° postgresql Π΄Π° ΡΠ»ΡƒΡˆΠ° всички адрСси, Π° Π½Π΅ само localhost

# nano /var/lib/pgpro/std-11/data/postgresql.conf

Π Π°Π·ΠΊΠΎΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ ΠΊΠΎΠΈ адрСси Π΄Π° ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅:

...
#listen_addresses = 'localhost'
...

На

...
listen_addresses = '*'
...

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π½Π΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‚ Π½Π°ΡˆΠ°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° Π΄Π° Π²Π»ΠΈΠ·Π°Ρ‚

# nano /var/lib/pgpro/std-11/data/pg_hba.conf

НСка ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ:

# IPv4 Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ:
хост всички всички 127.0.0.1/32 md5

Π½Π°

хост всички всички 192.168.188.0/24 md5
хост всички всички 127.0.0.1/32 md5

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ инсталации Π½Π° Postgres Π·Π° 1s Ρ‚ΡƒΠΊ.

ОсвСн Ρ‚ΠΎΠ²Π° поставямС 1s ΡΡŠΡ€Π²ΡŠΡ€Π°.

ΠšΠ°Ρ‡Π΅Ρ‚Π΅ Π°Ρ€Ρ…ΠΈΠ²Π°, ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ ΠΎΡ‚ сайта 1c, Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° (Π² моя случай deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

ΠΎΡ‰Π΅ няколко Π΄Ρ€Π΅Π±Π½ΠΈ Π½Π΅Ρ‰Π°:

# apt install imagemagick unixodbc libgsf-bin

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° инсталирамС Apache2

# apt install apache2

Π§Ρ€Π΅Π· административната ΠΊΠΎΠ½Π·ΠΎΠ»Π° ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° 1c създавамС Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ попълвамС Π½Π°ΡˆΠ°Ρ‚Π° конфигурация ...

Π‘Π΅Π³Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°ΠΌΠ΅ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ:

ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° с 1s.

# cd /opt/1C/v8.3/x86_64/

./webinst -publish -apache24 -wsdir Test -dir /var/www/test/ -connstr  "Srvr=10.7.12.108;Ref=test;" -confPath /etc/apache2/apache2.conf

ΠšΠ°Ρ‡Π²Π°ΠΌΠ΅ сС във var/www/test/ ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ сС появи Ρ‚Π°ΠΌ.

# cd /var/www/test
# nano default.vrd

Β«

v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
Π±Π°Π·Π°="/ВСст"
ib="Srvr=192.168.188.150;Ref=ВСст;">
<standardOdata enable=Β«falseΒ»
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

Β«

Π’ΠΎΠ²Π° са схСмитС, ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° стартиранС Π½Π° ΡƒΠ΅Π± ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° 1c ... сСга ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° тСстова Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° Π½Π° адрСс β€žhttp://ServerAddress/Testβ€œ (ΠΌΠ°Π»ΠΊΠΈΡ‚Π΅ Π±ΡƒΠΊΠ²ΠΈ са Π²Π°ΠΆΠ½ΠΈ! Π’ΠΎΠ²Π° Π΅ Linux) ΠΈΠ»ΠΈ Π΄Π° посочитС β€žΠ±Π°Π·ΠΎΠ² Ρ‚ΠΈΠΏ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅β€œ адрСс Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° http://ServerAddress/Test" ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

НО

Но ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° ΡƒΠ΅Π± услугитС? (Π² моята тСстова конфигурация ΠΈΠΌΠ° Π΄Π²Π° ΠΎΡ‚ тях: WebBuh Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° Π΄Π°Π½Π½ΠΈ със счСтоводството ΠΈ toplog интСграция с wms систСмата Π½Π° Π΅Π΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Π°Ρ‚Π° Ρ„ΠΈΡ€ΠΌΠ°).

Π•, Π½Π΅ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ няколко Ρ€Π΅Π΄Π° към нашия vrd Ρ„Π°ΠΉΠ»...


v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
Π±Π°Π·Π°="/TestWeb"
ib="Srvr=IP_адрСс;Ref=TestWebServ">
<standardOdata enable=Β«falseΒ»
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

# Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚ начинаСтся ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ Π²Π΅Π±-сСрвисы
<point name="WebBuh" # Имя Π²Π΅Π±-сСрвиса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅
alias="Web_buh.1cws" # Web_buh.1cws - алиас Π²Π΅Π±-сСрвиса Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅
enable="true" # дальшС я Π΄ΡƒΠΌΠ°ΡŽ строки ΠΈ Ρ‚Π°ΠΊ понятны
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Π± сСрвис
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

спаси.

И сСга Π½Π°ΡˆΠ°Ρ‚Π° ΡƒΠ΅Π± услуга Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π½Π° адрСс "http://ServerAddress/Test/Web_buh.1cws?"

Π—Π°Ρ‰ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π° Ρ€ΡŠΠΊΠ°?

Въй ΠΊΠ°Ρ‚ΠΎ Π½Π°ΡˆΠΈΡΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ Π΅ Π±Π΅Π· Π³Ρ€Π°Ρ„ΠΈΡ‡Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄Π° стартиратС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π΄Π° Π³ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚Π΅ с ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ срСдства. ΠžΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈΡΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€, инсталиран Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΡƒΠ΅Π± услуги Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ трябва Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ конфигурацията Ρ€ΡŠΡ‡Π½ΠΎ спорСд описания ΠΏΠΎ-Π³ΠΎΡ€Π΅ шаблон.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° .vrd - Благодаря Ρ‚ΠΈ Π’ΠΈΡ…ΠΎΠ½Π’

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€