При работе с программным продуктом "1С:Предприятие", особенно в сфере розничной торговли, пользователи часто сталкиваются с необходимостью доработки типовых конфигураций или подключения специализированного оборудования. Однако, при использовании базовых версий программ, таких как "1С:Розница", могут возникнуть неожиданные препятствия, одним из которых является ошибка применения расширений конфигурации. В этой статье мы подробно рассмотрим причину возникновения ошибки "Для работы с базовой версией расширение должно быть подписано тем же ключом, что и конфигурация" и предложим несколько эффективных способов ее решения, а также затронем вопрос подключения нескольких баз к одному ККМ Атол 30Ф. Для упрощения администрирования баз и оборудования доступна система централизованного управления базами, расширениями и кассами.
Представим ситуацию: вы пытаетесь адаптировать конфигурацию "1С:Розница 2.2", возможно, для подключения к кассовому аппарату Атол 30Ф или для реализации специфического функционала. Расширение, которое вы пытаетесь применить, отлично устанавливается на другую базу "1С:Розница 2.3", которая не подключена к ККМ. Однако, на "1С:Розница 2.2", к которой физически подключен ККМ, вы получаете критичную ошибку:
Для работы с базовой версией расширение должно быть подписано тем же ключом, что и конфигурация. {ВнешняяОбработка.StandardExtensionsManagement.Форма.Form.Форма(314)}: Ошибка при вызове метода контекста (Записать): Ошибка применения расширения конфигурации: Для работы с базовой версией расширение должно быть подписано тем же ключом, что и конфигурация.
Эта ошибка указывает на фундаментальное ограничение, связанное с использованием базовых версий 1С.
Чтобы понять причину ошибки, давайте разберемся в особенностях базовых версий программ 1С:Предприятие и механизме расширений конфигурации.
Базовые версии против ПРОФ: Программы 1С:Предприятие, такие как "1С:Бухгалтерия", "1С:Управление торговлей" и "1С:Розница", выпускаются в различных редакциях, включая базовые и ПРОФ. Базовые версии предназначены для одного пользователя и имеют ряд ограничений по функционалу, например, отсутствие возможности изменения типовой конфигурации и, как следствие, более простой процесс обновления. ПРОФ-версии предоставляют расширенные возможности, включая многопользовательский режим и возможность глубокой доработки.
Механизм расширений конфигурации: С появлением платформы 1С:Предприятие 8.3.15 (и выше, например, 8.3.18, как в вашем случае), был введен механизм расширений конфигурации. Этот механизм позволяет добавлять или изменять функционал типовых конфигураций без снятия их с поддержки. Это значительно упрощает процесс обновления, так как при очередном обновлении типовой конфигурации ваши доработки, реализованные в расширении, остаются актуальными и не требуют повторной интеграции.
Специфика работы расширений в базовых версиях: Изначально базовые версии 1С вообще не поддерживали работу с расширениями. Однако, в более новых версиях платформы (начиная с 8.3.15.1958, 8.3.16.1359 или 8.3.17.1386) это ограничение было частично снято. Теперь базовые версии могут работать с расширениями, но с одним очень важным условием: расширение должно быть подписано тем же ключом, что и сама базовая конфигурация. Это означает, что в базовую версию можно устанавливать только те расширения, которые выпущены и подписаны самой фирмой "1С". По сути, это позволяет 1С оперативно выпускать патчи и исправления для базовых версий без необходимости полного обновления конфигурации. Установить стороннее расширение от другого разработчика, не подписанное ключом 1С, в базовой версии невозможно.
Почему работает на Розница 2.3? Наиболее вероятная причина, по которой ваше расширение успешно устанавливается на "1С:Розница 2.3", но выдает ошибку на "1С:Розница 2.2", заключается в том, что "Розница 2.3" работает под лицензией ПРОФ-версии. Версии ПРОФ не имеют таких жестких ограничений на использование сторонних расширений. Таким образом, проблема кроется не в самом расширении или версии конфигурации (2.2 или 2.3), а в типе лицензии, под которой запускается конкретная база.
Самым надежным и "законным" способом решения проблемы с применением сторонних расширений является переход вашей конфигурации "1С:Розница 2.2" на ПРОФ-версию. Это снимет ограничение на подпись расширений и позволит вам свободно использовать доработки от сторонних разработчиков или создавать собственные.
Прежде чем принимать решение о переходе, убедимся, что ваша "1С:Розница 2.2" действительно является базовой версией. Для этого:
Запустите программу "1С:Розница 2.2".
Перейдите в меню Справка (обычно в правом верхнем углу окна) и выберите пункт О программе....
В открывшемся окне найдите раздел Лицензия/Текущая. Там будет указан тип вашей лицензии (например, "Базовая" или "ПРОФ").
Переход с базовой версии на ПРОФ обычно осуществляется путем приобретения соответствующего апгрейда у партнера 1С. Этот процесс включает:
Приобретение апгрейда: Вы покупаете апгрейд с базовой версии на ПРОФ. При этом стоимость ранее приобретенной базовой версии засчитывается в стоимость ПРОФ.
Получение новой лицензии: После приобретения вы получаете новый пин-код для активации ПРОФ-лицензии.
Активация ПРОФ-лицензии: Установите и активируйте новую ПРОФ-лицензию на вашем компьютере или сервере. При запуске информационной базы 1С она автоматически "увидит" новую лицензию и будет работать в режиме ПРОФ.
Обновление конфигурации (при необходимости): В большинстве случаев, конфигурация 1С:Розница остается той же, меняется лишь режим работы благодаря новой лицензии. Однако, если вы переходите с очень старой базовой версии на современную ПРОФ, может потребоваться обновление самой конфигурации до актуального релиза.
После успешного перехода на ПРОФ-версию вы сможете без проблем применять любые расширения конфигурации, независимо от того, кто их разработал и подписал.
Существует также неофициальный метод, который некоторые пользователи применяют, чтобы обойти ограничение на подпись расширений в базовых версиях. Этот метод заключается в модификации уже подписанного фирмой 1С расширения.
ВНИМАНИЕ: Этот подход не является официально поддерживаемым, может нарушать лицензионное соглашение и потенциально привести к нестабильной работе программы или проблемам при обновлении. Используйте его на свой страх и риск, если переход на ПРОФ-версию по каким-либо причинам невозможен.
Находим подписанное расширение от 1С: Фирма 1С иногда выпускает собственные расширения для базовых версий (например, для оперативного исправления ошибок или добавления мелкого функционала между основными релизами). Примером такого расширения, упомянутого в обсуждении, является VaccinatedEmployees_Base (возможно, связано с учетом вакцинированных сотрудников).
Добавляем свой код: Вам потребуется открыть это официально подписанное расширение в конфигураторе 1С. Затем вы можете добавить в него свой собственный код, формы, отчеты или дополнительные реквизиты табличных частей, которые вам необходимы.
Сохраняем расширение: После внесения изменений вы сохраняете расширение. Так как изначально оно было подписано 1С, платформа "обманывается" и воспринимает его как "родное", несмотря на внесенные изменения. Подпись при этом остается прежней.
// Пример добавления функционала в модуль команды расширения
// (предполагается, что вы уже открыли подписанное расширение от 1С в конфигураторе)
// Пример: Добавление новой команды для вызова вашей внешней обработки
&НаКлиенте
Процедура МояНоваяКоманда(Команда)
// Открыть внешнюю обработку или выполнить свой код
Сообщить("Вызвана моя новая команда из модифицированного расширения!");
// Например, можно открыть форму внешней обработки:
// ОткрытьФорму("ВнешняяОбработка.МояВнешняяОбработка.Форма.ОсновнаяФорма", , ЭтаФорма);
КонецПроцедуры
// Пример: Добавление подписки на событие
// (это делается через объект ПодпискаНаСобытие в дереве расширения)
// Для уже существующего обработчика события, например, ПередЗаписью
Процедура МояДополнительнаяЛогикаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
// Дополнительная проверка перед записью документа
Если Источник.Объект = "МойДокумент" Тогда
// Ваш код
КонецЕсли;
КонецПроцедуры
Риски и недостатки этого метода:
Исходя из вышеизложенного, мы рекомендуем рассматривать переход на ПРОФ-версию как основное и наиболее правильное решение.
Теперь рассмотрим вторую часть вашей задачи – подключение нескольких экземпляров "1С:Розница" с разными базами к одному ККМ АТОЛ 30Ф. Это вполне реализуемая задача, и мы разберем ее по шагам — для этого есть подключение нескольких баз 1С к одной кассе АТОЛ.
Для подключения нескольких рабочих мест 1С к одному ККМ АТОЛ 30Ф обычно используется сетевой режим работы или использование нескольких касс в РМК. Кассовый аппарат АТОЛ 30Ф поддерживает работу по Ethernet, что позволяет ему быть доступным для нескольких компьютеров в локальной сети — для этого подойдёт печать чеков на одной кассе с нескольких ПК.
Физическое подключение ККМ: Один из компьютеров должен быть физически подключен к ККМ (через USB, COM-порт или Ethernet-кабель, если ККМ имеет сетевой интерфейс и подключен напрямую к компьютеру, а не к роутеру/свитчу).
Драйвер ККТ АТОЛ: На всех компьютерах, которые будут работать с ККМ, должен быть установлен драйвер ККТ АТОЛ (для старых систем актуален драйвер Атол для 1С 8.3), хотя рекомендуется использовать версии 8.0 и выше, так как они поддерживают удаленное подключение.
Настройка ККМ в режим Ethernet: Убедитесь, что ваш АТОЛ 30Ф настроен для работы по сети (если он подключается к маршрутизатору или напрямую к сетевой карте компьютера, который будет выступать в роли "сервера ККМ"). В документации АТОЛ обычно описывается процесс перевода ККТ в Ethernet-режим и присвоения ему IP-адреса.
Настройка основного компьютера (физически подключенного к ККМ):
Установите драйвер ККТ АТОЛ.
Настройте драйвер ККТ для работы с вашим АТОЛ 30Ф по прямому подключению (например, через USB или COM-порт, если ККМ подключен к этому компьютеру напрямую, или по IP-адресу, если ККМ подключен к сети и этому компьютеру в той же сети).
В настройках драйвера ККТ (обычно в утилите "Тест драйвера ККТ") включите опцию "Разрешить удаленное подключение" или "Использовать устройство как сервер". Это позволит другим компьютерам обращаться к ККМ через этот компьютер.
Убедитесь, что файервол на этом компьютере не блокирует порты, используемые драйвером для удаленного подключения (обычно это порт 5555).
Настройка дополнительных рабочих мест 1С (удаленных компьютеров):
Установите драйвер ККТ АТОЛ на каждый из этих компьютеров.
Запустите программу "1С:Розница" на каждом из них.
Перейдите в раздел НСИ и администрирование -> Продажи -> Подключаемое оборудование.
Создайте новую запись для вашего ККМ.
При настройке драйвера ККТ в 1С (или непосредственно в утилите "Тест драйвера ККТ" на этом удаленном компьютере):
Выберите модель ККМ (например, АТОЛ 30Ф).
В поле IP-адрес укажите IP-адрес того компьютера, к которому ККМ подключен физически и на котором настроено удаленное подключение (шаг 1).
Убедитесь, что установлена опция Использовать удаленное подключение или аналогичная.
Проведите тестирование подключения, чтобы убедиться, что 1С может взаимодействовать с ККМ.
Настройка Кассы ККМ в 1С:
Для каждой онлайн-кассы в программе 1С должна быть связана соответствующая "Касса ККМ". Мы находим этот раздел в НСИ и администрирование -> Кассы ККМ.
Здесь вы указываете организацию, на которую касса зарегистрирована в ФНС.
При работе в режиме сетевого ККМ, все рабочие места будут использовать одну и ту же запись Кассы ККМ, но каждое рабочее место будет иметь свое подключенное оборудование, настроенное на соответствующий IP-адрес основного компьютера.
Одновременный доступ: При одновременной попытке пробить чек с двух и более рабочих мест, оборудование может быть занято. Драйверы ККТ обычно имеют механизм очереди, но это может привести к небольшим задержкам. В условиях интенсивной работы с чеками, для каждой кассовой зоны рекомендуется использовать отдельный ККМ.
Сетевая стабильность: Качество и стабильность сетевого соединения между компьютерами критически важны для бесперебойной работы. Любые обрывы связи могут привести к ошибкам печати чеков.
Обновления драйверов: Регулярно обновляйте драйверы ККТ до актуальных версий, так как разработчики постоянно улучшают их стабильность и добавляют новый функционал.
Лицензирование: Убедитесь, что используемые вами лицензии на 1С:Розница соответствуют количеству рабочих мест, работающих с одной базой, или что каждая база имеет свою собственную лицензию, если это отдельные базы.
Следуя этим рекомендациям, вы сможете не только решить проблему с применением расширений в 1С:Розница, но и успешно организовать работу нескольких кассовых мест с одним фискальным регистратором АТОЛ 30Ф, обеспечив эффективное функционирование вашей торговой точки.