Гэр / Компьютер эзэмших / 1c вэб өргөтгөл. Нийтлэгдсэн мэдээллийн санд вэб хөтчөөр холбогдож байна

1c вэб өргөтгөл. Нийтлэгдсэн мэдээллийн санд вэб хөтчөөр холбогдож байна

Даалгавар бол цонхонд суулгасан IIS вэб серверийг өргөж, 1c суурийг 8.3 платформ дээр нийтлэх явдал юм. Үүнд хэцүү зүйл байхгүй.

Virtualka 2008 r2 Enterprise сервер дээр spinning хийх боломжтой. Орон нутгийн администраторын эрх. Платформ 1С 8.3.6.2041. Хоосон мэдээллийн сан үүсгэцгээе. Ингээд эхэлцгээе. Манай VK группт нэгдээрэй! Засвар хийж байна! Ухаалаг семинар!

Вэб серверийн үүргийг (IIS) суулгаж байна

Эхлээд та вэб серверийн үүргийг суулгах хэрэгтэй. Бид нээж байна Серверийн менежер, зүүн талд байгаа салбарыг сонгоно уу Дүрүүд, баруун товчийг дарна уу Дүр нэмэх.

Бид серверийн үүргийг сонгох алхам руу хүрч, Вэб серверийн (IIS) хажууд байгаа нүдийг чагтална. Дараагийн товчийг дарна уу. Одоо та суулгах дүрийн үйлчилгээг зөв сонгох хэрэгтэй. Доорх дэлгэцийн зурган дээрх шиг чагтуудыг яг таг хийнэ үү.

Бид суулгацыг дуусгана. Дүр нэмэх шидтэн тодорхой хугацааны дараа үүрэг болон бүх үүргийн үйлчилгээг амжилттай суулгасан тухай бидэнд мэдэгдэх ёстой.

Одоо бид бүх зүйл бидний хувьд сайн болсон эсэхийг шалгах хэрэгтэй. Дурын хөтчийг нээгээд хаяг руу очно уу http://localhost. Бид ийм баяр баясгалантай дүр зургийг харах ёстой:


платформ болон эд ангиудыг суурилуулах 1s

Энэ нь вэб сервер зөв ажиллаж, бүх зүйл хэвийн ажиллаж байна гэсэн үг юм. Ингээд 1с рүү шилжье. Та платформ үүсгэх хэрэгтэй. Платформыг суулгахад анхаарах цорын ганц зүйл бол дараахь зүйлийг сонгох явдал юм.

  • 1С: Аж ахуйн нэгж
  • Вэб серверийн өргөтгөлүүд
нэвтрэх эрхийг тохируулах

Эхний алхам бол вэб серверийн үндсэн директортой хавтасны эрхийг тохируулах явдал юм. Хэрэв юу ч өөрчлөгдөөгүй бол анхдагчаар өөрчлөгдөөгүй C:\inetpub\wwwroot. Фолдер руу оч C:\inetpub\хавтас сонгоно уу wwwroot,дээр нь хулганы баруун товчийг дараад шинж чанарууд руу очно уу. Таб руу оч Аюулгүй байдал. Өөрчлөх товчлуур дээр дарснаар бид зөвшөөрлийг тохируулах руу шууд очно. Жагсаалтаас олоорой Бүлэг ба хэрэглэгчид, бүлэг Хэрэглэгчид, мөн үүн дээр дарснаар бид доорх баганад оруулна Бүлгийн зөвшөөрөл, баганад байхгүй хачиг зөвшөөрөх.

Одоо та 1-ийг суулгасан фолдеруудад зөвшөөрөл өгөх хэрэгтэй. Тэдгээр рүү шилжье, анхдагчаар 32 битийн 1c хувилбар нь хавтсанд байдаг C:\Program Files (x86)\1cv8фолдерт 64 битийн хувьд C:\Program Files\1cv8. Мөн хавтас сонгоно уу 1cv8түүний шинж чанарууд руу очиж, таб руу очно уу Аюулгүй байдал -> Засварлах.Гэхдээ жагсаалтаас бүлгийг сонгохын оронд эхлээд тэнд нэмэх хэрэгтэй. Үүнийг хийхийн тулд товчлуур дээр дарна уу Нэмэх, гарч ирэх цонхонд товчлуурыг дарна уу Нэмж хэлэхэд.


Дараа нь товчлуур дээр дарна уу Хайхмөн бидний хайж буй үр дүнгийн жагсаалтад IIS_IUSRS, үүнийг давхар товшилтоор нэмснээр биднийг цонх руу буцаана "Хэрэглэгчид" эсвэл "Бүлгүүд" -ийг сонгоно уу.гэхдээ жагсаалтад аль хэдийн тэмдэглэгдсэн бүлэгтэй. OK товчийг дараад цонх руу буцна уу Бүлгийн зөвшөөрөлшинээр нэмэгдсэн бүлгийн зөвшөөрлийн талбарт бүх тэмдэглэгээг хийнэ үү.

1c файл бүхий фолдеруудын зөвшөөрлийг тохируулсны дараа бид сүүлчийнх нь үлддэг. Бүлэгт эрх олгох IIS_IUSRSБид суурь 1c өөрөө байгаа хавтас дээр.

Шаардлагатай бэлтгэл ажлыг хангасан. Одоо хэвлэн нийтлэх ажил руугаа орцгооё.

Вэб сервер дээрх 1-р нийтлэл

Нийтлэх шаардлагатай мэдээллийн баазыг сонгон тохируулагч горимд 1 секундыг эхлүүлэх шаардлагатай. Миний хувьд энэ бол хоосон бааз бөгөөд зөвхөн нэг л байна.

1s тохиргооны горимд цэс рүү очно уу Захиргаа -> Вэб серверт нийтэлж байна.


Параметрүүдийг харж, үндсэндээ бүх зүйл бидэнд тохирсон эсэхийг шалгасны дараа бид дарна Нийтлэх. Хэрэв таны нийтлэл алдаагүй гарсан бол сүүлчийн алхам руу очно уу.

IIS-ийг 32 битийн 1С вэб серверийн өргөтгөлийн модультай ажиллахаар тохируулах

Бид 1c-ээс 32 бит платформ болон вэб серверийн өргөтгөлийн модулийг тус тус ашигласан гэдгийг сануулъя. Тиймээс, энэ тохиолдолд бид анхдагч програмын санг ажиллуулахыг зөвшөөрөх шаардлагатай хэвээр байна - Өгөгдмөл AppPool 32 битийн програмуудыг ажиллуулах. Үүнийг хийхэд хэцүү биш. Явцгаая Серверийн менежер -> Дүрүүд -> Вэб сервер (IIS) -> Үйлчилгээний менежер (IIS) -> Хэрэглээний сан -> Өгөгдмөл AppPool.Хулганы баруун товчлуур асаалттай Өгөгдмөл AppPoolзалгах контекст цэсмөн дотроос нь сонго Нэмэлт сонголтууд.


Бид шугам хайж байна 32 битийн програмуудыг зөвшөөрнөба эсрэгээр нь тавь ҮНЭН

64 битийн 1С ВЭБ СЕРВЕРИЙН ТӨРГӨЛТИЙН МОДУЛЬТАЙ АЖИЛЛАХ БОЛОМЖТОЙ IIS-ийг ТОХИРУУЛЖ БАЙНА.

Хэрэв бид 64 битийн платформ болон вэб өргөтгөлийн модулийг тус тус ашигласан бол дараах залруулга хийх шаардлагатай болно.

Явцгаая Серверийн менежер -> Дүрүүд -> Вэб сервер (IIS) -> Үйлчилгээний менежер (IIS)-> Мөн мэдээллийн санг нийтлэхдээ бидний тохируулсан нэрээр виртуал лавлахаас хөрвүүлсэн програмыг сонгоно уу. Баруун талбарт хэсэг рүү очно уу Зохицуулагчийн зураглал. iis вэб сервер дээр 1s 8.3-ийг нийтэлж байна iis вэб сервер дээр 1s 8.3-ийг нийтэлж байна

Манай VK группт нэгдээрэй!

06.04.2014

Боломжтой:

Windows 8.1 Мэргэжлийн.

1С аж ахуйн нэгж, хувилбар 8.3.4.465.

Өгөгдлийн сан ZUP 3.0.

Интернэт хөтөч эсвэл нимгэн клиентээр дамжуулан заасан RAM мэдээллийн санд хандах хандалтыг бий болгох шаардлагатай.

Ойлгоход хялбар болгохын тулд бүх үйлдлийг хяналтын самбараас тайлбарлах болно.

    2. 1С аж ахуйн нэгжийн мэдээллийн санг нийтлэх.

    IIS суулгасны дараа та тохируулагчийг локал администратороор ажиллуулж, мэдээллийн санг нийтлэх хэрэгтэй.

  1. Тохируулагч өөрөө IIS-г тохируулах болно.

Бид шинэ мэдээллийн сан нийтлэсний дараа IIS серверийг дахин эхлүүлэхийг зөвшөөрч байна.


    7. Галт хананд портыг нээнэ үү.

    Хяналтын самбар - Windows галт хана- Нэмэлт сонголтууд.

    Сонгосон портын ирж буй холболтын дүрмийг үүсгэ.

8. Интернетээр дамжуулан ажлын зохион байгуулалт.

"Нээлттэй интернет" -ээс мэдээллийн санд нэвтрэхийн тулд та үйлчилгээ үзүүлэгчээс "цагаан IP хаяг" худалдаж авах ёстой. Дүрсээр хэлэхэд энэ нь таны дижитал танигч байх бөгөөд үүгээр бүх интернет компьютер таныг таних болно. Хэрэв таны вэб сервер энэ хаягтай байвал өөр юу ч хийх шаардлагагүй. Хэрэв интернет нь чиглүүлэгч эсвэл прокси сервер бүхий өөр компьютерийг (жишээ нь гарц) түгээх юм бол энэ гарц дээр та портуудын аль нэгийг нээж, вэб сервер дээрх ажиллаж байгаа IIS порт руу дахин чиглүүлэх хэрэгтэй. Гарцын тохиргоонд та ирж буй порт, траффик хаашаа чиглүүлэхийг зааж өгөх ёстой - вэб серверийн IP хаяг, порт.

  1. 9. Хөтөчийг ажиллуул.

    Миний хувьд хөтчийг эхлүүлэх мөр дараах байдлаар харагдах болно.

http - протоколын заалт.

i7 - dns компьютерийн нэр эсвэл вэб серверийн IP хаяг.

180 - IIS порт (хэрэв порт нь анхдагч бол орхигдуулж болно)

hrm30 - лавлахыг нийтлэх (c:\inetpub\wwwroot\HRM30)

Нимгэн үйлчлүүлэгчийн хувьд мөрийг холболтын тохиргоонд зааж өгсөн болно.

Хүн бүр ажиллах боломжтой!

Ирээдүйд та 1С аж ахуйн нэгжийн платформыг шинэчилсний дараа хэвлэлийг шинэчлэхээ мартаж болохгүй.

2016 оны 1-р сарын 9-ний 13:08 цагт

Гуравдагч этгээдийн вэб сервер дээр 1С мэдээллийн санг нийтлэх

  • Линуксийн тохиргоо

1C 8.3 (DB - MSSQL) бүхий Windows сервер байдаг.
Даалгавар бол Линукс вэб сервер дээр мэдээллийн баазыг хэвлэх ажлыг тохируулах явдал юм.
Нарийн талууд - Apache-д зориулсан 1С модуль нь зөвхөн 2.0 ба 2.2-тэй ажилладаг бөгөөд Одоогийн хувилбарихэнх тархалтад - 2.4+
Би мартахгүйн тулд өөртөө илүү ихийг бичдэг. За, та хэзээ ч мэдэхгүй, гэнэт өөр хэн нэгэн хэрэг болно - та зөв тушаалуудыг хайж форумыг тойрон гүйх шаардлагагүй.

Төмөр - гигабайт RAM, нэг цөм, 20 гигабайт диск өгсөн. Өргөтгөхөд хэзээ ч оройтдоггүй.
OS: Debian Stable, би үүнд дассан.

Би ssh серверийг оруулаад хамгийн бага хэмжээг тогтоосон боловч вэбийг оруулаагүй болно. Энэ асуудал руугаа буцаж орцгооё.

Суулгасны дараа үндсэн тохиргооамтлахын тулд би ихэвчлэн utf8 хэлийг тохируулж, sudo, mc, vim, үлдсэнийг нь шаардлагатай бол тавьдаг.
Дараа нь та apache 2.2 суулгах хэрэгтэй. Тэгээд хий зөв замзүгээр л deb багцыг татаж авахаас илүү. :)

Эхлээд /etc/apt/sources.list руу холбоос бүхий мөрүүдийг нэмнэ үү өмнөх хувилбархуваарилалт.
deb http://mirror.yandex.ru/debian/ wheezy main deb-src http://mirror.yandex.ru/debian/ wheezy main
Та мэдээж бичиж болно хуучин тогтвортой- одоогоор бас зөв байх болно. Гэхдээ зөвхөн бодит хувилбар дээр, учир нь эрт орой хэзээ нэгэн цагт шинэ тогтвортой хувилбар гарах болно хуучин тогтвортойтэгээд apache 2.2-ын оронд 2.4 байх болно. Хэдийгээр тэр үед 1С шинэчлэгдэж, Apache-ийн шинэ хувилбаруудтай ажиллах болно гэж найдаж байна. Гэхдээ хэн мэдэх вэ? :)
Хаана mirror.yandex.ru- репозитортой таны дуртай серверийн нэрийг тэнд бичсэн болно.

Дараа нь бид индексүүдийг шинэчилнэ - apt-get шинэчлэлт- мөн тушаалаар apache-д юу байгааг харна уу apt-cache showpkg apache2
Маш их гаралт байгаа боловч бид зөвхөн гаралтын эхлэлийг сонирхож байна:
Багц: apache2 Хувилбар: 2.4.10-10+deb8u3 (/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages) i386_Packages MD5: Тайлбар хэл: en Файл: /varlistt/s yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Тайлбар хэл: mn Файл: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5 : 2.4/list.b/subse/ debian.org_dists_stable_updates_main_binary-i386_Packages) Хэл: en Файл: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Тайлбар Хэл: en Файл:/var/lation_tb_bists/mainapror. en MD5: 2.2.22 -13+deb7u6 (/var/lib/apt/lists/mirror.yandex.ru_deb ian_dists_wheezy_main_binary-i386_Packages) Тодорхойлолт Хэл: Файл: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages MD5: Тодорхойлолт Хэл: en Файл: /var/libs/libary-i386_d.mag.main_t_defile. : ru Файл: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-ru MD5:

2.4.10-аас гадна 2.2.22-13+deb7u6 - танд хэрэгтэй зүйл байгааг бид харж байна.
Бид тавих: apt-get install apache2=2.2.22-13+deb7u6
Эсвэл илүү нарийвчлалтай: apt-get install apache2=2.2.22-13+deb7u6 apache2-mpm-worker=2.2.22-13+deb7u6 apache2.2-common=2.2.22-13+deb7u6 apache2.2-bin=2.2.22-13 +deb7u6, мөн бусад хамаарлыг автоматаар татах болно.

Үүний дараа бид Apache-г санамсаргүйгээр шинэчлэхгүйн тулд түр зогсоосон.

Apt-mark hold apache2 apache2-mpm-worker apache2.2-common apache2.2-bin apache2-г хүлээсэн гэж тэмдэглэсэн. apache2-mpm-worker-г хийсэн гэж тэмдэглэсэн. apache2.2-нийтлэг нь хийгдсэн гэж тэмдэглэгдсэн. apache2.2-bin нь хийгдсэн гэж тэмдэглэгдсэн.
Та хөтчөө эхлүүлэхээс залхуурсан эсэхээ шалгахын тулд apache2 start болон telnet үйлчилгээг 80-р порт руу ажиллуулж болно.

telnet localhost 80
Оролдож байна::1... Localhost-д холбогдсон. Зугтах дүр нь "^]". нэг 501 Арга хэрэгжээгүй

Хэрэгжүүлээгүй арга

1-ээс /index.html-г дэмждэггүй.


1cweb порт 80 дээрх Apache/2.2.22 (Debian) сервер
Холболтыг гадаад хост хаасан.

Тангараглах - энэ нь ажилладаг гэсэн үг юм.

Одоо бид 1С тавьж байна.
Зөвхөн 1С вэб үйлчилгээ шаардлагатай (багц 1c-enterprise83-ws). Тэгээд 1c-enterprise83-нийтлэг, хараат байдалд бүртгэгдсэн. Тэгээд 1c-enterprise83-сервер, энэ нь хамааралд тодорхойлогдоогүй боловч үүнгүйгээр хэвлэх хэрэгсэл "Segmentation error" гэж бичдэг.
Зарчмын хувьд зөвхөн Apache-д зориулсан модуль л хэрэгтэй wsap22.soбагцаас 1c-enterprise83-ws, мөн бусад бүх зүйлийг текст засварлагчаар дамжуулан хийж болно. Гэхдээ би залхуу хүн бөгөөд тохиргоог гараар хийхээс илүүтэйгээр 1С дээр хэдэн мегабайт зарцуулсан нь дээр. :)

Дараа нь та нийтлэгдсэн 1С мэдээллийн сангийн тохиргоог хадгалах хавтас үүсгэх хэрэгтэй. Энэ нь вэб серверийн мод дээр боломжтой, гэхдээ би үүнийг тусад нь, шууд үндэс дээр / 1s хийсэн нь дээр.
Үүний дараа суулгасан 1С файл бүхий хавтсаас ( /opt/1C/v8.3/i386) нийтлэх хэрэгслийг ажиллуул вэбинстдараах параметрүүдтэй (би туршилтын мэдээллийн санг нийтэлдэг):
./webinst -apache22 -wsdir testlitupp -dir /1c/testlitupp -connstr "Srvr=10.0.0.4;Ref=testlitupp;" -confPath /etc/apache2/apache2.conf Нийтэлсэн

Apache22 бол вэб серверийн бидний хувилбар юм
-wsdir testlitupp - нийтлэгдсэн мэдээллийн сан бэлэн байх вэб сервер дээрх хавтас (http://yourserver/testlitupp)
-dir /1c/testlitupp - нийтлэх тохиргоотой default.vrd файлыг хадгалах хавтас.
-connstr "Srvr=10.0.0.4;Ref=testlitupp;" - 1С серверийн ip болон нийтлэгдсэн мэдээллийн сангийн нэр
-confPath /etc/apache2/apache2.conf - apache тохиргооны зам

Хэрэв "Хэвлэгдсэн" гэж бичсэн бол бүх зүйл сайхан болсон. Хэрэв "Segmentation error" гэж бичсэн бол та оруулахаа мартсан байх магадлалтай 1c-enterprise83-сервер.
Үр дүнд үндэслэн бидэнд default.vrd файл байна

Мөн вэб серверийн тохиргооны файл дахь хэд хэдэн шинэ мөрүүд:

LoadModule _1cws_module "/opt/1C/v8.3/i386/wsap22.so" # 1c нийтлэл "/testlitupp" "/1c/testlitupp/" AllowOverride All Options Байхгүй Захиалга зөвшөөрөх, үгүйсгэх Бүх SetHandler 1c-програмаас зөвшөөрөх ManagedApplicationDescriptor "/1c/testlitupp/default.vrd"
Бид Apache-г дахин эхлүүлж (үйлчилгээний apache2 дахин эхлүүлэх) тэнд юу нийтлэгдсэнийг харахаар очно.
Нийтэлсэн, нууц үг асууна.

Тэгээд түүнийг баазад оруулаарай.

Ажилладаг. Нэмэлт нийтлэлийн тохиргоог vrd файлуудыг засварлах замаар хийдэг (жишээлбэл, дибаг хийхийг идэвхжүүлэх) бөгөөд таны 1С програмистууд вэб клиентийн интерфейсийг дуусгахад оролцох ёстой.
Хэрэв та үйлчилгээг гараар холбох гэх мэт сонголтуудыг нэмбэл "base="/testlitupp" ib="Srvr=10.0.0.4;Ref=testlitupp;" мөрийн сүүлчийн зураасыг арилгахаа бүү мартаарай. vrd файл / >", Би үүнтэй удаан хугацаанд тоглосон. Хэрэв та устгаж, дараа нь ямар нэгэн зүйл нэмэхгүй бол нэмэлт мэдээлэлгүйгээр "алдаа 500" гарч ирнэ.
Вэб серверийн ачаалал ямар байх вэ - Би хараахан мэдэхгүй байна, энэ нь бидний хувьд туршилтын горимд ажиллаж байгаа бөгөөд хангалттай хуваарилагдсан нөөц байгаа. Гэхдээ хэрэгцээ нэмэгдэх тусам санах ой эсвэл цөм нэмэх нь асуудал биш юм.

Ерөнхийдөө Linux-ийн бусад түгээлтийн хувьд бүх зүйл ижил төстэй байдлаар хийгддэг бөгөөд ялгаа нь зөвхөн apache-ийн хуучин хувилбарыг суулгахад л байдаг.

Өнөөдөр би 1С WEB сервер болон IIS 8 үйлчилгээгээр дамжуулан хандалтыг зохион байгуулах үүднээс 1С 8.3-ийг тохируулах талаар жижиг тэмдэглэл үлдээх болно.

Өмнө нь би хуучин загвараар хэрэглэгчдэд терминалын сервер ашиглан 1С руу нэвтрэх боломжийг олгосон. Дараа нь би ажил дээрээ 1С хувилбар 7-той Windows 2003 сервертэй байсан, би терминал серверийг байрлуулсан терминал серверийн лицензтэй байсан. Би бас нэг удаа энэ сайн сайхныг бий болгох талаар нийтлэл бичсэн. Бүх зүйл сайхан байсан, гэхдээ одоо бид шинэ техник хангамжтай (Intel Xeon CPU E3-1220 v3, 8gb RAM дээр суурилсан), шинэ 1C (v 8.3), шинэ үйлдлийн систем (Windows Server 2012 r2).

Анхнаасаа манай нягтлан бодох бүртгэлийн хэлтэс (8 компьютер) сүлжээний хөтөч дээр ажиллаж байсан боловч энэ тохиолдолд програм нь сүлжээгээр файл татаж авах зарчмаар ажилладаг бөгөөд энэ нь маш удаан байдаг. Ажлыг хурдасгах арга замыг хайж олохоор шийдсэн.

Би терминал серверийн талаар бодсон боловч надад терминал серверийн лиценз байхгүй (би үүнийг интернетээс олж чадаагүй, гэхдээ тэд үүнийг худалдаж авахад үнэтэй гэж хэлсэн). Гаралтыг санамсаргүйгээр өдөөсөн бөгөөд 1С-д WEB серверийг дэмжих боломжтой болсон. Би Apache-тэй ижил туршлагатай, ажиллах зарчмыг мэддэг учраас WEB сервер 1С-ийг эзэмшихээр шийдсэн.

Бүх бүрэлдэхүүн хэсгүүдийг суурилуулах, шалгах

1С вэб серверийн бүрэлдэхүүн хэсгүүдийг суулгаж тохиргоог эхлүүлцгээе. Бидэнд 1С вэб серверийн өргөтгөлийн модуль суулгасан эсэхийг шалгацгаая. Хэрэв суулгаагүй бол суулгана уу.

Мэдээллийн санг вэб серверт нийтлэх

Бид тохируулагч горимд 1С мэдээллийн сан руу очдог. Дараа нь бид цэс рүү очно. "Захиргаа" - "Вэб серверт нийтлэх"

Бид нийтэлдэг!

Бид 1С фолдеруудын эрхийг тохируулсан

Дараагийн алхам бол дараах фолдеруудад зөвшөөрлийг тохируулах явдал юм.

1С дахь хогийн хавтас.

Аюулгүй байдлын цэсэнд доорх дэлгэцийн зурган дээрх эрхүүдийг бид тохируулсан.

Үйлчлүүлэгч компьютерээс вэб серверт холбогдож байна

Үүнийг хийхийн тулд DB 1C-тэй холболт үүсгэнэ үү - Холболтын нэрийг бичээд -> Вэб сервер дээр -> дараа нь доорх зурган дээрх шиг сонгоно.

Үүний дараа та вэб серверээр дамжуулан 1С-тэй холбогдох боломжтой болно.

Алдаа гарсан:

1C8.3 Үйлчлүүлэгчээс хүлээн авсан "Хохирол үүсгэж болзошгүй хүсэлт. Замын утга илэрсэн" IIS

1С вэб серверийг тохируулсны дараа би асуудалтай тулгарсан: би 1С руу IP-ээр нэвтэрч болно, би нэвтэрсэн боловч бүх цэс ажиллахгүй, 1С ширээний компьютерээс бусад ганц цонх нээж чадсангүй. Би интернетээс шийдлийг олох хүртлээ удаан тэмцсэн.

Юу хийх ёстой вэ:
1. IIS-г нээнэ үү. Эхлэх - Ажиллуулах - "IIS менежер" -ийг олоорой.
2. Манай "сайтыг" нээнэ үү.
3. Цэс рүү оч "Хариуцагчийн зураглал"
4. хайж байна ISAPI-dll, Засварлах гэснийг сонгоно уу.
5. Хүсэлтийн замыг "*.dll"-аас "*" болгож өөрчлөх, Гүйцэтгэх файл (та 1С-ийн өөр хувилбартай байж магадгүй, илүү болгоомжтой байгаарай) - "C:\Program Files (x86)\1cv8\ 8.3.6.2390 \bin\wsisapi.dll".
6. Хадгалах.

7. Бид шалгадаг.

Одоохондоо ийм л байна. Хэрэв танд асуулт байвал би туслахыг хичээх болно.

1C: Enterprise технологийн сайхан шинж чанаруудын нэг нь удирддаг маягтын технологийг ашиглан боловсруулсан програмын шийдлийг Windows, Linux, MacOS X-ийн нимгэн (гүйцэтгэх боломжтой) клиент болон 5 хөтөчийн вэб клиент болгон ажиллуулах боломжтой юм. Chrome, Internet Explorer, Firefox, Safari, Edge гэх мэт програмын эх кодыг өөрчлөхгүйгээр. Нэмж дурдахад, нимгэн клиент болон хөтөч дээрх програмууд нь бараг адилхан ажилладаг.
10 ялгааг ол (зүссэн 2 зургийн доор):

Линукс дээрх нимгэн клиент цонх:

Вэб клиент дээрх ижил цонх (Chrome хөтөч дээр):

Бид яагаад вэб үйлчлүүлэгч хийсэн бэ? Бага зэрэг өрөвдмөөр ярих юм бол цаг хугацаа бидэнд ийм даалгавар тавьсан. Удаан хугацааны туршид интернетээр ажиллах нь бизнесийн хэрэглээний урьдчилсан нөхцөл болсон. Нэгдүгээрт, бид нимгэн үйлчлүүлэгчдээ зориулж интернетээр ажиллах чадварыг нэмсэн (зарим өрсөлдөгчид тэнд зогссон; бусад нь эсрэгээрээ нимгэн үйлчлүүлэгчээ орхиж, вэб клиентийг хэрэгжүүлэхээр хязгаарласан). Бид хэрэглэгчиддээ өөрт тохирсон үйлчлүүлэгчийн сонголтыг сонгох боломжийг олгохоор шийдсэн.

Нимгэн үйлчлүүлэгчид вэб чадавхийг нэмэх нь үйлчлүүлэгч/серверийн архитектурыг бүрэн өөрчилсөн томоохон ажил байлаа. Вэб клиент үүсгэх нь эхнээс нь эхэлсэн цоо шинэ төсөл юм.

Асуудлын томъёолол

Тиймээс, төсөлд тавигдах шаардлага: вэб клиент нь нимгэн клиенттэй ижил зүйлийг хийх ёстой, тухайлбал:
  1. Хэрэглэгчийн интерфейсийг харуулах
  2. 1С хэл дээр бичигдсэн үйлчлүүлэгчийн кодыг ажиллуул
1С дахь хэрэглэгчийн интерфэйсийг визуал засварлагчаар тайлбарласан боловч элементүүдийн пикселээр пикселийн зохион байгуулалтгүйгээр тунхаглалтайгаар; Гурав орчим төрлийн интерфейсийн элементүүдийг ашигладаг - товчлуурууд, оруулах талбарууд (текст, дижитал, огноо / цаг), жагсаалт, хүснэгт, график гэх мэт.

1С хэл дээрх үйлчлүүлэгчийн код нь серверийн дуудлага, дотоод нөөцтэй ажиллах (файл гэх мэт), хэвлэх гэх мэт олон зүйлийг агуулж болно.

Нимгэн клиент (вэбээр ажиллах үед) болон вэб клиент хоёулаа 1С програмын сервертэй холбогдохын тулд ижил төрлийн вэб үйлчилгээг ашигладаг. Үйлчлүүлэгчдийн хэрэгжилт нь мэдээжийн хэрэг өөр өөр байдаг - нимгэн үйлчлүүлэгч нь C ++ хэл дээр, вэб клиент нь JavaScript дээр бичигдсэн байдаг.

Жаахан түүх

Вэб клиент төсөл нь 2006 онд (дунджаар) 5 хүний ​​бүрэлдэхүүнтэй ажиллаж эхэлсэн. Төслийн тодорхой үе шатанд тодорхой функцийг (хүснэгтийн баримт бичиг, диаграмм гэх мэт) хэрэгжүүлэхийн тулд хөгжүүлэгчид оролцсон; Дүрмээр бол эдгээр нь нимгэн клиент дээр энэ функцийг хийсэн ижил хөгжүүлэгчид байсан. Тэдгээр. хөгжүүлэгчид өмнө нь C++ хэл дээр үүсгэсэн бүрэлдэхүүн хэсгүүдээ JavaScript дээр дахин бичсэн.

Бид анхнаасаа хоёр хэлний ойлголтын зөрүүтэй байдлаас шалтгаалан нимгэн клиент C++ кодыг вэб клиент JavaScript руу автоматаар (наад зах нь хэсэгчлэн) хөрвүүлэх санаанаас татгалзсан; вэб клиентийг эхнээс нь JavaScript дээр бичсэн.

Төслийн эхний давталтуудад вэб үйлчлүүлэгч нь 1С хэл дээрх үйлчлүүлэгчийн кодыг шууд JavaScript болгон хөрвүүлсэн. Нимгэн үйлчлүүлэгч өөр өөрөөр ажилладаг - суулгасан 1С хэл дээрх кодыг байт код болгон хөрвүүлж, дараа нь энэ байт кодыг үйлчлүүлэгч дээр тайлбарладаг. Дараа нь вэб үйлчлүүлэгч үүнийг хийж эхэлсэн - нэгдүгээрт, энэ нь гүйцэтгэлийн өсөлтийг өгсөн, хоёрдугаарт, нимгэн болон вэб үйлчлүүлэгчдийн архитектурыг нэгтгэх боломжтой болсон.

Вэб үйлчлүүлэгчийн дэмжлэгтэй 1С: Enterprise платформын анхны хувилбар 2009 онд гарсан. Тухайн үед вэб клиент нь Internet Explorer болон Firefox гэсэн 2 хөтчийг дэмждэг байсан. Анхны төлөвлөгөө нь Opera-г дэмжих байсан боловч тухайн үед Opera дахь програмыг хаах зохицуулагчтай холбоотой шийдвэрлэх боломжгүй асуудлаас болж (програм хаагдаж байгааг 100% итгэлтэй хянах боломжгүй байсан бөгөөд тэр үед холболтыг таслах процедурыг гүйцэтгэх боломжгүй байсан. 1С програмын сервер) эдгээр төлөвлөгөөнөөс татгалзах шаардлагатай болсон.

Төслийн бүтэц

Нийтдээ 1C: Enterprise платформ нь JavaScript дээр бичигдсэн 4 төсөлтэй.
  1. WebTools нь бусад төслүүдэд ашигладаг хуваалцсан номын сангууд юм (бид энд мөн Google Closure Library-г оруулсан болно).
  2. Formatted Document Control
  3. Хуваарийн хяналт (нимгэн клиент болон вэб клиент дээр JavaScript дээр хэрэгждэг)
  4. Вэб үйлчлүүлэгч
Төсөл бүрийн бүтэц нь Java төслүүдийн бүтэцтэй төстэй (эсвэл .NET төслүүд - аль нь танд илүү ойр байна); Бидэнд нэрийн орон зай байгаа бөгөөд нэрийн талбар бүр дотор байрладаг тусдаа хавтас. Хавтас дотор файлууд болон нэрийн орон зайн ангиуд байдаг. Вэб клиент төсөлд 1000 орчим файл байдаг.

Бүтцийн хувьд вэб клиент нь дараахь дэд системүүдэд хуваагддаг.

  • Удирдагдсан үйлчлүүлэгчийн програмын интерфейс
    • Ерөнхий хэрэглээний интерфейс (системийн цэс, самбар)
    • Интерфэйс удирдаж буй хэлбэрүүд, үүнд бусад зүйлсээс гадна 30 орчим удирдлага (товчлуур, янз бүрийн төрөлоролтын талбарууд - текст, дижитал, огноо / цаг гэх мэт, хүснэгт, жагсаалт, график гэх мэт.)
  • Үйлчлүүлэгч дээрх хөгжүүлэгчдийн ашиглах боломжтой объектын загвар (нийт 400 гаруй төрөл: удирдаж буй интерфейсийн объектын загвар, өгөгдлийн найрлагын тохиргоо, нөхцөлт формат гэх мэт)
  • Оруулсан хэлний орчуулагч 1С
  • Хөтөчийн өргөтгөлүүд (JavaScript-д дэмжигддэггүй функцэд ашиглагддаг)
    • Криптографтай ажиллах
    • Файлуудтай ажиллах
    • Технологи гадаад бүрэлдэхүүн хэсгүүд, тэдгээрийг нимгэн болон вэб клиентүүдэд ашиглах боломжийг олгодог

Хөгжлийн онцлог

Дээр дурдсан бүх зүйлийг JavaScript дээр хэрэгжүүлэх нь тийм ч амар ажил биш юм. Магадгүй 1С вэб клиент нь JavaScript дээр бичигдсэн хамгийн том клиент талын програмуудын нэг юм - ойролцоогоор 450,000 мөр. Бид вэб клиентийн кодонд объект хандалтат хандлагыг идэвхтэй ашигладаг бөгөөд энэ нь ийм том төслийн ажлыг хялбаршуулдаг.

Үйлчлүүлэгчийн кодын хэмжээг багасгахын тулд бид эхлээд өөрийн хөрвүүлэгчийг ашигласан бөгөөд платформын 8.3.6 хувилбараас (2014 оны 10-р сар) эхлэн Google Closure Compiler ашиглаж эхэлсэн. Тоогоор ашиглахын үр нөлөө нь будилсны дараа вэб клиентийн хүрээний хэмжээ юм:

  • Өөрийн гэсэн бүдүүвч - 1556 кб
  • Google Closure Compiler - 1073 kb
Google Closure Compiler-ийг ашигласнаар вэб клиентийн гүйцэтгэлийг өөрсдийнхөө хөрвүүлэгчтэй харьцуулахад 30%-иар сайжруулахад тусалсан. Нэмж дурдахад, програмын ашигласан санах ойн хэмжээ 15-25% (хөтөчөөс хамаарч) буурсан байна.

Google Closure Compiler нь объект хандалтат кодтой маш сайн ажилладаг тул вэб үйлчлүүлэгчийн хувьд түүний үр ашиг хамгийн өндөр байдаг. Closure Compiler нь бидний хувьд хэд хэдэн сайн зүйлийг хийдэг:

  • Төслийг бүтээх үе шатанд статик төрлийг шалгаж байна (бид кодыг JSDoc тэмдэглэгээгээр бүрхсэнээр хангагдсан). Үр дүн нь статик бичих бөгөөд C++ хэл дээр бичихтэй маш ойролцоо түвшинд байна. Энэ нь төслийн эмхэтгэлийн үе шатанд гарсан алдааны нэлээд их хувийг олж авахад тусалдаг.
  • Муухайрах замаар кодын хэмжээг багасгах
  • Гүйцэтгэх кодыг хэд хэдэн оновчтой болгох, жишээлбэл:
    • Inline функцийн орлуулалт. JavaScript дээр функцийг дуудах нь нэлээд үнэтэй үйлдэл бөгөөд байнга хэрэглэгддэг жижиг аргуудыг дотор нь орлуулах нь кодыг ихээхэн хурдасгадаг.
    • Эмхэтгэх үед тогтмол тоолох. Хэрэв илэрхийлэл нь тогтмолоос хамааралтай бол түүнийг тогтмолын бодит утгаар орлуулах болно
Бид WebStorm-ийг вэб үйлчлүүлэгч хөгжүүлэх орчин болгон ашигладаг.

Кодын шинжилгээнд бид SonarQube ашигладаг бөгөөд энд статик код анализаторуудыг нэгтгэдэг. Анализаторын тусламжтайгаар бид JavaScript эх кодын чанар муудаж байгааг хянаж, түүнээс урьдчилан сэргийлэхийг хичээдэг.

Бид ямар даалгавар хийсэн/шийдвэрлэж байна

Төслийг хэрэгжүүлэх явцад бид шийдвэрлэх шаардлагатай хэд хэдэн сонирхолтой ажлуудтай тулгарсан.

Сервер болон цонхны хооронд өгөгдөл солилцох

Эх кодыг бүдгэрүүлэх нь системийн үйл ажиллагаанд саад учруулж болзошгүй нөхцөл байдал байдаг. Вэб клиентийн гүйцэтгэх кодын гаднах код нь ойлгомжгүй байдлын улмаас бидний гүйцэтгэх кодоос өөр функц болон параметрийн нэртэй байж болно. Бидний гадаад код нь:
  • Серверээс өгөгдлийн бүтэц хэлбэрээр ирдэг код
  • Өөр програмын цонхны код
Сервертэй харилцахдаа эргэлзээ төрүүлэхгүйн тулд бид @expose шошгыг ашигладаг:

/** * @constructor * @extends(Base.SrvObject) */ Srv.Core.GenericException = функц () ( /** * @type (string) * @expose */ this.descr; /** * @type (Srv.Core.GenericException) * @expose */ this.inner; /** * @type (string) * @expose */ this.clsid; /** * @type (boolean) * @expose */ this. кодлогдсон;)
Бусад цонхтой харьцахдаа төөрөгдөлд орохгүйн тулд бид экспортлогдсон интерфейс гэж нэрлэгддэг (бүх аргыг экспортлодог интерфейс) ашигладаг.

/** * DropDownWindow удирдлагын экспортлогдсон интерфэйс * * @interface * @struct */ WebUI.IDropDownWindowExp = function()() /** * Сонголтыг урагш эсвэл хойш нь 1 * * @param (boolean) isForward * @ param (boolean ) checkOnly * @return (boolean) * @expose */ WebUI.IDropDownWindowExp.prototype.moveMarker = функц (isForward, checkOnly)() /** * Сонголтыг эхлэл эсвэл төгсгөл рүү зөөнө * * @param (boolean) ) isFirst * @param (boolean) checkOnly * @return (boolean) * @expose */ WebUI.IDropDownWindowExp.prototype.moveMarkerTo = функц (isFirst, checkOnly)() /** * @return (boolean) * @expose */ WebUI.IDropDownWindowExp.prototype .selectValue = function()()

Бид Виртуал DOM-г түгээмэл болохоос өмнө ашигласан)

Нарийн төвөгтэй вэб UI-тэй харьцдаг бүх хөгжүүлэгчид шиг бид DOM нь динамик хэрэглэгчийн интерфэйстэй ажиллахад тохиромжгүй гэдгийг хурдан ойлгосон. Бараг тэр даруй UI-тай ажиллахыг оновчтой болгохын тулд Virtual DOM-ийн аналогийг хэрэгжүүлсэн. Үйл явдлыг боловсруулах явцад бүх DOM өөрчлөлтүүд санах ойд хадгалагдах бөгөөд зөвхөн бүх үйлдлүүд дууссаны дараа хуримтлагдсан өөрчлөлтүүд нь DOM модонд хэрэглэгдэх болно.

Вэб үйлчлүүлэгчийн оновчлол

Вэб клиентээ илүү хурдан ажиллуулахын тулд бид хөтөчийн стандарт функцуудыг (CSS гэх мэт) дээд зэргээр ашиглахыг хичээдэг. Тиймээс, маягтын командын мөрийг (програмын бараг бүх маягт дээр байрладаг) CSS дээр суурилсан динамик зохион байгуулалтыг зөвхөн хөтөчөөр хийдэг.

Туршилт хийх

Функциональ туршилт, гүйцэтгэлийн туршилтын хувьд бид өөрсдийн үйлдвэрлэлийн хэрэгсэл (Java болон C++ хэл дээр бичигдсэн), мөн Selenium дээр бүтээгдсэн туршилтын багцыг ашигладаг.

Манай хэрэгсэл нь бүх нийтийнх бөгөөд энэ нь танд бараг ямар ч цонхны програмыг турших боломжийг олгодог бөгөөд ингэснээр нимгэн клиент болон вэб клиентийг туршихад тохиромжтой. Уг хэрэгсэл нь 1С програмын шийдлийг скрипт файл болгон эхлүүлсэн хэрэглэгчийн үйлдлийг бүртгэдэг. Үүний зэрэгцээ дэлгэцийн ажлын хэсгийн зургийг - лавлагаа - бичдэг. Вэб клиентийн шинэ хувилбаруудыг хянах үед хэрэглэгчийн оролцоогүйгээр хувилбаруудыг тоглодог. Дэлгэцийн зураг нь лавлагаатай ямар ч үе шатанд таарахгүй тохиолдолд туршилт амжилтгүй болсон гэж тооцогддог бөгөөд үүний дараа чанарын мэргэжилтэн шалгалт хийдэг - энэ нь алдаа эсвэл системийн үйл ажиллагаанд төлөвлөсөн өөрчлөлт үү. Төлөвлөсөн зан үйлийн хувьд стандартууд автоматаар шинээр солигддог.

Энэхүү хэрэгсэл нь мөн програмын гүйцэтгэлийг 25 миллисекундын нарийвчлалтайгаар хэмждэг. Зарим тохиолдолд бид скриптийн хэсгүүдийг давталт хийдэг (жишээлбэл, захиалгын оруулгыг хэд хэдэн удаа давтах), гүйцэтгэлийн цаг хугацааны доройтлыг шинжлэхийн тулд. Бүх хэмжилтийн үр дүнг дүн шинжилгээ хийх бүртгэлд тэмдэглэнэ.


Манай туршилтын хэрэгсэл ба програмыг туршиж байна

Манай хэрэгсэл болон Селен нь бие биенээ нөхдөг; Жишээлбэл, хэрэв дэлгэцийн аль нэгний товчлуур байршлаа өөрчилсөн бол Selenium үүнийг хянахгүй байж магадгүй, гэхдээ манай хэрэгсэл үүнийг анзаарах болно. дэлгэцийн агшинг стандарттай пикселээр пикселээр нь харьцуулдаг. Мөн энэ хэрэгсэл нь гар эсвэл хулганаас оролтыг боловсруулахтай холбоотой асуудлуудыг хянах боломжтой, учир нь үүнийг хуулбарладаг.

Хоёр хэрэгсэл (манай болон Селен) дээрх туршилтууд нь манай хэрэглээний шийдлүүдийн ердийн ажлын хувилбаруудыг ажиллуулдаг. 1С: Enterprise платформыг өдөр бүр бүтээсний дараа тестүүд автоматаар эхэлдэг. Хэрэв скриптүүд удааширвал (өмнөх хувилбартай харьцуулахад) бид удаашралын шалтгааныг судалж, засах болно. Бидний шалгуур бол энгийн - шинэ угсралт өмнөхөөсөө удаан ажиллах ёсгүй.

Хөгжүүлэгчид удаашруулсан тохиолдлыг судлахын тулд янз бүрийн хэрэгслийг ашигладаг; голчлон DynaTrace-ийн Dynatrace AJAX Edition ашигладаг. Өмнөх болон шинэ угсралт дээрх асуудалтай үйлдлийн гүйцэтгэлийн бүртгэлийг бүртгэж, дараа нь бүртгэлд дүн шинжилгээ хийнэ. Үүний зэрэгцээ, нэг үйлдлүүдийн гүйцэтгэх хугацаа (миллисекундээр) шийдвэрлэх хүчин зүйл биш байж магадгүй - хог цуглуулах гэх мэт үйлчилгээний процессуудыг хөтөч дээр үе үе эхлүүлдэг бөгөөд тэдгээр нь функцүүдийн гүйцэтгэх хугацаатай давхцаж, зургийг гажуудуулж болзошгүй юм. Энэ тохиолдолд илүү хамааралтай параметрүүд нь гүйцэтгэсэн JavaScript зааврын тоо, DOM дээрх атомын үйлдлийн тоо гэх мэт байх болно. Хэрэв ижил хувилбар дахь заавар/үйл ажиллагааны тоо шинэ хувилбарнэмэгдсэн - энэ нь бараг үргэлж гүйцэтгэлийн уналт гэсэн үг бөгөөд үүнийг засах шаардлагатай.

Түүнчлэн, гүйцэтгэл буурах шалтгаануудын нэг нь Google Closure Compiler ямар нэг шалтгааны улмаас функцийн дотор орлуулалт хийж чадаагүй (жишээлбэл, функц рекурсив эсвэл виртуаль шинж чанартай байдаг) байж болно. Энэ тохиолдолд бид эх кодыг дахин бичих замаар нөхцөл байдлыг засахыг хичээдэг.

Хөтөчийн өргөтгөлүүд

Хэрэглэсэн шийдэлд JavaScript-д байхгүй функц шаардлагатай тохиолдолд бид хөтчийн өргөтгөлүүдийг ашигладаг:
  • файлуудтай ажиллах
  • криптографтай ажиллах
  • гадаад бүрэлдэхүүн хэсгүүдтэй ажиллах
Манай өргөтгөлүүд хоёр хэсгээс бүрдэнэ. Эхний хэсэг нь хөтчийн өргөтгөл (ихэвчлэн Chrome болон Firefox-д зориулсан JavaScript өргөтгөлүүд) гэж нэрлэгддэг бөгөөд хоёр дахь хэсэг нь бидэнд хэрэгтэй функцийг хэрэгжүүлдэг хоёртын өргөтгөлтэй харьцдаг. Бид Windows, Linux болон MacOS-д зориулсан хоёртын өргөтгөлийн 3 хувилбарыг бичдэг гэдгийг тэмдэглэх нь зүйтэй. Хоёртын өргөтгөл нь 1С: Enterprise платформын нэг хэсэг болгон нийлүүлэгдсэн бөгөөд 1С програмын сервер дээр байрладаг. Вэб клиентээс анх удаа дуудахдаа клиентийн компьютерт татаж аваад хөтөч дээр суулгадаг.

Safari дээр ажиллаж байх үед манай өргөтгөлүүд NPAPI ашигладаг Internet Explorer- ActiveX технологи. Microsoft Edge нь өргөтгөлүүдийг хараахан дэмждэггүй тул вэб клиент хязгаарлалттай ажилладаг.

Цаашдын хөгжил

Вэб үйлчлүүлэгч хөгжүүлэх багийн нэг ажлын хэсэг бол Цаашдын хөгжилфункциональ байдал. Вэб үйлчлүүлэгчийн үйл ажиллагаа нь нимгэн үйлчлүүлэгчийн функцтэй ижил байх ёстой бөгөөд бүх шинэ функцууд нь нимгэн клиент болон вэб үйлчлүүлэгчийн аль алинд нь нэгэн зэрэг хэрэгждэг.

Бусад ажлууд нь архитектурыг хөгжүүлэх, дахин засварлах, гүйцэтгэл, найдвартай байдлыг сайжруулах явдал юм. Жишээлбэл, нэг чиглэл бол асинхрон ажлын загвар руу шилжих явдал юм. Вэб клиентийн нэг хэсэг нь сервертэй харилцах синхрон загвар дээр суурилагдсан. Асинхрон загвар нь одоо хөтчүүдэд (зөвхөн хөтчүүдэд биш) илүү хамааралтай болж байгаа бөгөөд энэ нь биднийг синхрон дуудлагыг асинхрон дуудлагаар сольж (мөн кодыг өөрчлөх) замаар вэб клиентийг өөрчлөхөд хүргэдэг. Асинхрон загварт аажмаар шилжих нь суллагдсан шийдлүүдийг дэмжиж, тэдгээрийг аажмаар дасан зохицох шаардлагатай гэж тайлбарладаг.

Шошго: шошго нэмэх