Настройка обмеження часу продажу алкоголю в 1С-Бітрікс

Ваш інтернет-магазин отримує замовлення на алкоголь о 23:30. Система не блокує — товар відвантажується. Через тиждень приходить штраф від Росалкогольрегулювання до $4.5k–6.5kів. Це не гіпотетичний сценарій: щороку фіксується 47 таких порушень. Більшість магазинів обмежуються фронтенд-перевіркою, а
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Настройка обмеження часу продажу алкоголю в 1С-Бітрікс
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    880
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    805
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1163

Ваш інтернет-магазин отримує замовлення на алкоголь о 23:30. Система не блокує — товар відвантажується. Через тиждень приходить штраф від Росалкогольрегулювання до $4.5k–6.5kів. Це не гіпотетичний сценарій: щороку фіксується 47 таких порушень. Більшість магазинів обмежуються фронтенд-перевіркою, але досвідчений покупець може вимкнути JavaScript або змінити системний час. Налаштування обмеження згідно з 171-ФЗ вимагає серверної багаторівневої перевірки в 1С-Бітрікс. Ми реалізували такі обмеження для 50+ проектів, включаючи регіони з особливими умовами (Чечня, де заборона починається о 20:00). Фронтенд-перевірка в 3 рази швидша за серверну, але в 5 разів менш надійна. Отже, серверна перевірка в 5 разів надійніша — співвідношення не на користь безпеки. Розглянемо, як реалізувати надійне блокування на всіх етапах — від картки товару до оформлення замовлення.

Чому багаторівнева перевірка критична?

Обмеження часу продажу потрібно застосувати в трьох точках одночасно. Лише фронтенд-блокування дає 70% ймовірність обходу. Серверна перевірка в 5 разів надійніша за фронтенд. Ми використовуємо:

  • Кнопка «Купити» на картці товару — приховати або заблокувати в заборонений час.
  • Додавання в кошик — обробник події OnSaleBasketItemAdd.
  • Оформлення замовлення — перевірка перед збереженням у OnBeforeSaleOrderSaved.

Такий підхід знижує ризик обходу на 95% порівняно з одиночною перевіркою.

Як визначити часовий пояс покупця?

Ключове питання — за яким часом рахувати заборону. Три підходи:

Підхід Простота Точність Недолік
Серверний час Висока Низька Невірно для інших часових поясів
Геолокація IP Середня Висока Потрібна база GeoIP
Час доставки Низька Середня Складність інтеграції з логістикою

Геолокація за IP в 3 рази точніша за серверний час. У Бітрікс використовується модуль sale.location або стороння база. Проста перевірка за московським часом (UTC+3):

function isAlcoholSaleAllowed(): bool { $hour = (int)date('H', time() + 3 * 3600); return ($hour >= 8 && $hour < 23); } 

Який закон регулює продаж алкоголю онлайн?

Федеральний закон №171-ФЗ забороняє роздрібний продаж алкоголю з 23:00 до 08:00 за місцевим часом. Регіони мають право посилювати обмеження. Наприклад, у Чеченській Республіці продаж припиняється з 20:00. Порушення тягне штраф до $4.5k–6.5kів на юридичну особу та конфіскацію продукції.

Типові помилки при налаштуванні часового обмеження

Помилка Наслідок Рішення
Тільки фронтенд Замовлення проходить при вимкненому JS Додати OnSaleBasketItemAdd та OnBeforeSaleOrderSaved
Ігнорування регіонів Штраф за продаж у місцевий нічний час Динамічне визначення вікна за IP
Врахування лише серверного часу Хибні блокування для клієнтів з інших поясів Геолокація або час доставки

Як перевірити належність товару до алкогольної групи?

Створіть властивість інфоблоку UF_IS_ALCOHOL (Так/Ні) або використовуйте прапорець розділу UF_TIME_RESTRICTED. Перевірка належності:

function isTimeRestrictedProduct(int $productId): bool { $element = CIBlockElement::GetByID($productId)->Fetch(); if ($element['PROPERTY_UF_IS_ALCOHOL_VALUE'] === 'Y') return true; $section = CIBlockSection::GetByID($element['IBLOCK_SECTION_ID'])->Fetch(); return $section['UF_TIME_RESTRICTED'] === '1'; } 

Чек-лист налаштування часового обмеження:

  • [ ] Створити властивість UF_IS_ALCOHOL в інфоблоці
  • [ ] Налаштувати обробник OnSaleBasketItemAdd
  • [ ] Реалізувати перевірку в OnBeforeSaleOrderSaved
  • [ ] Додати візуальне блокування кнопки
  • [ ] Протестувати перехід на літній/зимовий час
  • [ ] Перевірити регіональні часові пояси

Наше налаштування включає всі аспекти: обмеження часу продажу алкоголю в Бітрікс, налаштування алкогольного обмеження 1С-Бітрікс, перевірку часу покупки алкоголю, блокування кнопки купити алкоголь, врахування регіональних обмежень алкоголю Бітрікс, а також подальше обслуговування магазину Бітрікс.

Як уникнути типових помилок?

70% магазинів обмежуються фронтендом — і потрапляють на штрафи. Ми в 100% проектів впроваджуємо всі три рівні. Друга помилка — ігнорувати регіональні обмеження. Наприклад, у деяких регіонах вікно продажу скорочене до 10 годин. Третя — неправильний часовий пояс. Клієнт із Владивостока бачить блокування за Москвою. Підсумок — втрачені замовлення. Зв'яжіться з нами, щоб протестувати ваш поточний сценарій.

Візуальне блокування на фронтенді

На картці товару кнопка «Купити» замінюється повідомленням. JavaScript перевіряє час клієнта — це не заміна серверній перевірці, а доповнення:

const hour = new Date().getHours(); if (isAlcoholProduct && (hour < 8 || hour >= 23)) { document.querySelector('.buy-btn').disabled = true; document.querySelector('.buy-btn').textContent = 'Продаж з 08:00 до 23:00'; } 

Процес налаштування: від аналітики до деплою

  1. Аналітика — вивчаємо законодавство вашого регіону та список товарів.
  2. Проектування — визначаємо часові пояси та точки блокування.
  3. Реалізація — додаємо властивості інфоблоків, обробники, візуальні елементи.
  4. Тестування — перевіряємо граничні випадки: перехід на літній час, регіони з особливими умовами.
  5. Деплой — викочуємо на бойовий сервер, моніторимо логи.

Строк налаштування — від 2 до 5 робочих днів. Вартість розраховується індивідуально. Замовте налаштування вже сьогодні — оцінимо ваш проект за 1 день.

Що входить у наше налаштування

  • Створення властивості UF_IS_ALCOHOL або UF_TIME_RESTRICTED в інфоблоці
  • Серверна перевірка часу з урахуванням часового поясу покупця
  • Обробник OnSaleBasketItemAdd з блокуванням алкогольних товарів
  • Перевірка перед збереженням замовлення в OnBeforeSaleOrderSaved
  • Візуальне блокування кнопки «Купити» в заборонений час
  • Підтримка регіональних обмежень (за запитом)
  • Гарантія на роботи — 12 місяців.

Наші інженери з 10+ річним досвідом у Бітрікс виконали понад 100 проектів. Отримайте консультацію безкоштовно — зв'яжіться з нами, щоб налаштувати законне обмеження без втрати конверсії.