Как в 1С:УНФ заполнить расходную накладную всеми остатками со склада?

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

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

Метод 1: Использование документа «Инвентаризация запасов» как промежуточного звена

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

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

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

Метод 2: Групповое выделение в форме «Подбор номенклатуры»

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

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

  1. Установим фильтр Только в наличии (обычно это флаг или кнопка с изображением складской коробки).
  2. В правой части окна или в настройках (пиктограмма шестеренки) убедимся, что выбран режим отображения остатков.
  3. Чтобы выбрать все товары сразу, нажмем на первую строку списка, прокрутим его до конца и, зажав клавишу Shift, нажмем на последнюю строку. Все позиции будут выделены синим цветом.
  4. Нажмем правую кнопку мыши и выберем команду Добавить в корзину.
  5. Если система настроена на запрос количества, она может попросить подтверждение для каждой позиции. Однако в последних версиях УНФ, если выбрана опция Свободно, программа может автоматически подставить доступный остаток в корзину.
  6. После того как товары попали в корзину, нажимаем Перенести в документ.

Метод 3: Использование документа «Заказ покупателя»

Проанализируем более методически правильный подход для управленческого учета. В 1С:УНФ документ Заказ покупателя обладает более гибкими инструментами заполнения. Если ваша бизнес-логика позволяет, пройдем по следующему пути:

  1. Создадим Заказ покупателя.
  2. В меню Заполнить выберем По остаткам (все) или По остаткам (свободным). Это заполнит таблицу всеми товарами, которые есть на складе и не зарезервированы под другие заказы.
  3. Проведем заказ и на его основании нажмем кнопку Создать на основании — Расходная накладная.
  4. Система автоматически перенесет все данные в накладную, обеспечив при этом связь документов и корректное закрытие заказов.

Метод 4: Загрузка из внешнего источника (Excel)

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

  1. Сформируем отчет Остатки товаров по нужному складу.
  2. Сохраним этот отчет в формате Excel.
  3. В документе Расходная накладная воспользуемся штатной кнопкой Загрузить данные из внешнего источника.
  4. Выберем наш файл. Система сопоставит колонки «Номенклатура», «Количество» и «Цена».
  5. Нажмем Загрузить, и табличная часть заполнится готовыми данными из файла.

Метод 5: Техническая доработка через расширение конфигурации

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

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


// Пример упрощенной логики для программного заполнения
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ЗапасыОстатки.Номенклатура КАК Номенклатура,
    |	ЗапасыОстатки.Характеристика КАК Характеристика,
    |	ЗапасыОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    |	РегистрНакопления.Запасы.Остатки(&МоментВремени, Склад = &Склад) КАК ЗапасыОстатки";

Запрос.УстановитьПараметр("МоментВремени", Объект.Дата);
Запрос.УстановитьПараметр("Склад", Объект.СтруктурнаяЕдиница);

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл
    НоваяСтрока = Объект.Запасы.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
КонецЦикла;

Использование расширения — это самый комфортный путь для пользователя, так как кнопка «Заполнить по остаткам» появится непосредственно в меню заполнения Расходной накладной.

Рекомендации и важные замечания

При использовании любого из вышеперечисленных методов следует учитывать специфику настроек вашей базы 1С:УНФ:

Таким образом, мы рассмотрели как стандартные способы (буфер обмена, подбор, загрузка из Excel), так и возможность автоматизации через создание расширения. Выбор конкретного метода зависит от частоты возникновения такой задачи и готовности к небольшим техническим доработкам системы.

← На главную