Проанализируем ситуацию, с которой довольно часто сталкиваются пользователи и внедренцы при работе с конфигурацией 1С:Розница (например, для аптек). Допустим, вы начали вести учет без использования характеристик: оформляли поступления товаров, устанавливали розничные цены и осуществляли продажи. Спустя время возникла необходимость включить учет по характеристикам (чтобы отслеживать номера серий, сроки годности и т.д.).
Включив соответствующую настройку, вы обнаруживаете, что работа встала: номенклатура перестает отбиваться по кассе в рабочем месте кассира (РМК), так как программа требует ввести отсутствующие характеристики. Перепроведение поступлений с добавлением характеристик не решает проблему, потому что розничная цена была привязана к номенклатуре без характеристики (то есть с пустой характеристикой), а на новую характеристику цена не назначена. Кроме того, возникают проблемы с остатками, ведь ранее товары пробивались без их учета. Выясним причину такого поведения системы и разберем по шагам доступные варианты решения проблемы.
Прежде чем приступать к исправлению ситуации, давайте посмотрим на то, как устроено хранение данных в 1С. В системе аналитика по номенклатуре и аналитика по характеристике — это разные измерения в регистрах накопления (например, товары на складах) и регистрах сведений.
Если товар ранее продавался или приходовался без характеристики (подразумевается «пустая» характеристика), система физически не может автоматически связать старые остатки с новыми введенными значениями. Точно так же регистр сведений, хранящий розничные цены (обычно это ЦеныНоменклатуры), требует точного совпадения всех ключевых измерений. Цена, которая была назначена на карточку номенклатуры с пустой характеристикой, не будет применяться к той же самой карточке с заполненной характеристикой при пробитии чека на кассе. Автоматического «наследования» цен в момент продажи не предусмотрено архитектурой.
Рассмотрим наиболее корректный и безопасный способ, который не требует программирования и не нарушает историю прошлых периодов. Вместо того чтобы пытаться изменить старые карточки товаров и перепроводить закрытые смены, мы создадим новые данные.
ВидыНоменклатуры и обязательно включите в нем использование характеристик.Номенклатура, привязав их к новому виду номенклатуры.Этот метод сохраняет в неприкосновенности историю прошлых продаж, исключает сбои в закрытых кассовых сменах и позволяет корректно начать учет с чистого листа по новым правилам.
Если база работает недавно (например, создано всего около десятка отчетов о розничных продажах), имеет смысл рассмотреть вариант перехода в новую, чистую базу данных.
Этот путь позволяет избежать накопления логических ошибок и «мусора» в регистрах.
Если база большая и перенос невозможен, можно написать внешнюю обработку, которая модифицирует уже существующие документы. Внимание: изменение документов задним числом (особенно отчетов о розничных продажах) крайне не рекомендуется. Это может привести к рассинхронизации данных с фискальными накопителями, искажению себестоимости и проблемам при обмене с 1С:Бухгалтерия.
Если вы всё же решили пойти по этому пути, разберем алгоритм создания такой обработки:
Если вы используете актуальные редакции конфигурации (например, 1С:Розница 3.0), обратите внимание на функционал характеристик категории. В таких системах существует возможность задавать характеристики не для каждой отдельной карточки товара, а сразу для целой КатегорииНоменклатуры. Это значительно ускоряет процесс первичного ввода данных и настройки, если у большой группы препаратов совпадают шаблоны формирования характеристик.