При работе в 1С:Бухгалтерия предприятия 3.0 (БП 3.0) пользователи часто сталкиваются с необходимостью детализировать продажи. Типичный пример: продажа одной и той же модели куртки, но разных цветов. Стандартная попытка решить эту задачу через «Дополнительные реквизиты» справочника Номенклатура часто приводит к ошибке: при изменении цвета в одной строке документа он меняется во всех остальных строках с этой же номенклатурой. В этой статье мы подробно разберем, почему так происходит, и какие существуют способы реализации этой задачи.
Разберем ситуацию, описанную пользователем. Когда вы добавляете «Дополнительный реквизит» к справочнику Номенклатура, вы добавляете поле в саму «карточку» товара. Это значение привязывается к ссылке на объект в базе данных.
Проанализируем механику: в документе «Реализация товаров и услуг» в каждой строке вы выбираете одну и ту же ссылку — «Куртка». Если вы заходите в настройки этой ссылки и меняете реквизит «Цвет» на «Черный», то программа честно сообщает всей базе данных: «Объект Куртка теперь имеет черный цвет». Поскольку во всех строках документа выбрана одна и та же куртка, во всех строках цвет станет черным. Это логика реляционной базы данных: данные хранятся в объекте, а не в строке документа.
Для того чтобы в одной накладной было две разные строки с одной и той же курткой, но разными цветами, информация о цвете должна храниться не в справочнике, а в табличной части самого документа. Рассмотрим доступные способы реализации этого функционала.
Это самый простой и методически верный способ для 1С:Бухгалтерии, не требующий программирования. Если вам важен учет остатков и автоматическое построение отчетов в разрезе цветов (например, Оборотно-сальдовая ведомость по счету 41), необходимо заводить разные позиции.
Виды номенклатуры.Преимущества: Работает «из коробки», данные корректно попадают во все бухгалтерские отчеты и субконто, не возникает проблем при обновлении программы.
Недостатки: Раздувается справочник номенклатуры, что может быть неудобно при огромном ассортименте цветов и размеров.
Если ваша основная цель — просто вывести информацию о цвете в печатную форму (УПД или ТОРГ-12), а детальный учет остатков по цветам на складе не требуется, можно воспользоваться скрытым функционалом табличной части.
Разберем шаги по включению этого поля:
Содержание.В этом поле вы можете дописать: «Цвет: черный». При печати накладной программа подтянет данные именно из поля Содержание, если оно заполнено. Однако помните: построить автоматический отчет «сколько продано черных курток» стандартными средствами не получится, так как это просто неструктурированный текст.
Современный способ добавить аналитику в табличную часть — использование расширений конфигурации (.cfe). Это позволяет добавить нужный столбец «Цвет» в документ, не снимая базу с поддержки.
С точки зрения разработки это выглядит так: мы создаем расширение и заимствуем в него табличную часть Товары документа РеализацияТоваровУслуг. Добавляем новый реквизит. Пример программного обращения к такому полю в коде (если бы вы писали внешний отчет):
// Пример получения данных из расширенной табличной части
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Ссылка КАК Документ,
| РеализацияТоваровУслугТовары.Номенклатура,
| РеализацияТоваровУслугТовары.Цвет_Расширение КАК Цвет
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары";
Важный нюанс: Просто добавить поле в документ недостаточно. Чтобы эти данные появились в отчетах (например, в ОСВ), нужно менять логику проведения документа, чтобы цвет записывался в регистры бухгалтерии. В 1С:Бухгалтерии это сделать крайне сложно, так как план счетов имеет фиксированные субконто. Поэтому такой метод чаще всего используется только для хранения информации в документе и вывода в специфические внешние отчеты.
Проанализируем ситуацию: если вашему бизнесу жизненно необходим учет по характеристикам (цвет, размер, рост), то 1С:Бухгалтерия — не самый подходящий инструмент для первичного учета. Программы 1С:Управление торговлей (УТ 11) или 1С:Управление нашей фирмой (УНФ) имеют встроенный механизм Характеристик.
Выясним, как это работает в связке:
Это архитектурно правильный подход для масштабируемого бизнеса.
Подведем итог: почему у автора вопроса «все куртки стали белыми»? Потому что он менял свойство самой номенклатуры, а не конкретной строки продажи.
Наши рекомендации: