Как сформировать акт сверки взаиморасчетов по нескольким выбранным договорам в 1С?

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

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

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

Почему в старых релизах 1С:КА 2 и 1С:ERP отбор по списку договоров работал некорректно?

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

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

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

Начиная с версии 2.4.8 (и далее во всех актуальных версиях редакций 2.5 и выше), этот механизм был кардинально переработан разработчиками фирмы «1С». Ниже мы детально разберем, как пользоваться обновленным функционалом.

Решение в «1С:ERP», «1С:Комплексная автоматизация 2» и «1С:Управление торговлей 11»

Рассмотрим порядок действий для получения выборочного акта сверки в современных релизах ERP-линейки. Начиная с версии 2.4.8, в системе появился удобный инструмент — Помощник создания сверок взаиморасчетов.

Разберем процесс по шагам:

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

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

Решение в «1С:Бухгалтерия предприятия 3.0» (БП)

В самой популярной бухгалтерской программе 1С:Бухгалтерия 3.0 интерфейс документов сверки отличается от ERP-систем. Здесь нет встроенного сложного конструктора расширенных отборов непосредственно в шапке документа, однако разработчики предусмотрели другой элегантный и простой способ решения этой задачи.

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

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

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

Для разработчиков: как доработать старые конфигурации (например, 1С:УПП)

Если вы работаете в устаревших конфигурациях, таких как 1С:Управление производственным предприятием (УПП) или старых редакциях Комплексной автоматизации 1.1, где функционал выбора списка договоров не предусмотрен, задачу можно решить небольшой доработкой кода.

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

В модуле объекта документа найдем процедуру заполнения и заменим условие сравнения договора в запросе с равенства на проверку вхождения в список:


// Было в типовом коде:
// | ИГРАТЬ_ПО_ДОГОВОРУ:
// | ГДЕ Взаиморасчеты.ДоговорКонтрагента = &ПараметрДоговор

// Стало после доработки:
| ГДЕ Взаиморасчеты.ДоговорКонтрагента В (&СписокДоговоров)

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

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

← На главную