Записки IT специалиста
Ключи защиты 1С Предприятие 8.1. Особенности использования.
- Автор: Уваров А.С.
- 10.02.2010

Действия многих системных администраторов, столкнувшихся со сложностями при установке ключей защиты для 1С Предприятия, более всего напоминают шаманские камлания с бубном. В «админских кругах», да и в интернете, ходят мифы и легенды о «капризности» ключей защиты, о ее «кривой» реализации и т.п. В тоже время большинство нестандартных ситуаций является следствием крайне низкого уровня знаний о ключах защиты и особенностях их использования.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Какие бывают ключи
Локальные однопользовательские ключи представлены моделью HASP HL Basic (синего цвета), данный ключ имеет маркировку H4 M1 ORGL8, не имеет встроенной памяти и персонального ID, не хранит в себе никаких параметров и настроек. Поставляется продуктами имеющими лицензию на одно рабочее место.
Сетевые клиентские ключи включают
серию HASP HL Net (красного цвета). Имеют внутреннюю память, в которой хранится количество лицензий, и уникальный ID. Существуют разновидности на 5, 10, 20, 50 и 100 пользователей. Имеет маркировку NETXX ORGL8, где ХX — количество лицензий (например NET5 ORGL8). Существуют также ключи на 300 и 500 пользователей которые имеют маркировку NET250+ ORG8A и NET250+ ORG8B. Поставляются с продуктами имеющими лицензию на 5 рабочих мест, а также отдельно, в виде дополнительных клиентских лицензий.
Ключи для сервера 1С Предприятие бывают только локальные. 32-битная версия имеет ключ защиты HASP HL Pro (фиолетового цвета), который имеет внутреннюю память и уникальный ID. Имеет маркировку ENSR8, поставляется вместе с лицензией на сервер 1С Предприятие.
Для 64-битного сервера используется ключ HASP HL Max (зеленого цвета) с внутренней памятью и уникальным ID. Имеет маркировку EN8SAи поддерживает также 32-битный сервер. Т.е. имея лицензию на 64-битный сервер можно, не меняя ключа, использовать 32-битную версию, но не наоборот.
Как правильно устанавливать ключи
Следует запомнить одно важное правило: на один компьютер нельзя устанавливать более одного ключа одной серии. Также не рекомендуется ставить вместе локальный и сетевой ключ, это связано с особенностью защиты 1С Предприятия: находя локальный ключ программа никогда не будет искать сетевой. Локальные ключи сервера 1С Предприятия не мешают работе других ключей.
Второе важное правило: ключ не должен находится на машине с активным терминальным ПО . Также не стоит ставить менеджер лицензий в терминале. 1С на сервере терминалов может работать только с сетевым ключом, расположенным на другом ПК.
При наличии двух и более сетевых ключей недостаточно разнести их по разным компьютерам. Следует выполнить настройку менеджеров лицензий. Каждый менеджер лицензий должен иметь уникальное имя, которое следует явным образом сообщить защищаемой программе. Рекомендуется выполнить аналогичную настройку и в случае использования сервера терминалов, даже при одном сетевом ключе.
На машине где установлен ключ находим файл nhsrv.ini в папке с менеджером лицензий. За имя сервера лицензий отвечает параметр NHS_SERVERNAMES, оно может состоять из латинских букв и цифр и содержать не более 7 символов.
После чего на клиентских машинах следует отредактировать файл nethasp.ini , явным образом указав адреса и имена менеджеров лицензий:
Какие бывают ошибки
![]()
К сожалению 1С Предприятие вместо штатных сообщения HASP об ошибках выводит собственное «Не обнаружен ключ защиты программы!» . Под этим сообщением может скрываться четыре вида ошибок, рассмотрим их подробнее.
- Не найден ключ. Пожалуй самая распространенная ошибка. Возникает при отсутствии ключа, попытке использования ключа от другого продукта. Для сетевых ключей эта ошибка может возникать при отсутствии сети, если на машине с ключом не запущен менеджер лицензий, закрыт 457 порт или ошибочно установлен несетевой ключ.
- Ключ не содержит лицензии. Возникает при установке на один ПК двух ключей одной серии, при этом виден тот из них, на котором отсутствует нужная лицензия. При работе в сети двух менеджеров лицензий с одинаковыми именами и обслуживающими ключи одной серии приложение может найти первым ключ не содержащий нужной лицензии, что также приведет к получению этой ошибки.
- Обнаружена служба терминалов. Возникает при попытке запустить приложение из терминальной сессии с локальным ключом. Может также возникнуть в случае если в nethasp.ini явно не прописан адрес менеджера лицензий.
- Превышено число лицензий. Возникает когда количество пользователей (активных сессий) превышает число указанных в ключе лицензий. При работе в сети двух менеджеров лицензий с одинаковыми именами и обслуживающими ключи одной серии приложение может найти первым ключ с которым уже установлено максимальное количество соединений, что также приведет к получению этой ошибки.
Дополнительные материалы:
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Связывание таблиц
При проектировании реальных БД информацию обычно размещают в достаточно большом количестве таблиц. Таблицы при этом связаны семантикой информации. В реляционных СУБД для указания связей таблиц производят операцию их связывания.
Для чего необходимо связывание таблиц? Многие СУБД при связывании таблиц автоматически выполняют контроль целостности вводимых в базу данных в соответствии с установленными связями. В конечном итоге это повышает достоверность хранимой в БД информации.
Кроме того, установление связи между таблицами облегчает доступ к данным. Связывание таблиц при выполнении таких операций, как поиск, просмотр, редактирование, выборка и подготовка отчетов, обычно обеспечивает возможность обращения к произвольным полям связанных записей. Это уменьшает количество явных обращений к таблицам данных и число манипуляций в каждой из них.
Основные виды связи таблиц
Между таблицами могут устанавливаться бинарные (между двумя таблицами), тернарные (между тремя таблицами) и, в общем случае, парные связи. Рассмотрим наиболее часто встречающиеся бинарные связи.
При связывании двух таблиц выделяют основную и дополнительную (подчиненную) таблицы. Логическое связывание таблиц производится с помощью ключа связи.
Ключ связи, по аналогии с обычным ключом таблицы, состоит из одного или нескольких полей, которые в данном случае называют полями связи (ПС). Суть связывания состоит в установлении соответствия полей связи основной и дополнительной таблиц. Поля связи основной таблицы могут быть обычными и ключевыми. В качестве полей связи подчиненной таблицы чаще всего используют ключевые поля.
В зависимости от того, как определены поля связи основной и дополнительной таблиц (как соотносятся ключевые поля с полями связи), между двумя таблицами в общем случае могут устанавливаться следующие четыре основных вида связи (табл. 2):
- один — один (1:1);
- один — много (1:М);
- много — один (М: 1);
- много — много (М:М или M:N).
Таблица 2. Характеристика видов связей таблиц.
| Характеристика полей связи по видам | 1:1 | 1 :М | М:1 | М:М |
| Поля связи основной таблицы | являются ключом | являются ключом | не являются ключом | не являются ключом |
| Поля связи дополнительной таблицы | являются ключом | не являются ключом | являются ключом | не являются ключом |
Дадим характеристику названным видам связи между двумя таблицами и приведем примеры их использования.
Ошибочное поведение обработок заполнения табличной части
Очень часто наблюдается непонятное поведение обработок заполнений табличной части, особенно, если документ создается каким-либо автоматизированным способом.
Одной из причин такого поведения может быть рассинхронизация ключей связи табличных частей.
В типовых конфигурациях это реквизит «КлючСвязи», который должен совпадать у связанных строк основной табличной части «Товары» и вспомогательных («СерийныеНомера»,»НомераГТД»).
Что же вызывает ошибочное поведение?
- заполнение таблиц без заполнения или ошибочным указанием ключей
- при копировании строки (F9) не генерируется новый ключ, а остается от строки источника (в основной таблице оказывается совпадающие значения ключей)
- при создании документа на основании другого при очистке основной части не очищается вспомогательные таблицы (например, реализация проверяет наличие заказанных товаров на складе, остаток заказа)
Во всех случаях — это ошибки программирования, которые нельзя исправить другими способами — вспомогательные табличные части скрыты от непосредственной правки.
Тем не менее, даже в типовых недоработанных конфигурациях это встречается до сих пор (при добавлении нового функционала, последний случай в Бухгалтерии предприятия 3.0 для Казахстана, при заполнении источников товаров)
Вариант исправления
Ниже приведен фрагмент кода обработки заполнения табличной части, который перенумеровывает ключ связи в таблице «Товары», затем очищает вспомогательную таблицу «НомераГТД» (учебный пример)
Реклама — самая интересная и самая трудная форма современной литературы.
— Олдос Леонард Хаксли