Internet Windows Android
Kengaytirish

http xizmatidan o'zgaruvchini qaytarish 1c 8.3. Pavel chistov

Agar siz WEB texnologiyalarida hech narsani tushunmasangiz va json, get, post va boshqalar kabi so'zlar siz uchun hech narsani anglatmaydi va siz shunchaki 1C laqabisiz, lekin siz 1C bilan do'stlashishingiz kerak. uchinchi tomon ilovalari yoki veb-sayt, keyin bu maqola siz uchun.

Boshlash uchun men bir marta veb-xizmatlar bilan mustaqil ravishda shug'ullanishim kerak edi. Keyin qandaydir tarzda men bu biznesni o'zlashtira oldim va hamma narsa ishlashi uchun nimani va qaerga bosishni tushundim. Yaxshiyamki, men ishlashim kerak bo'lgan konfiguratsiya allaqachon veb-xizmatlar bilan to'lib ketgan va ularni josuslik qilish va o'xshashlik orqali amalga oshirish mumkin edi va men Internetda bu ish bo'yicha etarlicha maqolalarni topishga muvaffaq bo'ldim. Shunday qilib, misollar bilan (men uchun bu Eng yaxshi yo'l o'qish), men bu ishni o'zlashtirdim va endi ular meni qo'rqitmaydi.

SO. Har qanday integratsiyaning asosiy vazifasi, xoh u CD, xoh veb-xizmatlar, xoh HTTP xizmatlari, biror joydan biror narsani uzatish, bu haqda biror narsa qilish va javob qaytarishdir. Aynan shu formatda biz yangi texnologiyani ko'rib chiqamiz.

Metadata daraxtida HTTP xizmatlari Umumiy bo'limda joylashgan:

Yangi HTTP xizmati har qanday boshqa metadata ob'ekti kabi qo'shiladi. Ism va sinonim, xohlaganingizcha. Bu erda faqat "Ildiz URL" muhim - bu, aslida, ushbu ma'lumotlar bazasida HTTP xizmatining identifikatori, ya'ni. aynan shu mulkda nima yozsangiz, uni xizmatga havola sifatida uchinchi tomon ishlab chiqaruvchisiga (yaxshi yoki o'zingizga) o'tkazasiz.

Bu yerda kirill alifbosida yozish mumkinmi, bilmayman, lekin ilg'or dunyoda kulib qolmaslik uchun lotin tilida yozing).

Mulk shablonining o'zi bu erda muhim:

Shablondan foydalanib, keyinchalik sizga uzatilgan ma'lumotlarga murojaat qilishingiz mumkin. SO: siz tashqaridan olishni istagan barcha ma'lumotlarni 2 blokga bo'lish mumkin - majburiy va ixtiyoriy.

Biz kerakli ma'lumotlarni / parametrlarni shablonga kiritamiz, shuning uchun agar xizmatga kirgan shaxs ularni to'ldirmagan bo'lsa, xizmat apriori xatolikni keltirib chiqaradi va siz ushbu ma'lumotlar matnini ishlab chiqishda mavjudligiga ishonch hosil qilasiz. ishlov beruvchi moduli. Buni qanday qilish kerak: Shablon qatorida "()" jingalak qavslar ichida, "/" belgisi bilan almashib, o'zgaruvchilarning nomlarini yozing. Misol uchun, bizga, albatta, maqola kerak - keyin / (artikul) yozamiz. Agar biz SKU, ism va foydalanuvchi nomini olishimiz kerak bo'lsa, shablon qatori quyidagicha ko'rinadi: / (artikul) / (ism) / (foydalanuvchi) va boshqalar. Ishlovchi modul matnidagi ushbu parametrlarning har birini quyidagi tarzda olish mumkin: Request.ParametersURL ["<имя параметра>"]. Agar talab qilinadiganlar bo'lmasa, shablon quyidagicha ko'rinadi: / *.

Biz xizmat orqali olishni istagan ixtiyoriy ma'lumotlar shablonda tasvirlanmagan. Bog'lanishni qurishda, xizmatga kirish uchun ular havolaning oxirida "?" belgisidan keyin tavsiflanadi, "&" ampersandlari bilan ajratiladi va tuzilishga ega.<имя параметра>=<значение параметра>... Ishlovchi modul matnida siz ularga quyidagi konstruksiya bilan murojaat qilishingiz mumkin: Request.RequestParameters.Get ("<имя параметра>LEKIN: esda tutish kerak, chunki ular talab qilinmaydi, keyin ular bo'lmasligi mumkin, mos ravishda biz Aniqlanmagan qiymatini tekshiramiz.

Keyinchalik, shablonimiz uchun yangi usul qo'shamiz. Bu erda HTTP usuli xususiyati muhim ahamiyatga ega. Ularning soni juda ko'p, ammo biz barcha nozikliklarga kirmaymiz. Har qanday vazifangizni amalga oshirish uchun sizga faqat 2 ta kerak: GET va POST.

Qanday tanlash kerak: Agar biz oldingi ikkita paragrafda tasvirlangan narsa ish uchun etarli bo'lsa, ya'ni. so'rovning o'zi majburiy va ixtiyoriy parametrlari yordamida barcha kerakli ma'lumotlarni olishingiz mumkin, keyin biz GETni olamiz. Bunday holda, istalgan brauzerda, agar siz manzil satrini to'g'ri kiritsangiz, HTTP xizmatingiz harakati natijasini ko'rasiz - PROFIT! Agar to'satdan sizning xizmatingizga murakkabroq shakldagi ma'lumotlar kerak bo'lsa (masalan, xml yoki boshqa narsa), oddiy manzil satriga tiqilib bo'lmaydigan narsa, biz POSTni olamiz. Minuslardan, GET-da bo'lgani kabi, brauzerning manzil satri orqali bunday oson tekshirish ishlamaydi, lekin Internetda siz POST usuli yordamida xizmatlarni tekshirishingiz mumkin bo'lgan ba'zi saytlarni osongina topishingiz mumkin (masalan, https sayti. ://www.hurl.it) ... Agar POST usuli tanlangan bo'lsa, unda URL (manzil) ga qo'shimcha ravishda, so'rovda siz xohlagan narsani to'ldirishingiz mumkin bo'lgan korpus mavjud va usul ishlov beruvchisida Request.GetBodyAsString () konstruktsiyasi orqali murojaat qilishingiz mumkin. . Har qanday shablonda ham GET usuli, ham POST usuli bo'lishi mumkin. Ular mos ravishda turli xil ishlov beruvchilarga ega bo'ladi va 1C, so'rov qanday yuborilganiga qarab, u yoki bu usulni tanlaydi.

HTTP xizmatini ishlov beruvchisi har doim HTTPServiceResponse turidagi qiymatni qaytaradigan funksiya bo'lib, uni New HTTPServiceResponse ( konstruktori tomonidan qurilgan)<КодСостояния>). <КодСостояния>- bu raqam, nima yozishni tanlashda azoblanmaslik uchun biz yozamiz: 200 - agar hamma narsa yaxshi bo'lsa va siz qandaydir mantiqiy qiymatni qaytarsangiz, 400 - agar xato bo'lsa va tavsifni qaytarsangiz. xato. bor bu turdagi u yerda turli usullar(siz uni sintaksis yordamchisida o'qishingiz mumkin, u erda hamma narsa aniq yozilgan). Shunga qaramay, siz har doim kerakli narsani satr sifatida qaytarishingiz mumkin - SetBodyFromString () usuli. (bitta hiyla: agar siz html-ni qaytarsangiz va xizmat manzilingizni manzil satriga kiritganingizda brauzer uni chiroyli ko'rsatishini istasangiz, Sarlavhalar javob xususiyatiga yozing: Answer.Headers.Insert ("Content-Type", "matn / html; charset = utf-8 ") - bu bilan siz bu shunchaki belgilar to'plami emas, balki HTML ekanligini va shunga mos ravishda ko'rsatilishi kerakligini bildirasiz)

Ishingiz tugagach, HTTP xizmati nashr etilishi kerak. Bu veb-server o'rnatilgan kompyuterda (sozlamalar haqida yozmayman, juda ko'p maqolalar mavjud) menyu orqali amalga oshiriladi:

Ma'muriyat - veb-serverda nashr qilish.

HTTP xizmatlari yorlig'i mavjud. Jakdalarni qo'ying va "Nashr qilish" tugmasini bosing

Diqqat! Endi kurs ham kechki soat 18:30 dan 21:30 gacha immersion formatida o'tkaziladi.

Kursda siz "1C: Enterprise 8" platformasining quyidagi mexanizmlaridan foydalanish bo'yicha amaliy ko'nikmalarga ega bo'lasiz:

  • WEB xizmatlari (SOAP protokoli)
  • JSON formati
  • OData interfeysi (avtomatik REST xizmati)
  • HTTP xizmatlari

MUHIM!!! Kurs XDTO mexanizmi bilan ishlash ko'nikmalariga ega bo'lgan yoki avval kursni tugatgan dasturchilar uchun mo'ljallangan.

Kurs tavsifi va dasturi:

WEB-kurs narxiga quyidagilar kiradi:

  • 2 haftalik kurs, repetitor bilan 2 vebinar
  • 3-sonli 1C-o'quv markazi sertifikati (amaliyot bo'yicha)

To'liq kunlik immersion kursining narxiga quyidagilar kiradi:

  • 2 kun 10:00 dan 17:00 gacha yoki 16:30 dan 21:30 gacha
  • mavhum, naushniklar
  • tushlik, kofe tanaffuslari
  • kurs tugagandan so'ng yangilangan videolarga 2 yil davomida kirish
  • 1C-O'quv markazining №3 sertifikati

Ta'lim shakllari

WEB trening

Bu qanday format:Taklif etilayotgan format masofaviy ta'limning ko'pgina afzalliklarini videomateriallar va onlayn maslahatlar orqali taqdim etilgan yuzma-yuz komponent bilan birlashtiradi.
WEB-kurs videoroliklar, amaliy topshiriqlar va o'qituvchilar bilan vebinarlardan iborat. Barcha kurs materiallari Internet orqali 24/7 mavjud - siz o'zingiz uchun qulay vaqtda o'qishingiz mumkin. Kurs sinflarga bo'lingan. Dars davomida joriy mavzu bo'yicha materiallar o'rganiladi, amaliy mashg'ulotlar o'tkaziladi, o'qituvchiga savollar beriladi. Har bir dars oxirida vebinar o'tkaziladi, unda o'qituvchi olingan barcha savollarni, tipik xatolarni tekshiradi va to'g'ri echimni tushuntiradi. Vebinarlarni yozib olish portalda mavjud. Shu tarzda bir necha darslar birin-ketin o'tadi. Yakunida yakuniy mustaqil ish va yakuniy vebinar o'tkaziladi.

Davomiyligi: 2 hafta

Bu qanday format:


Davomiyligi:16 akademik soat

Bu qanday format:To'liq kunlik immersion kursi - barcha afzalliklarni birlashtirgan format to'liq vaqtda o'qish, masofaviy texnologiyalar va individual ta'lim. Mashg'ulotlar jihozlangan sinfda o'tkaziladi, siz mustaqil ravishda kurs materiallarini o'rganasiz (bosqichma-bosqich videolar) va mahorat darslarini bajarasiz. Shu bilan birga, sinfda istalgan vaqtda savolga javob berishga va amaliy muammolarni hal qilishda yordam berishga, shuningdek ularning bajarilishining to'g'riligini tekshirishga tayyor bo'lgan o'qituvchi mavjud.
Afzalliklar - savollaringiz bo'yicha o'qituvchining individual maslahatlari, shaxsan sizga mos keladigan materialni o'tish tezligi.
Bularning barchasi kurs materialini chuqurroq o'rganish imkonini beradi.
Ushbu kursni ish joyingizdan o'qituvchining talaba bo'lgan joyda bo'lishining to'liq ta'siri bilan olish mumkin! Agar siz ushbu imkoniyatga qiziqsangiz - bizga qo'ng'iroq qiling!

Davomiyligi:16 akademik soat

1C Enterprise 8.3 platformasida HTTP xizmatlarini yaratish mumkin bo'ldi

O'rnatilgan tildan foydalanib, endi siz so'rovga javob yozishingiz mumkin. Buning yordamida siz manbaning tanasiga, sarlavhalariga va qatoriga qulay kirishingiz mumkin iltimos, shuningdek, kod, tana va sarlavhalarni shakllantirish ham mumkin javob o'z ixtiyoriga ko'ra.

SOAP platformasida mavjud veb-xizmatlarga nisbatan HTTP xizmatlari bir qator afzalliklarga ega:

  • Bunday xizmatlarning mijozini dasturlash qulayligi;
  • O'tkazilgan ma'lumotlarning potentsial kamroq miqdori;
  • Potentsial kamroq hisoblash yuki;
  • HTTP xizmatlari resurslarga yo'naltirilgan, SOAP xizmatlari esa harakatga yo'naltirilgan.

Ma'lumotlar bazasi http xizmatlarini amalga oshirishni namoyish etadi

http xizmati Hisob-fakturalar ro'yxati

http xizmati URL naqshlaridan foydalangan, mulkni qayta ishlashni amalga oshirgan ParametersURL ob'ekt HTTPServiceRequest
V bu misol ishchi baza va korporativ sayt o'rtasida qanday tayanch-shim yaratishingiz mumkinligini ko'rsatadi
Ulanish demo ma'lumotlar bazasiga o'rnatildi " Savdoni boshqarish 11", unda siz nom bilan qo'shimcha xususiyatni o'rnatishingiz kerak Veb parol , bu erda kirish uchun parolni saqlaymiz.
http so'rovi URL parametrlariga o'tkaziladi: login va parol sifatida INN.
So'rovni qayta ishlashda ComConnector orqali UT ga ulanish amalga oshiriladi (tormozlar kafolatlanadi) va u erdan tanlov amalga oshiriladi.
Men ushbu yechimning tezligi va xavfsizligini da'vo qilmayman, bu misol

Shunday qilib. Metadata daraxtida yangi filial paydo bo'ldi - HTTP xizmatlari
Biz yaratamiz yangi xizmat, uning nomini va ildiz URL manzilini ko'rsating (ro'yxat)
Ildiz url http xizmatimizga qo'ng'iroq qilish uchun ishlatiladi
Keyin http xizmatiga URL shablonini qo'shing, unda "/ (Login) / (Parol)"
Bunday shablon http so'rovini qayta ishlashda parametrlarning tegishli tuzilishini va URL parametrlarida ularning qiymatlarini olish imkonini beradi.
Endi bizning URL namunamizga "get" nomli usulni qo'shing, http usuli sifatida GET ni tanlang.
Ishlovchini oching va kodni yozing
Usul ishlov beruvchisi - bu turdagi qiymatni qaytarishi kerak bo'lgan funktsiya HTTPServiceReply

http xizmati Buyurtma holati

Misol POST usuli bilan o'tkazilgan o'zgaruvchilarni qayta ishlashni, html sahifasi ko'rinishida javobni shakllantirishni amalga oshiradi.
Bu safar ma'lumotlar hs joylashgan ma'lumotlar bazasidan olinadi, shuning uchun u avvalgi http xizmatiga qaraganda ancha tez ishlaydi.
Ishchi tizimni amalga oshirishda ma'lumotlar bazasida ob'ektlarni yaratish (xizmat bilan) va manba ma'lumotlar bazasidan ma'lumotlar migratsiyasini sozlash (masalan, alohida fon jarayonida) mantiqan. http so'rovini qayta ishlashda tanlov to'g'ridan-to'g'ri u joylashgan ma'lumotlar bazasidan amalga oshirilishi kerak.

Nashr

Veb-serverni o'rnatish va sozlash haqida juda ko'p ma'lumotlar mavjud.
Bu yerdan httpd-2.2.25-win32-x86-openssl-0.9.8y.exe dan foydalandim.
"Keyingi-Keyingi-Finish" usuli yordamida o'rnatilgan :)
Http xizmatlarini nashr qilish veb-xizmatlarni nashr qilish bo'lgan joyda va unchalik farq qilmaydi.
Veb-serverni "Konfigurator" rejimida o'rnatgandan so'ng, "Ma'muriyat" - "Veb-serverda nashr etish" menyusiga o'ting.
"HTTP xizmatlari" yorlig'ida nashr nomini, veb-serverni, nashr katalogini o'rnating va xizmatlarimizni belgilang (mening holimda bu nom "veb", Apache veb-server 2.2)
Nashr qilishda tegishli bloklar avtomatik ravishda httpd.conf konfiguratsiya fayliga yoziladi va server qayta ishga tushiriladi (birinchi nashrda)
http xizmati bilan bog'lanish
Misol: http: // mening saytim / veb / hs / ro'yxat, qayerda
mening saytim- server manzili (agar veb-server mahalliy sifatida o'rnatilgan bo'lsa - siz 127.0.0.1 dan foydalanishingiz mumkin)
veb- nashr paytida ko'rsatilgan ism (taxallus)
hs- http xizmatlari bilan ishlaydigan serverga xabar beruvchi yo'lning majburiy segmenti bo'ladi
ro'yxati- veb-xizmatning ildiz url

Sinov

Hisob-fakturalar ro'yxati

http://127.0.0.1/web/hs/list/7705260681/pswMP (Parol uchun UT da qo'shimcha xususiyatni sozlashni unutmang)

Hujjatlar reestriga kirish uchun foydalanuvchi TIN va parolni o'z ichiga olgan to'g'ridan-to'g'ri havolaga kirishi taxmin qilinadi

Buyurtma holati

http://127.0.0.1 / veb / hs / tekshirish

So'rov va javob bir xil URL manzilida joylashgan. Sahifaga kirganda, u ishga tushadi GET usuli html formasini qaytarish

"Tekshirish" tugmasini bosganingizda, buyurtma raqami POST usuli yordamida bir xil URL manziliga yuboriladi, javob so'ralgan buyurtma bo'yicha ma'lumotlar bilan to'ldirilgan bir xil so'rov shakli bilan qaytariladi.

Ilova qilingan faylda - 1C 8.3 uchun ma'lumotlar bazasini tushirish. Konfiguratsiya UT 11 demo bazasi, "Buyurtma" hujjati bilan qo'shma ulanishni o'rnatish (nashrdan boshlab) 2 http-xizmatlarini o'z ichiga oladi.

Ishga tushirish va sinovdan o'tkazish uchun nima talab qilinadi

  • veb-server
  • har qanday veb-brauzer
  • joriy nashr1C: Korxona 8.3



Konfiguratsiyaning joriy holatini olish zaruriyatiga duch keldi. Siz olishingiz kerak:

  • Muayyan tanlovga ega hujjatlar soni;
  • Mahsulot uchun oxirgi ro'yxatga olingan narx davri;
  • Oxirgi 10 daqiqada foydalanuvchilar tomonidan e'lon qilingan hujjatlar soni.

Amalga oshirish tajribasini hisobga olgan holda mobil ilova loyihalarda dastlab android uchun konfiguratsiya yozish fikri paydo bo'ldi. Barcha ijobiy va salbiy tomonlarini ko'rib chiqib, men bu yondashuv mening muammomni hal qilish uchun mos emas degan xulosaga keldim. Keyin http xizmatidan foydalanish uchun kurs o'tkazildi. Buning uchun konfiguratsiyada "Statistika" http-xizmati ro'yxatdan o'tkazildi, url shabloniga AnyURL qo'shildi, buning uchun get usuli qo'shildi.


Konfiguratsiya daraxti ob'ektlarini shakllantirgandan so'ng, biz javobni yaratish algoritmini yozishni boshlaymiz. Usul HTTPServiceResponse tipidagi javobni qaytaradi:

Javob kodini yozganimizdan so'ng, biz konfiguratordan http xizmatini nashr etamiz va unga brauzerdan kiramiz. http xizmatiga kirish uchun "/ hs / statistic /" qo'shish orqali veb-mijozdagi kabi manzilga murojaat qilishingiz kerak. hs platformaga http xizmatiga kirishni bildiradi va statistika bizning xizmatimizning nomidir.

Menimcha, http xizmatlari quyidagi hollarda foydali bo'lishi mumkin:
- konfiguratsiya bo'yicha statistik ma'lumotlarni shakllantirish;
- buyurtma maqomini uning raqami bo'yicha olish funksionalligi;
- boshqa tizimlarga import qilish uchun ma'lumotlarni tayyorlash.

Boshlash uchun men bir marta veb-xizmatlar bilan mustaqil ravishda shug'ullanishim kerak edi. Keyin qandaydir tarzda men bu biznesni o'zlashtira oldim va hamma narsa ishlashi uchun nimani va qaerga bosishni tushundim. Yaxshiyamki, men ishlashim kerak bo'lgan konfiguratsiya allaqachon tiqilib qolgan edi Veb-xizmatlarni josuslik qilish va o'xshashlik bilan amalga oshirish mumkin edi va Internetda men bu ish bo'yicha etarlicha maqolalarni topa oldim. Shunday qilib, misollar bilan (men uchun bu o'rganishning eng yaxshi usuli), men bu biznesni o'zlashtirdim va endi ular meni qo'rqitmaydi.

SO... Har qanday integratsiyaning asosiy vazifasi, xoh u CD, xoh veb-xizmatlar, xoh HTTP xizmatlari, biror joydan biror narsani uzatish, bu haqda biror narsa qilish va javob qaytarishdir. Aynan shu formatda biz yangi texnologiyani ko'rib chiqamiz.

Metadata daraxtida HTTP xizmatlari Umumiy bo'limda joylashgan:

Yangi HTTP xizmati har qanday boshqa metadata ob'ekti kabi qo'shiladi. Ism va sinonim, xohlaganingizcha. Bu erda faqat "Ildiz URL" muhim - bu, aslida, identifikator Ushbu ma'lumotlar bazasida HTTP xizmati, ya'ni. aynan shu mulkda nima yozsangiz, uni xizmatga havola sifatida uchinchi tomon ishlab chiqaruvchisiga (yaxshi yoki o'zingizga) o'tkazasiz.

Bu yerda kirill alifbosida yozish mumkinmi, bilmayman, lekin ilg'or dunyoda kulib qolmaslik uchun lotin tilida yozing).

Mulk shablonining o'zi bu erda muhim:

Shablondan foydalanib, keyinchalik sizga uzatilgan ma'lumotlarga murojaat qilishingiz mumkin. SO: tashqaridan olishni istagan barcha ma'lumotlarni 2 blokga bo'lish mumkin - majburiy va ixtiyoriy.

Majburiy ma'lumotlar / parametrlar biz ularni shablonga surib qo'yamiz, shuning uchun agar xizmatga kirgan shaxs ularni to'ldirmagan bo'lsa, u holda xizmat apriori xato qiladi va siz ishlov beruvchi moduli matnini ishlab chiqishda ushbu ma'lumotlar mavjudligiga ishonch hosil qilasiz. Buni qanday qilish kerak: Shablon qatorida "()" jingalak qavslar ichida, "/" belgisi bilan almashib, o'zgaruvchilarning nomlarini yozing. Misol uchun, bizga, albatta, maqola kerak - keyin / (artikul) yozamiz. Agar biz SKU, ism va foydalanuvchi nomini olishimiz kerak bo'lsa, shablon qatori quyidagicha ko'rinadi: / (artikul) / (ism) / (foydalanuvchi) va boshqalar. Ishlovchi modul matnidagi ushbu parametrlarning har birini quyidagi tarzda olish mumkin: Request.ParametersURL ["<имя параметра>"]. Agar talab qilinadiganlar bo'lmasa, shablon quyidagicha ko'rinadi: / *.

Ixtiyoriy maʼlumotlar biz xizmat orqali olishni xohlayotganimiz shablonda tasvirlanmagan. Bog'lanishni qurishda, xizmatga kirish uchun ular havolaning oxirida "?" belgisidan keyin tavsiflanadi, "&" ampersandlari bilan ajratiladi va tuzilishga ega.<имя параметра>=<значение параметра>... Ishlovchi modul matnida siz ularga quyidagi konstruksiya bilan murojaat qilishingiz mumkin: Request.RequestParameters.Get ("<имя параметра>LEKIN: esda tutish kerak, chunki ular talab qilinmaydi, keyin ular bo'lmasligi mumkin, mos ravishda biz Aniqlanmagan qiymatini tekshiramiz.

Keyinchalik, shablonimiz uchun yangi usul qo'shamiz. Bu erda HTTP usuli xususiyati muhim ahamiyatga ega. Ularning soni juda ko'p, ammo biz barcha nozikliklarga kirmaymiz. Har qanday vazifani bajarish uchun sizga faqat 2 ta kerak bo'ladi: OLISH va POST.

Qanday tanlash kerak: Agar biz oldingi ikkita paragrafda tasvirlangan narsa ish uchun etarli bo'lsa, ya'ni. so'rovning o'zi majburiy va ixtiyoriy parametrlari yordamida barcha kerakli ma'lumotlarni olishingiz mumkin, keyin biz GETni olamiz. Bunday holda, istalgan brauzerda, agar siz manzil satrini to'g'ri kiritsangiz, HTTP xizmatingiz harakati natijasini ko'rasiz - PROFIT! Agar to'satdan sizning xizmatingizga murakkabroq shakldagi ma'lumotlar kerak bo'lsa (masalan, xml yoki boshqa narsa), oddiy manzil satriga tiqilib bo'lmaydigan narsa, biz POSTni olamiz. Minuslardan, GET-da bo'lgani kabi, brauzerning manzil satri orqali bunday oson tekshirish ishlamaydi, lekin Internetda siz POST usuli yordamida xizmatlarni tekshirishingiz mumkin bo'lgan ba'zi saytlarni osongina topishingiz mumkin (masalan, https sayti. ://www.hurl.it) ... Agar usul tanlangan bo'lsa POST, keyin so'rov qo'shimcha ravishda URL (manzillar), siz xohlagan narsani to'ldirishingiz mumkin bo'lgan korpus paydo bo'ladi va usul ishlov beruvchisida Request.GetBodyAsString () konstruktsiyasi orqali murojaat qiling. Har qanday shablonda ham GET usuli, ham POST usuli bo'lishi mumkin. Ular mos ravishda turli xil ishlov beruvchilarga ega bo'ladi va 1C, so'rov qanday yuborilganiga qarab, u yoki bu usulni tanlaydi.

HTTP xizmatini ishlov beruvchisi har doim HTTPServiceResponse turidagi qiymatni qaytaradigan funksiya bo'lib, uni New HTTPServiceResponse ( konstruktori tomonidan qurilgan)<КодСостояния>). <КодСостояния>- bu raqam, nima yozishni tanlashda azoblanmaslik uchun biz yozamiz: 200 - agar hamma narsa yaxshi bo'lsa va siz qandaydir mantiqiy qiymatni qaytarsangiz, 400 - agar xato bo'lsa va tavsifni qaytarsangiz. xato. Ushbu turdagi turli xil usullar mavjud (siz uni sintaksis yordamchisida o'qishingiz mumkin, u erda hamma narsa aniq yozilgan). Shunga qaramay, siz har doim kerakli narsani satr sifatida qaytarishingiz mumkin - SetBodyFromString () usuli. (bitta hiyla: agar siz html-ni qaytarsangiz va xizmat manzilingizni manzil satriga kiritganingizda brauzer uni chiroyli ko'rsatishini istasangiz, Sarlavhalar javob xususiyatiga yozing: Answer.Headers.Insert ("Content-Type", "matn / html; charset = utf-8 ") - bu bilan siz bu shunchaki belgilar to'plami emas, balki HTML ekanligini va shunga mos ravishda ko'rsatilishi kerakligini bildirasiz)

Ishingiz tugagach, HTTP xizmati nashr etilishi kerak. Bu veb-server o'rnatilgan kompyuterda (sozlamalar haqida yozmayman, juda ko'p maqolalar mavjud) menyu orqali amalga oshiriladi:

Ma'muriyat - veb-serverda nashr qilish.

HTTP xizmatlari yorlig'i mavjud. Jakdalarni qo'ying va "Nashr qilish" tugmasini bosing

shunday, bizda tayyor HTTP xizmati mavjud. U bilan QANDAY bog'lanish kerak? Agar biz GET usulidan foydalansak, brauzerning manzil satriga yozamiz: http: //<имя веб сервера>/<имя базы>/ s /<корневой URL>/<обязательный параметр1>/<обязательный параметр2> <имя не обязательного параметра 1>=<значение не обязательного параметра 1>&<имя не обязательного параметра 2> =<значение не обязательного параметра 2> .

Va nihoyat, yana bir bor rasmlarda))):