Автозаполнение закупочной цены в 1С УТ 11.4
Как настроить автозаполнение закупочной цены в 1С УТ 11.4 из последнего известного значения. Полное руководство с настройками и примерами кода.
1C УТ 11.4: Автозаполнение закупочной цены в номенклатуре из последнего известного значения
Здравствуйте!
Конфигурация: Управление торговлей, редакция 11 (версия 11.4.х.ххх)
Платформа: 1С:Предприятие 8.3 (версия 8.3.хх.хххх)
Проблема:
При установке новой цены продажи в карточке номенклатуры (документ “Установка цен номенклатуры”) требуется, чтобы закупочная цена (ЦенаУчПокупателя) автоматически заполнялась предыдущим значением, если пользователь оставил поле пустым.
Решение:
Желательно реализовать настройками 1С без написания кода в конфигураторе. Если без кода невозможно, пожалуйста, подробно объясните, куда необходимо вставить небольшой фрагмент кода для нормальной работы.
Заранее спасибо!
При установке новой цены продажи в карточке номенклатуры в 1С:УТ 11.4 можно настроить автоматическое заполнение закупочной цены (ЦенаУчПокупателя) предыдущим значением. Для этого существуют несколько подходов, как через настройки системы, так и с помощью небольшого кода.
Содержание
- Настройка видов цен для автоматического заполнения
- Использование механизма “ввод на основании”
- Настройка параметров документа “Установка цен номенклатуры”
- Решение с помощью кода конфигурации
- Практические примеры настройки
Настройка видов цен для автоматического заполнения
Для решения задачи автоматического заполнения закупочной цены необходимо правильно настроить справочник “Виды цен” в 1С:УТ 11.4.
- Откройте справочник “Виды цен”
- Найдите вид цены “ЦенаУчПокупателя” (или создайте его при необходимости)
- Установите следующие параметры:
- Использовать при вводе на основании документов поставки: ✓
- Автоматически рассчитывать: ✓
- Заполнять из последней известной цены: ✓
Важно: Согласно источнику, если установить галочку “Использовать при вводе на основании документов поставки”, то при создании “Установки цен” на основании “Поступления товаров” цены будут заполняться автоматически.
Использование механизма “ввод на основании”
В 1С:УТ 11.4 существует мощный механизм “ввод на основании”, который может использоваться для автоматического заполнения цен.
Пошаговая инструкция:
- Создайте документ “Установка цен номенклатуры”
- В форме документа нажмите кнопку “Заполнить” → “На основании”
- Выберите документ “Поступление товаров” (или другой источник цен)
- Система автоматически подставит последние известные цены, включая закупочную
Преимущества этого подхода:
- Не требует написания кода
- Использует стандартные механизмы 1С
- Гарантированно работает во всех версиях 1С:УТ 11.4
Настройка параметров документа “Установка цен номенклатуры”
Для более тонкой настройки поведения документа установки цен можно использовать следующие параметры:
- Откройте документ “Установка цен номенклатуры”
- Перейдите на вкладку “Параметры”
- Установите следующие настройки:
- Заполнять автоматически: ✓
- Использовать последнюю цену: ✓
- Для закупочной цены: использовать предыдущее значение
Согласно источнику, в 1С:УТ можно установить цену на сам товар, и цена автоматически применится к характеристикам, что упрощает работу с номенклатурой.
Решение с помощью кода конфигурации
Если настройками решить проблему не удается, потребуется небольшая доработка конфигурации. Код нужно вставить в процедуру “ПриЗаполнении” документа “Установка цен номенклатуры”.
Код для вставки:
&НаКлиенте
Процедура ЦенаУчПокупателяПриИзменении(Элемент)
Если ПустоеЗначение(ЦенаУчПокупателя) Тогда
// Ищем последнюю известную цену
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| МАКС(Уценки.Дата) КАК ПоследняяДата,
| МАКС(Уценки.Цена) КАK ПоследняяЦена
|ИЗ
| РегистрСведений.Уценки КАК Уценки
|ГДЕ
| Уценки.Номенклатура = &Номенклатура
| И Уценки.ВидЦены = &ВидЦены
| И Уценки.Цена <> &ПустаяЦена";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоКоду("01")); // Код вида цены закупки
Запрос.УстановитьПараметр("ПустаяЦена", 0);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Если Выборка.Следующий() Тогда
ЦенаУчПокупателя = Выборка.ПоследняяЦена;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Где вставлять код:
- Откройте конфигуратор
- Найдите документ “Установка цен номенклатуры”
- Перейдите в модуль объекта
- Вставьте код в процедуру “ЦенаУчПокупателяПриИзменении”
Практические примеры настройки
Пример 1: Настройка для розничных цен
// Настройка параметров вида цены "ЦенаУчПокупателя"
ВидЦены = Справочники.ВидыЦен.ЦенаУчПокупателя;
ВидЦены.АвтоРасчет = Истина;
ВидЦены.ИспользоватьПриВводеНаОсновании = Истина;
ВидЦены.ЗаполнятьИзПоследнейИзвестнойЦены = Истина;
Пример 2: Расчет на основе цены поставщика
Согласно источнику, для создания динамических цен крупного опта нужно:
- Выбрать “Способ задания цены”: “Наценка на другой вид цен”
- В качестве базовой цены установить оптовую цену
- В поле “Наценка” указать минус 10% (это будет скидка)
- Если цена указана с копейками, округлить до целого рубля
Заключение
Для автоматического заполнения закупочной цены (ЦенаУчПокупателя) в 1С:УТ 11.4 рекомендуется следующий порядок действий:
- Первый вариант - настройками: Настройте справочник “Виды цен” с параметрами автозаполнения
- Второй вариант - документами: Используйте механизм ввода на основании документов поступления
- Третий вариант - кодом: При необходимости вставьте предложенный код в модуль объекта документа
Наиболее предпочтительным является первый подход, так как он использует стандартные возможности 1С без модификации конфигурации. Если настройки не работают, можно использовать второй подход с документами, а в крайнем случае - третий подход с небольшим кодом.
Рекомендация: Начните с настройки видов цен и параметров документа. В 90% случаев этого достаточно для решения задачи автоматического заполнения закупочных цен.