Как отгрузить товары по старым заказам после перехода на ордерную схему склада в 1С?

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

При переходе на ордерную схему складского учета в 1С: Комплексная автоматизация 2.5 (а также в 1С: ERP и 1С: Управление торговлей 11) многие сталкиваются с одной и той же проблемой. По заказам клиентов, созданным до даты включения ордерной схемы, невозможно сформировать расходный ордер на товары. Система выдает сообщение "По выбранным распоряжениям не требуется отгрузка товаров", а сама отгрузка "зависает" в статусе "В процессе отгрузки".

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

Выясняем причину: почему система не видит потребность в отгрузке?

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

Проанализируем ситуацию по шагам:

  1. При проведении документа Заказ клиента система формирует движения в регистре накопления Товары к отгрузке. Эти движения создаются на дату самого заказа.
  2. Если заказ был создан, скажем, 8 октября (до перехода на ордерную схему), то и запись в регистре о том, что товар нужно отгрузить, будет датирована 8 октября.
  3. Когда вы 22 октября пытаетесь создать Расходный ордер на товары на основании реализации, система проверяет регистр Товары к отгрузке на наличие записей, требующих отгрузки по ордерной схеме.
  4. Так как ордерная схема действует только с 21 октября, система ищет записи в регистре именно в этом периоде. Она не находит движений по вашему "старому" заказу, потому что они остались в прошлом, доордерном периоде.

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

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

Решение 1: Изменение дат в заказах (простой способ)

Самый быстрый и простой способ заставить систему "увидеть" старый заказ — это "омолодить" его, перенеся его дату в период действия ордерной схемы. Этот метод не требует навыков программирования и может быть выполнен опытным пользователем.

Порядок действий:

  1. Найдите и откройте "старый" Заказ клиента, по которому не удается создать ордер.
  2. В документе есть два ключевых поля с датой: основная Дата документа и Дата отгрузки на закладке "Доставка".
  3. Сначала попробуйте изменить только поле "Дата отгрузки", установив в нем дату, равную или более позднюю дате перехода на ордерную схему (в нашем примере — 21.10.2024 или позже).
  4. Перепроведите документ и попробуйте снова создать расходный ордер.
  5. Если это не помогло, вернитесь в заказ и измените основную Дату документа на актуальную (например, 21.10.2024). После этого перепроведите документ. Этот шаг гарантированно сработает, так как система увидит, что распоряжение на отгрузку появилось уже в ордерном периоде.

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

Решение 2: Ручная корректировка регистров (технический способ)

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

Основной инструмент для этого — документ Корректировка регистров. Нам нужно исправить данные в регистре накопления Товары к отгрузке.

Порядок действий:

  1. Создайте новый документ Корректировка регистров (находится обычно в разделе "НСИ и администрирование" или "Финансовый результат и контроллинг").
  2. На вкладке "Регистры накопления" добавьте в таблицу регистр Товары к отгрузке.
  3. Теперь нам нужно сделать две записи для каждой товарной позиции в старом заказе:
    • Запись 1: Сторнирование (Расход). Создайте движение с видом "Расход". Этой записью мы отменяем старую потребность в отгрузке. Очень важно, чтобы все поля (аналитики) в этой строке точно соответствовали исходному движению, которое сделал Заказ клиента: тот же склад, номенклатура, характеристика, назначение и, конечно, сам заказ. Дату движения установите равной дате старого заказа.
    • Запись 2: Новая потребность (Приход). Создайте движение с видом "Приход". Этой записью мы формируем новую потребность в отгрузке, но уже в нужном нам периоде. Все аналитики скопируйте из предыдущей строки, а дату движения установите на день перехода на ордерную схему или позже (например, 21.10.2024).
  4. Проведите документ корректировки.

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

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

Решение 3: Автоматизация через обработку (оптимальный способ для массового перехода)

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

Этот способ является развитием второго решения и требует привлечения 1С-программиста.

Логика работы обработки:

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

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

← На главную