Как на форму списка РКО добавить контрагента в 1С:Розница без изменения конфигурации?

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

При работе в программе 1С:Розница 2.2 (базовая версия) пользователи часто сталкиваются с необходимостью кастомизации интерфейса под свои повседневные задачи. Один из популярных вопросов — как вывести контрагента отдельной колонкой в список документов Расходный кассовый ордер (РКО). Ситуация осложняется тем, что в базовой версии программы изменять конфигурацию напрямую запрещено на уровне лицензии, а стандартная кнопка "Изменить форму" в данном журнале документов часто недоступна или не решает задачу.

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

Почему контрагента нет в списке РКО по умолчанию?

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

Из-за такого многообразия (полиморфизма данных) в структуре таблиц базы данных у документа РКО нет единого сквозного реквизита "Контрагент". Поля получателя меняются на форме динамически. По этой причине разработчики «1С» не могут просто вывести универсальную колонку "Контрагент" в стандартный динамический список — для большинства операций она оставалась бы пустой.

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

Решение 1. Настройка группировки списка по контрагенту (Стандартный метод)

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

Разберем процесс настройки по шагам:

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

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

Решение 2. Использование стандартной колонки "Основание"

Проанализируем еще одну стандартную возможность системы. При создании и заполнении РКО (особенно на основании документов поступления) программа автоматически заполняет текстовое поле Основание.

Как правило, туда записывается текст вида: "Оплата поставщику [Наименование контрагента] по договору...". Поскольку колонка Основание выведена в стандартный список РКО по умолчанию, мы можем использовать ее для быстрой визуальной идентификации получателя денежных средств. Для этого достаточно настроить ширину данной колонки на форме или воспользоваться строкой быстрого поиска по этой колонке.

Решение 3. Настройка специализированных отчетов

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

Рассмотрим, как настроить отчет Ведомость по денежным средствам для получения нужной информации:

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

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

Решение 4. Использование внешних обработок (Альтернативный журнал РКО)

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

Мы можем использовать внешнюю обработку, которая будет выступать в роли альтернативного, более удобного журнала документов. Программист может написать для нас простую обработку, динамический список которой будет формироваться на основе произвольного SQL-запроса, объединяющего таблицы РКО и справочник контрагентов.

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


ВЫБРАТЬ
    ДокументРКО.Ссылка КАК Ссылка,
    ДокументРКО.Дата КАК Дата,
    ДокументРКО.Номер КАК Номер,
    ДокументРКО.Организация КАК Организация,
    ДокументРКО.СуммаДокумента КАК СуммаДокумента,
    ВЫБОР
        КОГДА ДокументРКО.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику)
            ТОГДА ДокументРКО.Контрагент
        КОГДА ДокументРКО.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПокупателю)
            ТОГДА ДокументРКО.Контрагент
        ИНАЧЕ "Физическое лицо / Прочее"
    КОНЕЦ КАК ПолучательСредств,
    ДокументРКО.Комментарий КАК Комментарий
ИЗ
    Документ.РасходныйКассовыйОрдер КАК ДокументРКО
ГДЕ
    ДокументРКО.ПометкаУдаления = ЛОЖЬ

Такая внешняя обработка регистрируется в базе через стандартный механизм (Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки). После этого пользователи смогут открывать альтернативный журнал РКО прямо из интерфейса программы, видеть красивую колонку с контрагентами, выполнять по ней поиск, фильтрацию и открывать нужные документы двойным кликом мыши.

Таким образом, даже при жестких ограничениях базовой версии программы «1С:Розница 2.2» у нас всегда есть выбор между простыми организационными обходами (группировки, отчеты) и созданием удобного внешнего инструмента, не нарушающего целостность программы и не препятствующего ее автоматическому обновлению.

← На главную