გახსნა
დახურვა

მზა გადაწყვეტილებების განთავსება Bitrix Marketplace-ში: როგორ დაზოგოთ დრო. მზა გადაწყვეტილებების განთავსება Bitrix Marketplace-ში: როგორ დაზოგოთ დრო Bitrix Play Market

1C-Bitrix ბაზარი უკვე 3 წელზე მეტია და, ჩემი აზრით, ჯერ კიდევ არ არის სრულფასოვანი სასწავლო მასალები განვითარების მაგალითებით. ეს პრობლემა ვერ მოგვარდა ოფიციალური 1C-Bitrix სასწავლო კურსის ვიდეო გაკვეთილებით გამოშვებითაც კი. შესაძლოა, გამოცდილი დეველოპერებისთვის API დოკუმენტაცია საკმარისია, მაგრამ უკვე რამდენიმე წელია, რაც ვფიქრობ, როგორ მივიღო გადაწყვეტილება, არც კი ვიცოდი საიდან დამეწყო.

განსაკუთრებით ამ პრობლემის გადასაჭრელად გამოვაქვეყნე ჩემი უმარტივესი გადაწყვეტა მინიმალური ფუნქციონირებით (0.2 ვერსიაში) - "SimpleAdaptive Landing".

სტრუქტურა:

თავისებურებები:

სტრუქტურა:

    • რას ვდებთ - ../site/
      • "სერვისები" - ../სერვისები/

თავისებურებები:

  • *** - შეიცავს საჯარო ფაილების ასლს (დაშვებულია კირილიცა).
    • იმ ადგილებში, სადაც უნდა შეიცვალოს შინაარსი მომხმარებლის მიერ ოსტატის ველებში შეყვანილი მნიშვნელობებით, არის MACROS.
  • თანმიმდევრულად. მაგალითი:

საიტის შეფუთვის პრინციპი:

ეტაპი 3 - მოდული

სტრუქტურა:

თავისებურებები:

შეფუთვის პრინციპი

  1. ჩვენ ვქმნით ოსტატს.

ეტაპი 4 - არქივი ბაზრისთვის

შეფუთვის პრინციპი:

სტრუქტურა:

ბაზრის არქივის იდენტურია რამდენიმე გამონაკლისის გარდა*

  • ** - /VERSION_NUMBER/..

თავისებურებები:

შეფუთვის პრინციპი:

  1. ჩვენ ვიღებთ არქივს უახლესი სტაბილური მოდულით (სრული), ყველა ცვლილება იქნება საიტის ინსტალაციის ოსტატში.
  2. წაშალეთ შეუცვლელი ფაილები
  3. ჩვენ ვაძლევთ "თანმხლები ფაილებს" (განახლება, მოდულის ვერსია, აღწერა)
  4. ჩვენ დავარქივებთ საქაღალდეს VERSION_NUMBER.zip-ის ყველა შიგთავსით

ჰოო, მოდული/განახლება მზადაა მარკეტში გასაგზავნად!

მარტივი მზა გადაწყვეტის მაგალითი 1C-Bitrix Marketplace-ისთვის

1C-Bitrix ბაზარი უკვე 3 წელზე მეტია და, ჩემი აზრით, ჯერ კიდევ არ არის სრულფასოვანი სასწავლო მასალები განვითარების მაგალითებით. ეს პრობლემა ვერ მოგვარდა ოფიციალური 1C-Bitrix სასწავლო კურსის ვიდეო გაკვეთილებით გამოშვებითაც კი. შესაძლოა, გამოცდილი დეველოპერებისთვის API დოკუმენტაცია საკმარისია, მაგრამ უკვე რამდენიმე წელია, რაც ვფიქრობ, როგორ მივიღო გადაწყვეტილება, არც კი ვიცოდი საიდან დამეწყო.

განსაკუთრებით ამ პრობლემის გადასაჭრელად გამოვაქვეყნე ჩემი უმარტივესი გადაწყვეტა მინიმალური ფუნქციონირებით (0.2 ვერსიაში) - "SimpleAdaptive Landing".

GitHub-ის საცავში გამოვაქვეყნე 5 დავალება, რომელიც შეესაბამება მარტივი საიტის ბაზრის სრულფასოვან მოდულად გადაქცევის 5 ეტაპს (და მისი შემდგომი განახლება):

  • ეტაპი 1 - საიტი
    • ეტაპი 2 - საიტის შექმნის ოსტატი
    • ეტაპი 3 - მოდული (შეიცავს მასტერს)
    • ეტაპი 4 - არქივი 1C-Bitrix Marketplace-ში გაგზავნისთვის
    • ეტაპი 5 - არქივი განახლებით 1C-Bitrix Marketplace-ისთვის

მაშ ასე, მოკლედ გავაანალიზოთ, რას შეიცავს თითოეული ეტაპი და რა გარდაქმნები ხდება მასთან:

ეტაპი 1 - საიტი

Აქ

სტრუქტურა:

  • საჯარო ფაილები - / (საიტის ძირიდან)
  • საიტის შაბლონის ფაილები – /bitrix/templates/TEMPLATE_ID/

თავისებურებები:

  • ჩართული ტერიტორიების ფაილები ინახება საიტის სტრუქტურაში (ასე რომ თქვენ შეგიძლიათ მარტივად დაამატოთ ახალი სადესანტო გვერდები საიტის სხვადასხვა სექციაში და მემკვიდრეობით მიიღოთ ჩართული ტერიტორიების საჭირო „სლაიდები“)
  • მოიცავს უბნების ზარს განთავსებულია index.php გვერდზე (მომგონი არასასიამოვნო მეჩვენება, რადგან შეიცავს კონტენტის რედაქტორების მიერ კომპონენტის ზარის კოდის დაზიანების რისკს, მაგრამ არ ამატებს რაიმე სარგებელს. თუმცა, ეს იყო სავალდებულო მოთხოვნა. გადაწყვეტა უნდა იყოს მოდერირებული და ზარები გადატანილია შაბლონიდან გვერდზე 0.2.1 ვერსიით)

ეტაპი 2 - საიტის შექმნის ოსტატი

Აქ

სტრუქტურა:

  • თავად მოდული არის /bitrix/wizards/NAME_SPACE/MASTER_NAME/..
    • .description.php* - ../.description.php
    • wizard.php** - ../wizard.php
    • ოსტატის ენის ფაილები (ოსტატი და აღწერა!) - ../lang/language_id/
    • სურათები (გამოიყენება ინსტალაციის ოსტატში ინსტალაციის პროცესის დიზაინისთვის) - ../images/
    • რას ვდებთ - ../site/
      • საჯარო ფაილები*** - ../public/LANGUAGE_ID/
      • შაბლონის ფაილები**** - ../templates/TEMPLATE_ID/
      • "სერვისები" - ../სერვისები/
        • სერვისების სია******* - ../.services.php
        • სერვისების "ტიპები"/"ჯგუფები", მაგალითად MAIN******** - ../main/

თავისებურებები:

  • * - შეიცავს ოსტატის ვერსიას (არ არის კრიტიკული) და ოსტატის ნაბიჯების მასივს (მნიშვნელოვანია მასივში ახალი ნაბიჯების დამატება!)
  • ** - შეიცავს თავად ოსტატის ნაბიჯებს, ასევე "ნაგულისხმევ მნიშვნელობებს". ამ ფაილში მნიშვნელოვანია:
    • გადაიტანეთ "ნაგულისხმევი" მნიშვნელობები პირველადი მასივიდან შესაბამის ეტაპზე და დაამუშავეთ ისინი იქ, მაშინაც კი, თუ არ გეგმავთ მომხმარებლის მიერ მათ შეცვლას.
    • შესაბამის ნაბიჯებში შეავსეთ ველები, შექმენით საიტები, დააკოპირეთ ფაილები ფაილების საქაღალდეებიდან (განყოფილება „რას ვდებთ“). არანაირი კონკრეტული ქმედება.
    • კირილიცას გამოყენება დაუშვებელია!!! ყველა კირიული სიმბოლო ჩასმულია ენობრივი ფრაზების სახით!
  • **** - შეიცავს შაბლონის ფაილების ასლს. Მნიშვნელოვანი:
    • კირილიცა დაუშვებელია. გამოიყენეთ ენის ფაილები ან მაკროები.
    • იმ ადგილებში, სადაც უნდა შეიცვალოს შინაარსი მომხმარებლის მიერ ოსტატის ველებში შეყვანილი მნიშვნელობებით, არის MACROS.
  • ****** - დაკავშირების სერვისების მასივი თანმიმდევრულად. მაგალითი:

"TYPE/GROUP_NAME" => მასივი(

"NAME" => GetMessage ("SERVICE_MAIN_SETTINGS"),

"ეტაპები" => მასივი(

"service_file_1.php",

"service_2.php ფაილი",

"service_3.php ფაილი",

  • ******* - საქაღალდეები ჯგუფის/ტიპის სახელებით შეიცავს სერვისის ფაილებს. სერვისები ახორციელებენ სპეციფიკურ რედაქტირებას. მაგალითად, ისინი ცვლიან მაკროებს საჯარო/თარგების ფაილებში ინსტალაციის ოსტატის მნიშვნელობებით (მაგალითში) ან იმპორტის ინფობლოკებს (მაგალითში არა).

საიტის შეფუთვის პრინციპი:

  1. ატვირთეთ საჯარო ფაილები /bitrix/wizards/NAMESPACE/MASTER_NAME/site/public/LANGUAGE_ID/
  2. ატვირთეთ შაბლონი /bitrix/wizards/NAMESPACE/MASTER_NAME/site/templates/template_ID/
  3. საჭირო ნაჭრებს ვანაცვლებთ მაკროებით
  4. ჩვენ ვწერთ ოსტატს და აღწერას ეტაპობრივად ცვლადებით, რომლებიც მნიშვნელოვანია საზოგადოებისთვის / შაბლონისთვის
  5. ჩვენ ვწერთ სერვისებს, რომლებიც მუშაობენ მაკროებით
  6. ვარჩევთ (ვწერთ ენობრივ ფრაზებს და ა.შ.)

ეტაპი 3 - მოდული

Აქ

სტრუქტურა:

  • * - /bitrix/modules/PARTNER_CODE.MODULE_CODE/..
    • საჭირო მოიცავს** - ../include.php
    • მოდულის ენის ფაილები - ../lang/LANGUAGE_ID/
    • მოდულის ინსტალერი - ../install/
      • მოდულის ვერსია*** - ../version.php
      • ინსტალერი**** - ../index.php
      • ინსტალაციის ოსტატი***** - ../wizards/
      • კომპონენტები******* - ../კომპონენტები/

თავისებურებები:

  • * - პარტნიორის კოდი მცირე ასოებით. მოდულის კოდი ასევე არის პატარა ლათინური ასოებით ხაზგასმის გარეშე (განსხვავებით შაბლონი/მასტერისგან)
  • ** - თუ დემო დაცვას არ განახორციელებთ, ის შეიძლება ცარიელი იყოს.
  • *** - კრიტიკული ღირებულება ბაზრისთვის!
  • **** - შეიცავს მოდულის კოდს პარტნიორთან.
  • ***** - წინა ეტაპის შესაბამისი საქაღალდის შიგთავსის ასლი. გადაწყვეტის დაყენებისას ის კოპირდება /bitrix/wizards/ საქაღალდეში და გადაგიყვანთ 2 ეტაპზე.
  • ****** - არ არის ნაჩვენები მაგალითში. მოდულის დაყენებისას ის უბრალოდ კოპირდება შესაბამის საქაღალდეში.

შეფუთვის პრინციპი

  1. ჩვენ ვქმნით ოსტატს.
  2. მომზადების მიხედვით ვაფორმებთ ნებისმიერ ტინელს.

ეტაპი 4 - არქივი ბაზრისთვის

Აქ

შეფუთვის პრინციპი:

  1. ჩვენ ვიღებთ /bitrix/modules/PARTNER_CODE.MODULE_CODE/ საქაღალდის შიგთავსს და ვამატებთ მას /.last_version/ საქაღალდეში.
  2. დაარქივეთ /.last_version/ საქაღალდე archive.last_version.zip-ში

ეტაპი 5 - ბაზრის განახლება

Აქ

სტრუქტურა:

ბაზრის არქივის იდენტურია რამდენიმე გამონაკლისის გარდა*

  • ** - /VERSION_NUMBER/..
    • განახლების ტექსტური აღწერა*** - ../description.ru
    • განახლების ინსტალერი**** - updater.php

თავისებურებები:

  • * - მხოლოდ შეცვლილი ფაილები გამოიყენება განახლებაზე
  • ** - /.last_version/-ის ნაცვლად, საქაღალდის სახელში გამოიყენება მოდულის ვერსიის ნომერი (უნდა ემთხვეოდეს მოდულის ვერსიის ნომერს /VERSION_NUMBER/install/version.php-ში)
  • *** - ტექსტური ფაილი, რომელიც გამოიყენება განახლების შესახებ ინფორმაციის ფორმატირებისთვის 1C-Bitrix Marketplace-ში
  • **** - უმარტივეს შემთხვევაში შესაძლებელია საცავიდან ნიმუშის გამოყენება, მასში ჯერ არ არის ჩართული კონკრეტული მოქმედებები.

შეფუთვის პრინციპი:

  1. ჩვენ ვიღებთ არქივს უახლესი სტაბილური მოდულით (სრული), ყველა ცვლილება იქნება საიტის ინსტალაციის ოსტატში.
  2. წაშალეთ შეუცვლელი ფაილები
  3. ჩვენ ვაძლევთ "თანმხლები ფაილებს" (განახლება, მოდულის ვერსია, აღწერა)
  4. ჩვენ დავარქივებთ საქაღალდეს VERSION_NUMBER.zip-ის ყველა შიგთავსით

ჰოო, მოდული/განახლება მზადაა მარკეტში გასაგზავნად!

როგორ დავაყენოთ უფასო გადაწყვეტა?

1. დააინსტალირეთ 1C-Bitrix: საიტის მენეჯმენტიან კორპორატიული პორტალი .
თქვენ შეგიძლიათ ჩამოტვირთოთ ისინი აქედანბმული .

2. არჩეული გადაწყვეტის გვერდზე დააწკაპუნეთ მწვანე ღილაკზე „Install“.
ამომხტარ ფანჯარაში შეიყვანეთ თქვენი საიტის ან პორტალის მისამართი (იხ. პუნქტი 1), დააწკაპუნეთ "ინსტალაციაზე"

3. ინსტალაცია გაიხსნება ახალ ჩანართში, შემდეგ მიჰყევით ოსტატის ნაბიჯებს.

4. თითოეულ გადაწყვეტას აქვს თავისი სპეციფიკა, ინსტალაციისა და კონფიგურაციის დასასრულებლად შეიძლება საჭირო გახდეს სხვადასხვა ნაბიჯები.
დეტალური ინფორმაცია და დოკუმენტაცია მოცემულია გადაწყვეტის ბარათში "ინსტალაციის" განყოფილებაში. ჩვენ გირჩევთ, წაიკითხოთ ეს ინფორმაცია ინსტალაციის დაწყებამდე.

როგორ ვიყიდოთ ფასიანი გადაწყვეტა

შესაძენად დააწკაპუნეთ ღილაკზე "ყიდვა" გადაწყვეტის ბარათში, განათავსეთ შეკვეთა, აირჩიეთ მოსახერხებელი გადახდის მეთოდი. გადახდის შემდეგ წერილი კუპონით და მისი გააქტიურების ინსტრუქცია იგზავნება თქვენ მიერ შეკვეთისას მითითებულ მეილზე.


ყურადღება! კუპონის გააქტიურებამხოლოდპროექტზე, რომლისთვისაც ხსნარის შეძენა ხდება. არ გაააქტიუროთ ის NFR და DEMO კლავიშებზე.კუპონის ხელახალი გააქტიურება შეუძლებელია


გადაწყვეტის დასაყენებლად გჭირდებათ:
  1. შედით თქვენი საიტის მართვის პანელში ადმინისტრატორის უფლებებით.
  2. გადადით Marketplace განყოფილებაში > გადაწყვეტილებების განახლება - ჩანართზე „კუპონის გააქტიურება“ და შეიყვანეთ კუპონი სპეციალურ ველში.
  3. კუპონის შეყვანის შემდეგ, შეძენილი გადაწყვეტა გამოჩნდება სამონტაჟო გადაწყვეტილებების სიაში. დააჭირეთ "ინსტალაციას" და მიჰყევით ინსტრუქციას.

ტექნიკური მხარდაჭერა და განახლებები

1C-Bitrix არ არის პასუხისმგებელი პარტნიორების გადაწყვეტილებებზე Marketplace-ში. Marketplace-ში გადაწყვეტილებების ტექნიკური მხარდაჭერა უზრუნველყოფილია მათი დეველოპერების მიერ. საკონტაქტო ინფორმაცია და წესები მითითებულია გადაწყვეტის ბარათში "მხარდაჭერის" ჩანართში

Marketplace-ის კატალოგიდან ყველა გადაწყვეტა დამონტაჟებულია მხოლოდ 1C-Bitrix პროდუქტებზეაქტიური ლიცენზია. სტატუსის შემოწმება შეგიძლიათ თქვენი საიტის მართვის პანელში, "განახლებების" განყოფილებაში ან ჩვენს საიტზე.ვებგვერდი.

"1C-Bitrix: Marketplace" ფასიანი გადაწყვეტილებების განახლებები და მხარდაჭერა მოქმედებს1 წლის.მხარდაჭერის პერიოდის დასრულების შემდეგ, ნებისმიერ დროს შეგიძლიათ შეიძინოთ ახალი ვერსია გადაწყვეტის ღირებულების 50%-ის ფასად (იმ პირობით, რომ დეველოპერმა გამოუშვა ახალი ვერსია და მისი რიცხვი მეტია თქვენს მიერ დაინსტალირებულზე. ). ამ დრომდე, თქვენი გადაწყვეტა იმუშავებს ისე, როგორც ადრე, განახლებების ნაკლებობა გავლენას არ ახდენს შესრულებაზე.

ახალი ვერსიის შეძენა ხდება თქვენი საიტის მართვის პანელიდან: Marketplace - დაინსტალირებული გადაწყვეტილებები. ის ასევე მიუთითებს განახლების დროზე.

Marketplace არის სერვისი 1C-Bitrix-ისგან, რომელიც დეველოპერებს საშუალებას აძლევს გაუზიარონ თავიანთი გადაწყვეტილებები კლიენტებისა და სხვა დეველოპერების ფართო აუდიტორიას. რა არის გადაწყვეტილებები? ეს შეიძლება იყოს მზა მოდული ან კომპონენტი პროექტისთვის 1C-Bitrix პროდუქტებზე, როგორიცაა საიტის მენეჯმენტი ან კორპორატიული პორტალი, ან მზა ვებსაიტი ასევე 1C-Bitrix პლატფორმებზე. გადაწყვეტილებების პირველი კატეგორია ძირითადად ითვალისწინებს აუდიტორიას სხვა დეველოპერებისგან, ხოლო მეორე უფრო მეტად მომხმარებელზეა ორიენტირებული. გადაწყვეტილებები შეიძლება იყოს როგორც ფასიანი, ასევე უფასო.

დეველოპერებისთვის ამ ხელსაწყოს გამოყენების უპირატესობებია მოგების მიღების შესაძლებლობა, ახალი მომხმარებლები, ასევე დამატებითი ქულები 1C-Bitrix პარტნიორ სისტემაში მათი რეიტინგის გაზრდისთვის. მშვენიერი ბონუსი: პირველად განთავსებული გადაწყვეტისთვის, Bitrix აგროვებს ეგრეთ წოდებულ მისასალმებელ ქულებს - სამჯერ მეტი თანხა.

ბაზარზე გადაწყვეტილებების განთავსებისთვის, თქვენ უნდა შეასრულოთ რამდენიმე ნაბიჯი:

    თქვენ უნდა გახდეთ 1C-Bitrix-ის პარტნიორი.

    გააფორმეთ სალიცენზიო ხელშეკრულება.
    ფასიანი გადაწყვეტილებების განსათავსებლად საჭიროა სალიცენზიო ხელშეკრულება. ხელშეკრულება სრულდება პარტნიორის პირად ანგარიშზე.

    მოამზადეთ გადაწყვეტა კომპანიის მოთხოვნების შესაბამისად.
    წესები, რეგულაციები და მოთხოვნები შეგიძლიათ იხილოთ თქვენს ანგარიშში განყოფილებაში "Marketplace", ასევე გადაწყვეტილებების მოთხოვნები შეგიძლიათ იხილოთ ბმულზე.

    მოამზადეთ გრაფიკული მასალები ხსნარის დაყენების ოსტატის შესაქმნელად და ხსნარის ბაზარზე განთავსებისთვის.

    შექმენით ინსტალაციის ოსტატი და შექმენით გადაწყვეტის განაწილება.
    დოკუმენტაცია მზა გადაწყვეტილებების შესაქმნელად Marketplace Bitrix Framework.

    ჩაატარეთ ხსნარის თვითშემოწმება.
    ტესტის გეგმა შეგიძლიათ იხილოთ Bitrix Framework დეველოპერების კურსში.

    მოამზადეთ გადაწყვეტის აღწერილობის ტექსტები, ინსტალაციისა და ტექნიკური მხარდაჭერის მონაცემები.
    ეს ასევე მნიშვნელოვანი ნაბიჯია, რადგან კლიენტის აღწერამ უნდა გაიგოს, როგორია თქვენი გამოსავალი, უხდება თუ არა მას და ღირს თუ არა ყიდვა.

    აირჩიეთ გადაწყვეტის დასახელება და კატეგორია, რომელიც განთავსდება მზა გადაწყვეტილებების კატალოგში.
    გასათვალისწინებელია, რომ კლიენტები ხშირად ეძებენ გადაწყვეტილებებს სახელის ძიებით, ხოლო სახელის შეცვლა მოითხოვს აპლიკაციების ახალი ვერსიების გაგზავნას კონტრაქტში, ამიტომ მნიშვნელოვანია დაუყოვნებლივ აირჩიოთ გადაწყვეტის სწორი ტევადი და გასაგები სახელი.

    მოამზადეთ დემო საიტი.
    იმისათვის, რომ მყიდველებს გაუადვილდეთ იმის გაგება, რომ თქვენი გამოსავალი არის ზუსტად ის, რასაც ისინი ეძებდნენ და გადაწყვიტეს შეძენა, თქვენ უნდა მოამზადოთ მზა გადაწყვეტის ონლაინ დემონსტრირება.

    ჩამოტვირთეთ განაწილების ნაკრები პარტნიორის პირად ანგარიშზე.
    ჩამოტვირთვის შესახებ მეტი შეგიძლიათ წაიკითხოთ Marketplace-ის ვებსაიტზე. განლაგების შესახებ ზოგადი კითხვები შეგიძლიათ იხილოთ თქვენს ანგარიშში განყოფილებაში "Marketplace".

    დაელოდეთ თქვენი გადაწყვეტილების მოდერაციას.
    გთხოვთ გაითვალისწინოთ, რომ პროცესს შეიძლება საკმაოდ დიდი დრო დასჭირდეს. მოთხოვნებთან შეუსაბამობის აღმოჩენის შემთხვევაში გამოსავალი დაბრუნდება გადასინჯვისთვის, ხოლო ხარვეზების აღმოფხვრის შემდეგ ზომიერების პროცესი ხელახლა მეორდება. ამ შემთხვევაში გადაწყვეტილება ბრუნდება პირველი აღმოჩენილი შეუსაბამობის შემდეგ, ამიტომ ზომიერება ზედიზედ რამდენჯერმე ვერ გაივლის და დიდ დროს კარგავს. ამიტომ, გირჩევთ, დაუყოვნებლივ გაეცნოთ მოთხოვნებს და არ გამოტოვოთ თქვენი პროდუქტის ტესტირების ეტაპი.

    იფიქრეთ გამოსავალზე მყიდველების მოზიდვის გზებზე.
    იმის გამო, რომ საკმარისი არ არის კარგი პროდუქტის შექმნა, თქვენ უნდა დაეხმაროთ სამიზნე აუდიტორიას მის პოვნაში!

მზა გადაწყვეტილებების შემუშავება საშუალებას მოგცემთ მიაღწიოთ განვითარების უფრო მაღალ დონეს. თქვენ შეძლებთ განავითაროთ პროდუქტი ისე, როგორც ხედავთ, მომხმარებელთა საჭიროებების გათვალისწინებით და მიიღოთ შესაძლებლობა გაზარდოთ იმ მომხმარებლების რაოდენობა, რომელთა კმაყოფილება დამოკიდებულია თქვენი გადაწყვეტის ხარისხზე, მის შენარჩუნებასა და ტექნიკურ მხარდაჭერაზე. და მომხმარებლებისთვის, ეს არის სწრაფი და საკმაოდ ბიუჯეტის დაწყება. ამიტომ, ჩვენ გირჩევთ, უფრო ახლოს გაეცნოთ 1C-Bitrix-ის ასეთ სასარგებლო ხელსაწყოს.

მარინა სენიკოვა

CTO, whatAsoft