Как переместить весь товар с одного склада на другой в 1С:УТ 11.5 без ручного ввода

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

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

Способ 1. Использование встроенного механизма «Подбор товаров»

Самый простой и доступный способ, не требующий программирования — это использование штатного окна подбора в документе перемещения (дополнительно можно вывести остатки и цены в списки номенклатуры). Проанализируем, как сделать это максимально быстро.

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

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

Способ 2. Загрузка данных из Excel (внешнего файла)

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

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

  1. Сформируем отчет Остатки и доступность товаров (раздел Склад и доставка — Отчеты по складу).
  2. В настройках отчета установим фильтр по нашему складу-отправителю и нажмем Сформировать.
  3. Сохраним полученный отчет в формате Excel (кнопка с дискетой в верхнем меню).
  4. Откроем файл Excel и оставим в нем только две колонки: Номенклатура (артикул или наименование) и Количество. Удалим все лишние строки (шапку отчета, итоги).
  5. В документе Перемещение товаров на вкладке Товары найдем кнопку Загрузить из файла (иконка папки с зеленой стрелкой).
  6. В открывшемся окне просто скопируем данные из нашего файла Excel и вставим их в таблицу.
  7. Нажмем Далее. Программа автоматически сопоставит номенклатуру по артикулу или штрихкоду. После завершения нажимаем Перенести в документ.

Способ 3. Программная автоматизация через расширение (для разработчиков)

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

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


&Вместо("СкопироватьСтрокиВБуферОбмена")
Процедура ОРВ_СкопироватьСтрокиВБуферОбмена(ТабличнаяЧасть, Строки) Экспорт
    ТаблицаЗначений = ТабличнаяЧасть.Выгрузить(Новый Массив);
    
    // Проверяем наличие колонки с остатками для автоматического заполнения количества
    ЕстьОстатокНаСкладе = ТаблицаЗначений.Колонки.Найти("ОстатокНаСкладе") <> Неопределено;
    Если ЕстьОстатокНаСкладе Тогда
        ТаблицаЗначений.Колонки.Добавить("Количество");
        ТаблицаЗначений.Колонки.Добавить("КоличествоУпаковок");
    КонецЕсли;

    // Удаляем служебные колонки, которые не нужны при вставке в новый документ
    УдаляемыеКолонки = Новый Массив;
    УдаляемыеКолонки.Добавить("КодСтроки");
    УдаляемыеКолонки.Добавить("ИдентификаторСтроки");
    УдаляемыеКолонки.Добавить("КлючСвязи");
    
    Для Каждого ИмяКолонки Из УдаляемыеКолонки Цикл
        Колонка = ТаблицаЗначений.Колонки.Найти(ИмяКолонки);
        Если Колонка <> Неопределено Тогда
            ТаблицаЗначений.Колонки.Удалить(Колонка);
        КонецЕсли;
    КонецЦикла;

    // Заполняем таблицу данными из строк-источников
    Индекс = 0;
    Для Каждого ИдентификаторСтроки Из Строки Цикл
        ИсходнаяСтрока = ТабличнаяЧасть.НайтиПоИдентификатору(ИдентификаторСтроки);
        НоваяСтрока = ТаблицаЗначений.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока, ИсходнаяСтрока);
        
        Если ЕстьОстатокНаСкладе Тогда
            НоваяСтрока.КоличествоУпаковок = ИсходнаяСтрока.ОстатокНаСкладе;
            НоваяСтрока.Количество = ИсходнаяСтрока.ОстатокНаСкладе;
        КонецЕсли;
    КонецЦикла;

    ОбщегоНазначения.СкопироватьВБуферОбмена(ТаблицаЗначений, "КопированиеВставкаСтрок");
КонецПроцедуры

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

Способ 4. Использование механизма «Пересчет товаров» (Инвентаризация)

Выясним причину, по которой товаровед просит создать отдельный склад. Если цель — зафиксировать остатки для инвентаризации, то в УТ 11.5 для этого предусмотрен специальный функционал, не требующий физического перемещения остатков в программе.

Рассмотрим правильную последовательность действий через инвентаризацию:

  1. Создадим документ Пересчет товаров (Склад и доставка — Излишки, недостатки, порча — Пересчеты товаров).
  2. Выберем склад, на котором проводится проверка.
  3. На вкладке Товары нажмем Заполнить по остаткам на складе. Система сама подтянет все учетные данные.
  4. Установим статус В работе. Теперь система зафиксировала «снимок» остатков.
  5. После фактического пересчета заполним колонку Факт. На основании пересчета программа сама создаст документы Списание недостач товаров и Оприходование излишков товаров.

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

Особенности учета, которые важно учесть

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

  1. Резервы под заказы: Если товар на складе-отправителе зарезервирован под Заказ клиента, программа не позволит его переместить. Перед операцией необходимо либо снять резервы, либо использовать документ Корректировка назначения товаров.
  2. Серийный учет: Если на складах включен учет по сериям, при заполнении документа перемещения система потребует указать конкретные серии. В случае «перемещения всего склада» лучше использовать заполнение серий по остаткам (команда Заполнить серии в меню ТЧ товары).
  3. Статусы документов: Если в базе используются статусы перемещений (К отгрузке, Отгружено, Принято), убедитесь, что вы перевели документ в финальный статус, иначе остатки «зависнут» в пути (регистр Товары к передаче).

Подводя итог, для разового быстрого перемещения мы рекомендуем Способ 2 (Excel) как самый стабильный. Для регулярных операций лучше один раз настроить Способ 3 (Расширение) или воспользоваться механизмом Заказ на перемещение, в котором часто доступна кнопка автоматического заполнения по остаткам в зависимости от настроек обеспечения.

← На главную