Как узнать, сколько отгрузил водитель за месяц в 1С 7.7

Пользователь 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

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

Способ 1: Использование механизма «Проекты» (без программирования)

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

  1. Откроем справочник «Проекты» (обычно находится в меню «Справочники» — «Структура компании» или «Прочее»).
  2. Внесем в него список всех наших водителей.
  3. При создании документа «Реализация» перейдем на закладку «Дополнительно».
  4. В поле Проект выберем нужного водителя из справочника.

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

Способ 2: Использование поля «Комментарий» (быстрый, но ручной метод)

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

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


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

Важный нюанс: этот метод крайне чувствителен к ошибкам ввода. Если один раз написать «Иванов», а другой «Иванов А.В.», простой поиск может дать неверные результаты. Поэтому мы рекомендуем использовать этот способ только в крайнем случае.

Способ 3: Программная доработка конфигурации

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

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

Разберем ситуацию: если мы просто добавим реквизит в документ, отчету придется перебирать все документы за месяц, что в 1С 7.7 (особенно в DBF-версиях) может занимать очень много времени. Если же мы включим водителя в измерения регистра Продажи, то получение данных будет мгновенным через стандартный объект Запрос по регистру.

Способ 4: Организация «Виртуальных складов»

Для компаний с жестким контролем материальной ответственности подойдет метод виртуальных складов. Рассмотрим эту схему:

  1. В справочнике Склады создаются элементы по именам водителей (например, «Склад Машина Иванов»).
  2. Товар передается водителю документом «Перемещение ТМЦ» с основного склада на склад водителя.
  3. Продажа (Реализация) осуществляется непосредственно со склада водителя.

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

Резюме и рекомендации

Посмотрим на выбор метода в зависимости от ваших условий:

Помните, что в версии 7.7 информация, введенная в печатную форму ТТН «руками» перед печатью, в базе не сохраняется. Если вы пользуетесь именно таким способом заполнения данных о водителе, то единственный путь — начать фиксировать эти данные в самой карточке документа одним из вышеописанных способов.

← На главную