{{calculateProductsNum()}}

Корзина

Наименований: {{calculateProductsNum()}}

Просмотрщик

{{liteItem.shortName}}

x{{liteItem.quantity}}
{{ parsePrice(liteItem.price * liteItem.quantity)}} ₽

+{{liteItem.license.years}} {{ liteItem.license.years == 1 ? 'Год подписки на обновления' : 'Года подписки на обновления' }}

x{{liteItem.quantity}}
{{parsePrice(liteItem.license.price * liteItem.quantity)}} ₽

{{proItem.shortName}} {{getMonthlyLocField('HEADER.LICENSE_TERM_', proItem.subscriptionType)}}

x{{proItem.quantity}}
{{ parsePrice(proItem[priceKeys[proItem.subscriptionType]] * proItem.quantity) }} ₽

{{module.name}}

x{{proItem.quantity}}
{{ parsePrice(module[priceKeys[proItem.subscriptionType]] * proItem.quantity) }} ₽

+{{proItem.license.years}} {{ proItem.license.years == 1 ? 'Год подписки на обновления' : 'Года подписки на обновления' }}

x{{proItem.quantity}}
{{parsePrice(proItem.license.price * proItem.quantity)}} ₽
Сервер

Подключения

x{{serverRedaction.connections}}
{{ parsePrice(strPriceToNumber(serverRedaction.basePrice)) }}

+{{serverRedaction.license.years}} {{ serverRedaction.license.years == 1 ? 'Год подписки на обновления' : 'Года подписки на обновления' }}

x{{serverRedaction.quantity}}
{{parsePrice(serverRedaction.license.price)}} ₽
Продление лицензий

Lite

x{{itemUpdate.updateLic.quantity}}
{{parsePrice(itemUpdate.updateLic.price)}} ₽

+{{itemUpdate.updateLic.years}} {{ itemUpdate.updateLic.years == 1 ? 'Год подписки на обновления' : 'Года подписки на обновления' }}

x{{itemUpdate.updateLic.quantity}}
{{parsePrice(itemUpdate.updateLic.price)}} ₽

Pro(бессрочная)

x1
{{parsePrice(itemUpdate.updateLic.price)}} ₽

+{{itemUpdate.updateLic.years}} {{ itemUpdate.updateLic.years == 1 ? 'Год подписки на обновления' : 'Года подписки на обновления' }}

+1

x{{itemUpdate.updateLic.quantity}}
{{parsePrice(itemUpdate.updateLic.price)}} ₽

Server

x1
{{parsePrice(itemUpdate.updateLic.price + getNewConnectionsPrice(itemUpdate))}} ₽

+{{itemUpdate.updateLic.years}} {{ itemUpdate.updateLic.years == 1 ? 'Год подписки на обновления' : 'Года подписки на обновления' }}

x{{itemUpdate.updateLic.quantity}}
{{parsePrice(itemUpdate.updateLic.price)}} ₽

Доп.подключения

x{{newConnections.newConnections}}
{{parsePrice(newConnections.price)}} ₽

Докупка модулей

{{module.name}}

x{{module.quantity}}
{{parsePrice(module.price)}} ₽

Услуги техподдержки

{{service.name}}

x{{service.quantity}}
{{ parsePrice(strPriceToNumber(service.price) * service.quantity) }}

.env.local _verified_ -

.env.local _verified_ -

It is the safest place to store sensitive data like private API keys, database passwords, and auth tokens during development. Why Do You Need It? 1. Security First

The best practice is to create a file. This file contains the keys but not the actual values. Example .env.example : STRIPE_SECRET_KEY= NEXT_PUBLIC_ANALYTICS_ID= DATABASE_URL= Use code with caution. .env.local

In the root directory of your project, create a new file named exactly .env.local . It is the safest place to store sensitive

Add your variables using the KEY=VALUE syntax. Note: If you are using a frontend framework, you often need a prefix (like NEXT_PUBLIC_ or VITE_ ) to expose these variables to the browser. Security First The best practice is to create a file

While it looks like a simple text file, it plays a critical role in keeping your application secure and your development workflow smooth.

Do not use spaces around the = sign. KEY = VALUE will often break the parser. Use KEY=VALUE . Summary

If you realize you’ve committed your .env.local , deleting it from the folder isn't enough; it's still in your Git history. You will need to rotate your API keys immediately.

.env.local Пожалуйста, подождите Происходит
отправка данных формы
и приложенных файлов