При переходе на новую версию 1С:Розница 3.0 многие пользователи и технические специалисты сталкиваются с неожиданной проблемой: в настройках программы отсутствует привычный пункт для включения учета в нескольких валютах. Это вызывает недоумение, особенно если в демонстрационной базе или в аналогичной по архитектуре 1С:УНФ 3.0 этот функционал присутствует. В рамках данной статьи мы подробно разберем, почему так происходит, проанализируем архитектурные ограничения и найдем способы решения этой задачи.
Для начала выясним причину такого поведения системы. Разработчики компании 1С при выпуске линейки 3.0 провели четкое разделение функционала. Несмотря на то, что «под капотом» у 1С:Розница 3.0 находится ядро 1С:УНФ, часть возможностей была программно ограничена. Позиция вендора заключается в том, что классическому розничному магазину, работающему на территории РФ, достаточно учета в национальное валюте — рублях. Многовалютный учет (учет взаиморасчетов и остатков денежных средств в разных валютах) считается «старшим» функционалом, предназначенным для более сложных управленческих задач — для контроля качества данных подойдёт автоматическая экспресс-проверка качества управленческого учета.
Тем не менее, на практике часто возникает необходимость закупать товар у иностранных поставщиков в валюте, сохраняя при этом розничные продажи в рублях. В этом случае пользователю требуется полноценный справочник Валюты и возможность указывать валюту в документах поступления. Для эффективного контроля и ведения расчетов с контрагентами в различных валютах, необходимо обеспечить полноценный управленческий учет. Также, для эффективного ведения взаиморасчетов, особенно в условиях многовалютности, важно иметь возможность автоматического зачета авансов покупателя или поставщика за выбранный период — для этого подойдёт автоматический зачет авансов и долгов в 1С:УНФ 3.0.
Прежде чем приступать к программным изменениям, давайте проанализируем ситуацию с точки зрения методологии учета. В системе разделяются несколько понятий:
Если ваша задача — просто устанавливать цены в валюте, а расчеты вести в рублях, то дополнительные настройки могут не потребоваться. Однако для полноценного ведения долга перед поставщиком в валюте (управленческий учет) потребуется активация скрытых опций. Для более гибкого управления ценообразованием в «Рознице», например, при необходимости ручного процента наценки в установке цен, можно рассмотреть соответствующие доработки — для этого подойдёт расширение возможностей ценообразования через использование формул.
При попытке просто включить функциональную опцию УчетВалютныхОпераций через «Функции для технического специалиста», система выдает ошибку, ссылаясь на закрытый модуль ВозможностиПриложения. Это механизм защиты, который проверяет соответствие включенных функций профилю конфигурации.
Мы рассмотрим способ обхода этой блокировки с помощью механизма расширений. Это позволит нам «сбить заглушку», не снимая основную конфигурацию с поддержки. Разберем процесс по шагам:
ВозможностиПриложения из основной конфигурации.
&Вместо("ФункциональностьПриложенияПриИзмененииПередЗаписью")
Процедура Расш1_ФункциональностьПриложенияПриИзмененииПередЗаписью(Источник, Отказ) Экспорт
// Проверяем, что попытка записи относится именно к функциональной опции валютного учета
Если Источник.Метаданные().Имя = "ФункциональнаяУчетВалютныхОпераций" Тогда
// Игнорируем стандартную проверку, которая вызывает отказ
Возврат;
КонецЕсли;
// Для остальных опций вызываем стандартный обработчик
ПродолжитьВызов(Источник, Отказ);
КонецПроцедуры
После применения этого расширения вы сможете активировать константу ИспользоватьНесколькоВалют. Это откроет доступ к справочнику Валюты и позволит выбирать валюту в шапках документов ПриходнаяНакладная и ЗаказПоставщику. Для оптимизации работы с ценами в этих документах, вам может быть полезно расширение для установки закупочной цены и заполнения розничной цены в приходной накладной.
Важно понимать, что программное включение скрытого функционала несет определенные риски. Проанализируем возможные проблемы:
ВозможностиПриложения в любом релизе, что приведет к неработоспособности расширения.Валюта могут присутствовать физически, но логика их заполнения может быть упрощена по сравнению с 1С:УНФ. Это может привести к тому, что управленческие отчеты в валюте будут показывать нулевые или некорректные данные — для решения этой проблемы есть оперативный анализ продаж и цен для 1С:Розница и УНФ.Если вашему бизнесу действительно необходим полноценный многовалютный учет, включая ведение взаиморасчетов с иностранными контрагентами, наиболее правильным решением будет переход на 1С:Управление нашей фирмой 3.0.
Поскольку 1С:Розница 3.0 и 1С:УНФ 3.0 построены на единой логической архитектуре, переход осуществляется простым обновлением конфигурации (заменой файла конфигурации .cf). Все накопленные данные — справочники, документы, остатки — сохранятся, а функционал валют станет доступен штатно, без использования сомнительных расширений и доработок. Это гарантирует стабильность работы базы данных и отсутствие проблем при последующих обновлениях от вендора.