Как организовать ввод цены продажи сразу при заполнении поступления товаров в 1С

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

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

Метод 1. Использование встроенной кнопки «Цены номенклатуры» в документе

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

Разберем, как это работает по шагам:

  1. Заполним документ поступления: добавим товары, укажем количество и цены закупки.
  2. В верхней панели над списком товаров найдем кнопку «Цены номенклатуры».
  3. При нажатии откроется вспомогательное окно со списком всех товаров из текущего поступления. В этом окне система предложит рассчитать цены по умолчанию (например, закупочная + наценка) и позволит вручную отредактировать их в соседней колонке.
  4. После нажатия кнопки «ОК» система автоматически создаст и проведет документ Установка цен номенклатуры, привязав его к текущему поступлению.

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

Метод 2. Использование расширения для добавления колонки «Цена розничная»

Если штатный механизм кажется неудобным из-за необходимости открывать лишние окна, наиболее эффективным решением будет использование расширения конфигурации. Это позволит добавить колонку «Цена розничная» прямо в основную таблицу товаров документа поступления.

Выясним техническую сторону реализации такого решения. Нам необходимо выполнить следующие действия:

  1. Создать расширение и заимствовать в него документ ПоступлениеТоваров и его табличную часть Товары.
  2. Добавить в табличную часть реквизит ЦенаРозница (тип Число).
  3. Вывести этот реквизит на форму документа.
  4. Написать обработчик события ПриЗаписи или ПослеЗаписи, который будет программно генерировать документ установки цен.

Проанализируем пример программного кода, который может использоваться в расширении для автоматического создания цен:


Процедура Расш1_ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
    // Создаем новый документ установки цен
    НоваяУстановка = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
    НоваяУстановка.Дата = ТекущийОбъект.Дата;
    НоваяУстановка.ДокументОснование = ТекущийОбъект.Ссылка;
    
    Для Каждого СтрокаТЧ Из ТекущийОбъект.Товары Цикл
        Если СтрокаТЧ.ЦенаРозница > 0 Тогда
            НоваяСтрока = НоваяУстановка.Товары.Добавить();
            НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура;
            НоваяСтрока.Цена = СтрокаТЧ.ЦенаРозница;
            // Указываем вид цены (например, Розничная)
            НоваяСтрока.ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная");
        КонецЕсли;
    КонецЦикла;
    
    Если НоваяУстановка.Товары.Количество() > 0 Тогда
        НоваяУстановка.Записать(РежимЗаписиДокумента.Проведение);
    КонецЕсли;
КонецПроцедуры

Важный нюанс: при таком подходе цена продажи всегда будет «под рукой», и пользователю не придется переключаться между интерфейсами. Это именно то решение, которое чаще всего внедряют специалисты для розничных магазинов.

Метод 3. Лайфхак через обработку «Печать этикеток и ценников»

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

Разберем алгоритм действий:

  1. В документе поступления нажимаем кнопку «Печать» и выбираем пункт «Ценники» или «Этикетки».
  2. Откроется форма обработки, в которую автоматически попадут все 100 позиций товара из вашего прихода.
  3. В этой форме есть колонки «Цена» и «Новая цена». Вы можете прямо в списке быстро проставить нужные значения.
  4. После внесения изменений в обработке предусмотрена команда «Установить цены» или «Записать цены».

Преимущество этого метода в том, что интерфейс печати ценников обычно более компактный и приспособлен для массового редактирования строк, чем стандартный документ установки цен.

Метод 4. Настройка автоматического пересчета в «1С:Розница 3.0» и «1С:УНФ»

Если вы работаете в актуальных редакциях на платформе 8.3 (например, «1С:УНФ»), то задача решается еще проще. В настройках параметров учета можно активировать опцию автоматической регистрации цен поставщика и цен продажи.

Посмотрим, как настроить систему:

Подведение итогов

Мы проанализировали ситуацию и выяснили, что проблема «двойного ввода» в 1С решаема несколькими путями. Если ваша конфигурация позволяет, используйте штатную настройку «Регистрация цен в накладных». Если вы работаете в более старых редакциях, оптимальным выбором станет использование расширения, которое добавит колонку в таблицу товаров. Это позволит вам сохранить «чистоту» конфигурации для обновлений, обеспечив при этом комфортную работу кладовщику или менеджеру по закупкам.

Помните, что при любом способе автоматического создания цен важно следить за тем, чтобы документ Установка цен номенклатуры не дублировался при каждом перепроведении поступления — для этого в коде расширения стоит добавить проверку на наличие уже созданных документов-оснований.

← На главную