Взаиморасчеты онлайн или офлайн 1с ут

Обновлено: 06.07.2024

Описывая ситуацию на примере Управление торговлей, редакция 11 (11.4.6.166).

Началось все с того, что в какой то момент данные отчета Ведомость расчетов с клиентами перестали совпадать с данными сверок взаиморасчетов. Попытку идти привычным путем - искать, какой же документ вызвал расхождение, ожидало фиаско. Если посмотреть на код формирования отчета, то можно увидеть, что данные он получает из регистра "РасчетыСКлиентамиПоСрокам". А регистратор у этого регистра всего один - документ "Регистратор расчетов", у которого всего несколько реквизитов: ОбъектРасчетов, АналитикаУчетаПоПартнерам, Валюта и ТипРасчетов. ТипРасчетов в моем случае - это "Расчеты с клиентом". АналитикаУчетаПоПартнерам включает в себя комбинацию "Организация"+"Партнер". Объект расчетов - в моем случае - Заказ клиента. Что происходит при проведении любого документа, из группы документов, сформированных по этому критерию ? А происходит полный пересчет всех данных по этой группе, и полученный результат записывается в регистр "Расчеты с киентами по срокам" при помощи регистратора "Регистратор расчетов". Вследствии чего данные в этом регистре всегда актуальны, независимо от последовательности проведения документов этой группы. Причем, при простом перепроведении документов учета - будь то реализация или документ оплаты, пересчета происходить не будет - для оптимизации сделано так, что пересчет производится только при выявлении каких либо изменений в документе учета. Следовательно, при переборе путей исправления расхождения отчета и акта сверки - простое перепроведение документов помочь не может. Да и неплохо бы понять, сколько вообще в базе таких ошибок. Сваял для этого отчет по выявлению таковых ошибок. Отчет прилагается в архиве, запрос СКД привожу здесь:

Выявление расхождений между регистрами "РасчетыСКлиентами" и "РасчетыСКлиентамиПоСрокам"

ВЫБРАТЬ
вв0.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
вв0.ЗаказКлиента КАК ЗаказКлиента,
вв0.Валюта КАК Валюта,
вв0.АналитикаУчетаПоПартнерам.Партнер КАК Партнер,
СУММА(вв0.СуммаПриход) КАК СуммаПриход,
СУММА(вв0.ДолгПриход) КАК ДолгПриход,
СУММА(вв0.ПредоплатаПриход) КАК ПредоплатаПриход,

СУММА(вв0.СуммаРасход) КАК СуммаРасход,
СУММА(вв0.ДолгРасход) КАК ДолгРасход,
СУММА(вв0.ПредоплатаРасход) КАК ПредоплатаРасход,

СУММА(вв0.СуммаПриход - вв0.СуммаРасход - (вв0.ДолгПриход+вв0.ПредоплатаРасход - вв0.ДолгРасход-вв0.ПредоплатаПриход)) КАК Разность
ИЗ
(ВЫБРАТЬ
РасчетыСКлиентамиОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
РасчетыСКлиентамиОбороты.ЗаказКлиента КАК ЗаказКлиента,
РасчетыСКлиентамиОбороты.Валюта КАК Валюта,
РасчетыСКлиентамиОбороты.СуммаПриход КАК СуммаПриход,
РасчетыСКлиентамиОбороты.СуммаРасход КАК СуммаРасход,
0 КАК ПредоплатаПриход,
0 КАК ПредоплатаРасход,
0 КАК ДолгПриход,
0 КАК ДолгРасход
ИЗ
РегистрНакопления.РасчетыСКлиентами.Обороты(&НачалоПериода,&КонецПериода , , ) КАК РасчетыСКлиентамиОбороты

ВЫБРАТЬ
РасчетыСКлиентамиПоСрокамОбороты.АналитикаУчетаПоПартнерам,
РасчетыСКлиентамиПоСрокамОбороты.ОбъектРасчетов,
РасчетыСКлиентамиПоСрокамОбороты.Валюта,
0,
0,
РасчетыСКлиентамиПоСрокамОбороты.ПредоплатаПриход,
РасчетыСКлиентамиПоСрокамОбороты.ПредоплатаРасход,
РасчетыСКлиентамиПоСрокамОбороты.ДолгПриход,
РасчетыСКлиентамиПоСрокамОбороты.ДолгРасход
ИЗ
РегистрНакопления.РасчетыСКлиентамиПоСрокам.Обороты(&НачалоПериода,&КонецПериода , , ) КАК РасчетыСКлиентамиПоСрокамОбороты) КАК вв0
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегАналитика
ПО (РегАналитика.КлючАналитики = вв0.АналитикаУчетаПоПартнерам)
вв0.АналитикаУчетаПоПартнерам.Партнер.*>

СГРУППИРОВАТЬ ПО
вв0.АналитикаУчетаПоПартнерам,
вв0.ЗаказКлиента,
вв0.Валюта,
вв0.АналитикаУчетаПоПартнерам.Партнер

ИМЕЮЩИЕ
не СУММА(вв0.СуммаПриход - вв0.СуммаРасход - (вв0.ДолгПриход+вв0.ПредоплатаРасход - вв0.ДолгРасход-вв0.ПредоплатаПриход))=0

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

Что ж, список ошибок получен. Нужно их исправлять. Самый простой способ - это переключить в настройках способ ведения взаиморасчетов - вначале на офлайн, потом вернуть обратно онлайн.


Но тут я не советовал бы торопиться это делать - довольно длительная операция - как в ту, так и в обратную сторону. Поэтому я стал исправлять точечно. Тут есть муторный путь - отменять проведение какого либо документа из группы по объекту расчетов (Заказу клиента) и проводить его. Ошибка при этом пропадает. Решил несколько оптимизировать - написал такой код для исправления выбранного заказа клиента:

Код работает - ошибки исправляет. Чтож, финита! остается все лишь совместить первый отчет со списком ошибок и запустить этот кусок кода в цикле, и база исправлена.

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

Шаблон модуля документа для работы с регистром РасчетыСКлиентами

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

В принципе, практически весь код файлов из архива приведен в статье. В качестве бонуса прилагаю отчет по взаиморасчетам, который строится по регистру "РасчетыСКлиентами" - просто РасчетыСКлиентами.ОстаткиИОбороты; группировки Партнер / Заказ клиента / Регистратор

Внимание (ERP): В версии ERP 2.5 планируется завершение поддержки режима Офлайн взаиморасчеты. Регистры и сама функциональность сохраняется в версиях 2.4 и 2.5 в полном объеме. Однако переход на версию 2.6 с версии 2.5 невозможен в режиме Офлайн. Только при включении использования нового режима Онлайн взаиморасчеты.

Компания «Кодерлайн» рекомендует своевременно ознакомиться и подготовиться.



Краткий ликбез о режиме «Офлайн»:

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

НСИ и администрирование – Администрирование – Обслуживание – Регламентные операции – Регламентные и фоновые задания)

Также механизм запускался при построении отчетов Задолженность клиентов (поставщикам) по срокам.

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

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

2. Что сулят «Онлайн» взаиморасчеты?





Исключается необходимость запуска распределения взаиморасчетов. Распределение взаиморасчетов запускается сразу в момент проведения документа (онлайн). Перераспределение происходит не с начала месяца, а с момента изменения документа.

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

НСИ и администрирование – Настройка НСИ и разделов – Казначейство и взаиморасчеты – Взаиморасчеты – Порядок зачета документов

1. Если требуется, чтобы оплата распределялась в порядке возрастания даты документа - По дате документа (устанавливается по умолчанию).

2. Чтобы оплата распределялась в порядке возрастания плановой даты платежа - По плановой дате платежа





НСИ и администрирование - Настройка НСИ и разделов (Казначейство и взаиморасчеты) – Взаиморасчеты – Офлайн/Онлайн



Если просмотреть Журнал регистрации, то мы увидим такую картину:






(!) Также помощник запускается в рамках закрытия месяца в 1С. При наличии развернутого сальдо баланса и наличии невыполненных заданий по расчетам с партнерами с периодом большим или равным текущему закрываемому месяцу будет выполнена регламентная операция



3. Взаимозачет задолженности

Исправление развернутых остатков по взаиморасчетам – Обнаружены развернутые остатки по взаиморасчетам с партнерами

Помощник выведет данные, по которым требуется сверка, и правки, а также предложит для исправления автоматическое создание документа Взаимозачет задолженности:




На этом все. Напоследок рекомендую при переходе на новую архитектуру 1С предварительно не забывать делать резервные копии информационной базы.

Если у Вас возникнут какие-либо вопросы или Вам потребуется помощь, пожалуйста, обращайтесь!

Внимание (ERP): В версии ERP 2.5 планируется завершение поддержки режима Офлайн взаиморасчеты. Регистры и сама функциональность сохраняется в версиях 2.4 и 2.5 в полном объеме. Однако переход на версию 2.6 с версии 2.5 невозможен в режиме Офлайн. Только при включении использования нового режима Онлайн взаиморасчеты.

Компания «Кодерлайн» рекомендует своевременно ознакомиться и подготовиться.



Краткий ликбез о режиме «Офлайн»:

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

НСИ и администрирование – Администрирование – Обслуживание – Регламентные операции – Регламентные и фоновые задания)

Также механизм запускался при построении отчетов Задолженность клиентов (поставщикам) по срокам.

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

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

2. Что сулят «Онлайн» взаиморасчеты?





Исключается необходимость запуска распределения взаиморасчетов. Распределение взаиморасчетов запускается сразу в момент проведения документа (онлайн). Перераспределение происходит не с начала месяца, а с момента изменения документа.

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

НСИ и администрирование – Настройка НСИ и разделов – Казначейство и взаиморасчеты – Взаиморасчеты – Порядок зачета документов

1. Если требуется, чтобы оплата распределялась в порядке возрастания даты документа - По дате документа (устанавливается по умолчанию).

2. Чтобы оплата распределялась в порядке возрастания плановой даты платежа - По плановой дате платежа





НСИ и администрирование - Настройка НСИ и разделов (Казначейство и взаиморасчеты) – Взаиморасчеты – Офлайн/Онлайн



Если просмотреть Журнал регистрации, то мы увидим такую картину:






(!) Также помощник запускается в рамках закрытия месяца в 1С. При наличии развернутого сальдо баланса и наличии невыполненных заданий по расчетам с партнерами с периодом большим или равным текущему закрываемому месяцу будет выполнена регламентная операция



3. Взаимозачет задолженности

Исправление развернутых остатков по взаиморасчетам – Обнаружены развернутые остатки по взаиморасчетам с партнерами

Помощник выведет данные, по которым требуется сверка, и правки, а также предложит для исправления автоматическое создание документа Взаимозачет задолженности:




На этом все. Напоследок рекомендую при переходе на новую архитектуру 1С предварительно не забывать делать резервные копии информационной базы.

Если у Вас возникнут какие-либо вопросы или Вам потребуется помощь, пожалуйста, обращайтесь!

Внимание (ERP): В версии ERP 2.5 планируется завершение поддержки режима Офлайн взаиморасчеты. Регистры и сама функциональность сохраняется в версиях 2.4 и 2.5 в полном объеме. Однако переход на версию 2.6 с версии 2.5 невозможен в режиме Офлайн. Только при включении использования нового режима Онлайн взаиморасчеты.

Компания «Кодерлайн» рекомендует своевременно ознакомиться и подготовиться.



Краткий ликбез о режиме «Офлайн»:

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

НСИ и администрирование – Администрирование – Обслуживание – Регламентные операции – Регламентные и фоновые задания)

Также механизм запускался при построении отчетов Задолженность клиентов (поставщикам) по срокам.

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

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

2. Что сулят «Онлайн» взаиморасчеты?





Исключается необходимость запуска распределения взаиморасчетов. Распределение взаиморасчетов запускается сразу в момент проведения документа (онлайн). Перераспределение происходит не с начала месяца, а с момента изменения документа.

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

НСИ и администрирование – Настройка НСИ и разделов – Казначейство и взаиморасчеты – Взаиморасчеты – Порядок зачета документов

1. Если требуется, чтобы оплата распределялась в порядке возрастания даты документа - По дате документа (устанавливается по умолчанию).

2. Чтобы оплата распределялась в порядке возрастания плановой даты платежа - По плановой дате платежа





НСИ и администрирование - Настройка НСИ и разделов (Казначейство и взаиморасчеты) – Взаиморасчеты – Офлайн/Онлайн



Если просмотреть Журнал регистрации, то мы увидим такую картину:






(!) Также помощник запускается в рамках закрытия месяца в 1С. При наличии развернутого сальдо баланса и наличии невыполненных заданий по расчетам с партнерами с периодом большим или равным текущему закрываемому месяцу будет выполнена регламентная операция



3. Взаимозачет задолженности

Исправление развернутых остатков по взаиморасчетам – Обнаружены развернутые остатки по взаиморасчетам с партнерами

Помощник выведет данные, по которым требуется сверка, и правки, а также предложит для исправления автоматическое создание документа Взаимозачет задолженности:




На этом все. Напоследок рекомендую при переходе на новую архитектуру 1С предварительно не забывать делать резервные копии информационной базы.

Если у Вас возникнут какие-либо вопросы или Вам потребуется помощь, пожалуйста, обращайтесь!

Читайте также: