Как добавить детализацию номенклатуры (цвет, размер) в документ реализации в 1С:Бухгалтерия 3.0

Бухгалтер 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Торговля и дистрибуция
← На главную

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

Почему дополнительные реквизиты справочника не подходят для строк документа

Разберем ситуацию, описанную пользователем. Когда вы добавляете «Дополнительный реквизит» к справочнику Номенклатура, вы добавляете поле в саму «карточку» товара. Это значение привязывается к ссылке на объект в базе данных.

Проанализируем механику: в документе «Реализация товаров и услуг» в каждой строке вы выбираете одну и ту же ссылку — «Куртка». Если вы заходите в настройки этой ссылки и меняете реквизит «Цвет» на «Черный», то программа честно сообщает всей базе данных: «Объект Куртка теперь имеет черный цвет». Поскольку во всех строках документа выбрана одна и та же куртка, во всех строках цвет станет черным. Это логика реляционной базы данных: данные хранятся в объекте, а не в строке документа.

Для того чтобы в одной накладной было две разные строки с одной и той же курткой, но разными цветами, информация о цвете должна храниться не в справочнике, а в табличной части самого документа. Рассмотрим доступные способы реализации этого функционала.

Способ 1: Создание отдельных карточек номенклатуры

Это самый простой и методически верный способ для 1С:Бухгалтерии, не требующий программирования. Если вам важен учет остатков и автоматическое построение отчетов в разрезе цветов (например, Оборотно-сальдовая ведомость по счету 41), необходимо заводить разные позиции.

  1. Вместо одной позиции «Куртка» создаем: «Куртка (черная)», «Куртка (белая)», «Куртка (серебро)».
  2. Для удобства группировки объединяем их в одну группу (папку) в справочнике или используем механизм Виды номенклатуры.
  3. В документах реализации выбираем конкретные позиции.

Преимущества: Работает «из коробки», данные корректно попадают во все бухгалтерские отчеты и субконто, не возникает проблем при обновлении программы.

Недостатки: Раздувается справочник номенклатуры, что может быть неудобно при огромном ассортименте цветов и размеров.

Способ 2: Использование поля «Содержание» для печати

Если ваша основная цель — просто вывести информацию о цвете в печатную форму (УПД или ТОРГ-12), а детальный учет остатков по цветам на складе не требуется, можно воспользоваться скрытым функционалом табличной части.

Разберем шаги по включению этого поля:

  1. Откройте документ «Реализация (акт, накладная, УПД)».
  2. Нажмите кнопку Еще в правом верхнем углу и выберите Изменить форму.
  3. В дереве элементов найдите группу «Товары» и установите галочку напротив поля Содержание.
  4. Нажмите «ОК». Теперь в каждой строке у вас появилось текстовое поле.

В этом поле вы можете дописать: «Цвет: черный». При печати накладной программа подтянет данные именно из поля Содержание, если оно заполнено. Однако помните: построить автоматический отчет «сколько продано черных курток» стандартными средствами не получится, так как это просто неструктурированный текст.

Способ 3: Использование расширений конфигурации (без изменения кода)

Современный способ добавить аналитику в табличную часть — использование расширений конфигурации (.cfe). Это позволяет добавить нужный столбец «Цвет» в документ, не снимая базу с поддержки.

С точки зрения разработки это выглядит так: мы создаем расширение и заимствуем в него табличную часть Товары документа РеализацияТоваровУслуг. Добавляем новый реквизит. Пример программного обращения к такому полю в коде (если бы вы писали внешний отчет):


// Пример получения данных из расширенной табличной части
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |   РеализацияТоваровУслугТовары.Ссылка КАК Документ,
    |   РеализацияТоваровУслугТовары.Номенклатура,
    |   РеализацияТоваровУслугТовары.Цвет_Расширение КАК Цвет
    |ИЗ
    |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары";

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

Способ 4: Интеграция с «1С:Управление торговлей» или «1С:УНФ»

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

Выясним, как это работает в связке:

  1. В торговой программе вы ведете детальный учет: одна номенклатура «Куртка» и множество характеристик (синяя, красная, XL, L).
  2. Программа позволяет видеть остатки на складе в разрезе каждой характеристики.
  3. При синхронизации с «1С:Бухгалтерией» данные «схлопываются». В бухгалтерию прилетает просто «Куртка» общей суммой и количеством, что достаточно для сдачи налоговой отчетности.

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

Резюме и рекомендации

Подведем итог: почему у автора вопроса «все куртки стали белыми»? Потому что он менял свойство самой номенклатуры, а не конкретной строки продажи.

Наши рекомендации:

← На главную