Как решить ошибку "Для работы с базовой версией расширение должно быть подписано тем же ключом, что и конфигурация" в 1С:Розница?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

При работе с программным продуктом "1С:Предприятие", особенно в сфере розничной торговли, пользователи часто сталкиваются с необходимостью доработки типовых конфигураций или подключения специализированного оборудования. Однако, при использовании базовых версий программ, таких как "1С:Розница", могут возникнуть неожиданные препятствия, одним из которых является ошибка применения расширений конфигурации. В этой статье мы подробно рассмотрим причину возникновения ошибки "Для работы с базовой версией расширение должно быть подписано тем же ключом, что и конфигурация" и предложим несколько эффективных способов ее решения, а также затронем вопрос подключения нескольких баз к одному ККМ Атол 30Ф. Для упрощения администрирования баз и оборудования доступна система централизованного управления базами, расширениями и кассами.

Анализируем проблему: ошибка применения расширения в 1С:Розница 2.2

Представим ситуацию: вы пытаетесь адаптировать конфигурацию "1С:Розница 2.2", возможно, для подключения к кассовому аппарату Атол 30Ф или для реализации специфического функционала. Расширение, которое вы пытаетесь применить, отлично устанавливается на другую базу "1С:Розница 2.3", которая не подключена к ККМ. Однако, на "1С:Розница 2.2", к которой физически подключен ККМ, вы получаете критичную ошибку:

Для работы с базовой версией расширение должно быть подписано тем же ключом, что и конфигурация. {ВнешняяОбработка.StandardExtensionsManagement.Форма.Form.Форма(314)}: Ошибка при вызове метода контекста (Записать): Ошибка применения расширения конфигурации: Для работы с базовой версией расширение должно быть подписано тем же ключом, что и конфигурация.

Эта ошибка указывает на фундаментальное ограничение, связанное с использованием базовых версий 1С.

Ограничения базовых версий 1С и механизм расширений

Чтобы понять причину ошибки, давайте разберемся в особенностях базовых версий программ 1С:Предприятие и механизме расширений конфигурации.

  1. Базовые версии против ПРОФ: Программы 1С:Предприятие, такие как "1С:Бухгалтерия", "1С:Управление торговлей" и "1С:Розница", выпускаются в различных редакциях, включая базовые и ПРОФ. Базовые версии предназначены для одного пользователя и имеют ряд ограничений по функционалу, например, отсутствие возможности изменения типовой конфигурации и, как следствие, более простой процесс обновления. ПРОФ-версии предоставляют расширенные возможности, включая многопользовательский режим и возможность глубокой доработки.

  2. Механизм расширений конфигурации: С появлением платформы 1С:Предприятие 8.3.15 (и выше, например, 8.3.18, как в вашем случае), был введен механизм расширений конфигурации. Этот механизм позволяет добавлять или изменять функционал типовых конфигураций без снятия их с поддержки. Это значительно упрощает процесс обновления, так как при очередном обновлении типовой конфигурации ваши доработки, реализованные в расширении, остаются актуальными и не требуют повторной интеграции.

  3. Специфика работы расширений в базовых версиях: Изначально базовые версии 1С вообще не поддерживали работу с расширениями. Однако, в более новых версиях платформы (начиная с 8.3.15.1958, 8.3.16.1359 или 8.3.17.1386) это ограничение было частично снято. Теперь базовые версии могут работать с расширениями, но с одним очень важным условием: расширение должно быть подписано тем же ключом, что и сама базовая конфигурация. Это означает, что в базовую версию можно устанавливать только те расширения, которые выпущены и подписаны самой фирмой "1С". По сути, это позволяет 1С оперативно выпускать патчи и исправления для базовых версий без необходимости полного обновления конфигурации. Установить стороннее расширение от другого разработчика, не подписанное ключом 1С, в базовой версии невозможно.

  4. Почему работает на Розница 2.3? Наиболее вероятная причина, по которой ваше расширение успешно устанавливается на "1С:Розница 2.3", но выдает ошибку на "1С:Розница 2.2", заключается в том, что "Розница 2.3" работает под лицензией ПРОФ-версии. Версии ПРОФ не имеют таких жестких ограничений на использование сторонних расширений. Таким образом, проблема кроется не в самом расширении или версии конфигурации (2.2 или 2.3), а в типе лицензии, под которой запускается конкретная база.

Решение проблемы 1: Переход на ПРОФ-версию 1С

Самым надежным и "законным" способом решения проблемы с применением сторонних расширений является переход вашей конфигурации "1С:Розница 2.2" на ПРОФ-версию. Это снимет ограничение на подпись расширений и позволит вам свободно использовать доработки от сторонних разработчиков или создавать собственные.

Проверяем текущий тип лицензии

Прежде чем принимать решение о переходе, убедимся, что ваша "1С:Розница 2.2" действительно является базовой версией. Для этого:

  1. Запустите программу "1С:Розница 2.2".

  2. Перейдите в меню Справка (обычно в правом верхнем углу окна) и выберите пункт О программе....

  3. В открывшемся окне найдите раздел Лицензия/Текущая. Там будет указан тип вашей лицензии (например, "Базовая" или "ПРОФ").

Процесс перехода с базовой на ПРОФ-версию

Переход с базовой версии на ПРОФ обычно осуществляется путем приобретения соответствующего апгрейда у партнера 1С. Этот процесс включает:

  1. Приобретение апгрейда: Вы покупаете апгрейд с базовой версии на ПРОФ. При этом стоимость ранее приобретенной базовой версии засчитывается в стоимость ПРОФ.

  2. Получение новой лицензии: После приобретения вы получаете новый пин-код для активации ПРОФ-лицензии.

  3. Активация ПРОФ-лицензии: Установите и активируйте новую ПРОФ-лицензию на вашем компьютере или сервере. При запуске информационной базы 1С она автоматически "увидит" новую лицензию и будет работать в режиме ПРОФ.

  4. Обновление конфигурации (при необходимости): В большинстве случаев, конфигурация 1С:Розница остается той же, меняется лишь режим работы благодаря новой лицензии. Однако, если вы переходите с очень старой базовой версии на современную ПРОФ, может потребоваться обновление самой конфигурации до актуального релиза.

После успешного перехода на ПРОФ-версию вы сможете без проблем применять любые расширения конфигурации, независимо от того, кто их разработал и подписал.

Решение проблемы 2: Неофициальный обходной путь (модификация подписанного расширения)

Существует также неофициальный метод, который некоторые пользователи применяют, чтобы обойти ограничение на подпись расширений в базовых версиях. Этот метод заключается в модификации уже подписанного фирмой 1С расширения.

ВНИМАНИЕ: Этот подход не является официально поддерживаемым, может нарушать лицензионное соглашение и потенциально привести к нестабильной работе программы или проблемам при обновлении. Используйте его на свой страх и риск, если переход на ПРОФ-версию по каким-либо причинам невозможен.

Как это работает?

  1. Находим подписанное расширение от 1С: Фирма 1С иногда выпускает собственные расширения для базовых версий (например, для оперативного исправления ошибок или добавления мелкого функционала между основными релизами). Примером такого расширения, упомянутого в обсуждении, является VaccinatedEmployees_Base (возможно, связано с учетом вакцинированных сотрудников).

  2. Добавляем свой код: Вам потребуется открыть это официально подписанное расширение в конфигураторе 1С. Затем вы можете добавить в него свой собственный код, формы, отчеты или дополнительные реквизиты табличных частей, которые вам необходимы.

  3. Сохраняем расширение: После внесения изменений вы сохраняете расширение. Так как изначально оно было подписано 1С, платформа "обманывается" и воспринимает его как "родное", несмотря на внесенные изменения. Подпись при этом остается прежней.


// Пример добавления функционала в модуль команды расширения
// (предполагается, что вы уже открыли подписанное расширение от 1С в конфигураторе)

// Пример: Добавление новой команды для вызова вашей внешней обработки
&НаКлиенте
Процедура МояНоваяКоманда(Команда)
    // Открыть внешнюю обработку или выполнить свой код
    Сообщить("Вызвана моя новая команда из модифицированного расширения!");
    // Например, можно открыть форму внешней обработки:
    // ОткрытьФорму("ВнешняяОбработка.МояВнешняяОбработка.Форма.ОсновнаяФорма", , ЭтаФорма);
КонецПроцедуры

// Пример: Добавление подписки на событие
// (это делается через объект ПодпискаНаСобытие в дереве расширения)
// Для уже существующего обработчика события, например, ПередЗаписью
Процедура МояДополнительнаяЛогикаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
    // Дополнительная проверка перед записью документа
    Если Источник.Объект = "МойДокумент" Тогда
        // Ваш код
    КонецЕсли;
КонецПроцедуры

Риски и недостатки этого метода:

Исходя из вышеизложенного, мы рекомендуем рассматривать переход на ПРОФ-версию как основное и наиболее правильное решение.

Подключение нескольких баз 1С:Розница к одному ККМ АТОЛ 30Ф

Теперь рассмотрим вторую часть вашей задачи – подключение нескольких экземпляров "1С:Розница" с разными базами к одному ККМ АТОЛ 30Ф. Это вполне реализуемая задача, и мы разберем ее по шагам — для этого есть подключение нескольких баз 1С к одной кассе АТОЛ.

Принцип работы и необходимые компоненты

Для подключения нескольких рабочих мест 1С к одному ККМ АТОЛ 30Ф обычно используется сетевой режим работы или использование нескольких касс в РМК. Кассовый аппарат АТОЛ 30Ф поддерживает работу по Ethernet, что позволяет ему быть доступным для нескольких компьютеров в локальной сети — для этого подойдёт печать чеков на одной кассе с нескольких ПК.

  1. Физическое подключение ККМ: Один из компьютеров должен быть физически подключен к ККМ (через USB, COM-порт или Ethernet-кабель, если ККМ имеет сетевой интерфейс и подключен напрямую к компьютеру, а не к роутеру/свитчу).

  2. Драйвер ККТ АТОЛ: На всех компьютерах, которые будут работать с ККМ, должен быть установлен драйвер ККТ АТОЛ (для старых систем актуален драйвер Атол для 1С 8.3), хотя рекомендуется использовать версии 8.0 и выше, так как они поддерживают удаленное подключение.

  3. Настройка ККМ в режим Ethernet: Убедитесь, что ваш АТОЛ 30Ф настроен для работы по сети (если он подключается к маршрутизатору или напрямую к сетевой карте компьютера, который будет выступать в роли "сервера ККМ"). В документации АТОЛ обычно описывается процесс перевода ККТ в Ethernet-режим и присвоения ему IP-адреса.

Пошаговая настройка подключения

  1. Настройка основного компьютера (физически подключенного к ККМ):

    • Установите драйвер ККТ АТОЛ.

    • Настройте драйвер ККТ для работы с вашим АТОЛ 30Ф по прямому подключению (например, через USB или COM-порт, если ККМ подключен к этому компьютеру напрямую, или по IP-адресу, если ККМ подключен к сети и этому компьютеру в той же сети).

    • В настройках драйвера ККТ (обычно в утилите "Тест драйвера ККТ") включите опцию "Разрешить удаленное подключение" или "Использовать устройство как сервер". Это позволит другим компьютерам обращаться к ККМ через этот компьютер.

    • Убедитесь, что файервол на этом компьютере не блокирует порты, используемые драйвером для удаленного подключения (обычно это порт 5555).

  2. Настройка дополнительных рабочих мест 1С (удаленных компьютеров):

    • Установите драйвер ККТ АТОЛ на каждый из этих компьютеров.

    • Запустите программу "1С:Розница" на каждом из них.

    • Перейдите в раздел НСИ и администрирование -> Продажи -> Подключаемое оборудование.

    • Создайте новую запись для вашего ККМ.

    • При настройке драйвера ККТ в 1С (или непосредственно в утилите "Тест драйвера ККТ" на этом удаленном компьютере):

      • Выберите модель ККМ (например, АТОЛ 30Ф).

      • В поле IP-адрес укажите IP-адрес того компьютера, к которому ККМ подключен физически и на котором настроено удаленное подключение (шаг 1).

      • Убедитесь, что установлена опция Использовать удаленное подключение или аналогичная.

    • Проведите тестирование подключения, чтобы убедиться, что 1С может взаимодействовать с ККМ.

  3. Настройка Кассы ККМ в 1С:

    • Для каждой онлайн-кассы в программе 1С должна быть связана соответствующая "Касса ККМ". Мы находим этот раздел в НСИ и администрирование -> Кассы ККМ.

    • Здесь вы указываете организацию, на которую касса зарегистрирована в ФНС.

    • При работе в режиме сетевого ККМ, все рабочие места будут использовать одну и ту же запись Кассы ККМ, но каждое рабочее место будет иметь свое подключенное оборудование, настроенное на соответствующий IP-адрес основного компьютера.

Важные моменты и потенциальные проблемы

Следуя этим рекомендациям, вы сможете не только решить проблему с применением расширений в 1С:Розница, но и успешно организовать работу нескольких кассовых мест с одним фискальным регистратором АТОЛ 30Ф, обеспечив эффективное функционирование вашей торговой точки.

← На главную