1с 8 розница взаиморасчеты ут и бп
Описывая ситуацию на примере Управление торговлей, редакция 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. Для других релизов возможны отличия)
Все написанное не претендует на полное описание данного функционала, которое можно посмотреть в мануале. Да и здесь, на сайте, я видел довольно грамотную статью - я так точно писать не умею. Пишу скорее о том, как столкнулся с ним, и как действовал.
В принципе, практически весь код файлов из архива приведен в статье. В качестве бонуса прилагаю отчет по взаиморасчетам, который строится по регистру "РасчетыСКлиентами" - просто РасчетыСКлиентами.ОстаткиИОбороты; группировки Партнер / Заказ клиента / Регистратор
Сверка взаиморасчетов с контрагентами в Торговле(УТ) с Бухгалтерией(БП) малоприятное занятие. Запустите обработку в УТ - она выберет остатки и обороты в Бухгалтерии , потом в Торговле. В результате получается отчет, где показаны суммы и расхождения.
Отчет формируется с детализацией контрагентов до договоров.
При запуске обработки в базах связанных между собой через обмен, поиск контрагентов происходит по внутренним идентификаторам. Однако можно формировать отчет и в несвязанных стандартных УТ-БП конфигурациях - в этом случае режим поиска контрагентов нужно указать по наименованиям или по кодам. Если в базах существуют несколько контрагентов с одинаковыми наименованиями, то при поиске по наименованию, они будут отображены свернуто.
Отчет формируется в валюте взаиморасчетов договоров или в основной учетной: для УТ это управленческая валюта, в БП - валюта регламентированного учета. Если предполагается формировать отчет в основной учетной валюте, для корректного отображения результатов, нужно чтобы управленческая валюта в УТ совпадала с регламентированной валютой в БП(Для РФ – это рубль.)
В обработке нужно указать виды договоров(с покупателем, с поставщиком. ). В УТ выборка происходит по контрагентам и договорам, в БП - взаиморасчеты на всех счетах, где учет ведется по контрагентам и договорам (60,62,76..).
Фильтр Только отклонение по имеет 3 режима: остатки - в этом случае, если отклонение по конечным остаткам контрагента равно 0, остатки в отчет не выводятся, обороты - тоже в случае с оборотами. Обороты и остатки - оба условия.
Счета анализа – по умолчанию в бухгалтерии анализируются балансовые счета. Можно отбирать забалансовые или оба типа.
Погрешность суммы - Позволяет исключить контрагентов, расход, приход или остатки по которым, в рамках указанной погрешности.
При анализе результатов отчета может показаться, что обороты в бухгалтерии по некоторым контрагентам удвоены. На самом деле это нормально, так как отчет показывается все обороты в том числе, например и зачет аванса, когда с 62.02 суммы переносятся на счет 62.01. Также работает и штатный отчет «Анализ субконто» в бухгалтерии.
27.03.2012 Добавил обработку для работы с платформой 8.2.
Ввод информации о задолженности регистрируется документом Ввод остатков (раздел Настройки – Начальное заполнение).
Какая именно задолженность регистрируется, зависит от вида документа в списке Ввод остатков:
Создадим документ «задолженность клиентов», заполняем основную информацию:
Теперь перейдем к табличной части, указываем клиента и выбираем объект расчетов:
В нашем случае – это «реализация клиенту», переходим к объекту расчетов и нажимаем «создать»:
В «реализация клиенту» указываем следующую информацию:
Нажимаем «провести и закрыть».
Табличная часть у нас заполнена, остается проставить только дату платежа:
Нажимаем «провести и закрыть».
По такому же принципу мы вводим информацию по задолженности перед поставщиком.
Контроль информации об остатках взаиморасчетов с партнерами.
Для контроля правильности ввода информации о взаиморасчетах с партнерами нужно использовать следующие отчеты:
для контроля правильности ввода информации по взаиморасчетам с поставщиками – отчет Ведомость расчетов с поставщиками. Отчет может быть детализирован по объектам расчетов (накладным, заказам, договорам);
для контроля правильности ввода информации по клиентам – отчет Ведомость расчетов с клиентами;
для контроля правильности ввода информации по комиссионерам – отчет Состояние расчетов с комиссионерами;
для контроля правильности ввода информации по комитентам – отчет Состояние расчетов с комитентами.
Задача: требуется настроить обмен данными через файл из 1С: Управление торговлей 11 (далее УТ) в 1С: Бухгалтерия 3.0 (далее Бухгалтерия).
- платформа 1С: Предприятие 8.3 (8.3.13.1690),
- конфигурация Управление торговлей, редакция 11 (11.4.7.150),
- конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.72.72)
- режим Файловый (без сжатия).
- настроить параметры подключения,
- настроить правила отправки и получения данных,
- выполнить начальную выгрузку данных.
- настроить правила отправки и получения данных,
- выполнить сопоставление и загрузку данных,
- выполнить начальную выгрузку данных.
ШАГ 1. Настройка в УТ
Переходим в раздел «НСИ и администрирование» и выбираем пункт «Синхронизация данных». Обязательно должен быть указан префикс информационной базы. В нашем случае это «ЦБ».
Устанавливаем флаг «Синхронизация данных» и переходим по ссылке «Настройки синхронизации данных». Нажимаем кнопку «Новая синхронизация данных». В открывшемся окне выбираем конфигурацию, с которой будем настраивать обмен. В нашем случае это «Бухгалтерия предприятия, редакция 3.0».
Откроется окно настройки синхронизации. Выберем пункт «Настроить параметры подключения».
Так как обмен будет настраивать через файл, то выбираем пункт «синхронизация данных через файл, без подключения к другой программе».
Далее укажем каталог и настроим архивацию файлов.
Далее укажем префикс базы бухгалтерии и название файла с настройками синхронизации.
Обратите внимание: если указать префикс, по которому уже есть обмен, то будет ошибка, программа предложит указать уникальный код. Нажимаем «Далее» и на этом заканчивается первый шаг настройки.
В результате у нас появится два файла в указанной папке: файл с данными (Message_ЦБ_БП.zip) и файл с настройками обмена (Синхронизация данных через универсальный формат.xml). Обратите внимание: если в УТ попробовать перейти к этапу «Настроить правила отправки и получения данных», то будет ошибка.
ШАГ 2. Настройка в Бухгалтерии
Перед настройкой синхронизации в Бухгалтерии нам понадобятся два файла, созданных на предыдущем шаге. Разместим файлы Message_ЦБ_БП.zip и Синхронизация данных через универсальный формат.xml в любую папку на компьютере с базой Бухгалтерии. Внимание: если Бухгалтерия находится на одном компьютере с УТ, то ничего переносить не нужно. Будем использовать ту же папку, что и для УТ.
Сначала перейдем в раздел «Администрирование» и выберем пункт «Синхронизация данных». В открывшемся окне проверим, чтобы префикс указанной базы совпадал с префиксом, который мы указали на первом шаге.
Устанавливаем флаг «Синхронизация данных» и переходим по ссылке «Настройки синхронизации данных». Нажимаем кнопку «Новая синхронизация данных». В открывшемся окне выбираем конфигурацию, с которой будет настроен обмен. В нашем случае это «1С: Управление торговлей, редакция 11».
Откроется окно настройки синхронизации. Выберем пункт «Настроить параметры подключения».
Так как обмен настраиваем через файл, то выбираем пункт «синхронизация данных через файл, без подключения к другой программе». На Шаге 1 мы уже создали файл с настройками обмена Синхронизация данных через универсальный формат.xml, поэтому выберем его. Если был создан другой каталог и туда скопировали файл с настройками обмена, то выбираем его.
Далее укажем каталог и настроим архивацию файлов. В данном случае каталог может быть тот же самый или тот, в который перенесли два файла.
Далее проверяем настройки префиксов и на этом настройка параметров подключения в Бухгалтерии завершена.
Далее переходим к следующему этапу «Настройка правил отправки и получения данных».
Так как задачи выгрузки из Бухгалтерии у нас нет, то в настройках отправки данных укажем «не отправлять».
В настройках получения данных укажем типовые настройки. При необходимости можно указать свои настройки.
Нажимаем «Записать и закрыть». Далее переходим к следующему этапу «Выполнить начальную выгрузку данных».
После выполнения операции будет создан в каталоге обмена файл с данными Message_БП_ЦБ.zip. На этом этап настройка обмена в Бухгалтерии закончена.
ШАГ 3. Окончание настройки в УТ
Вернемся в УТ. Если использовался другой каталог, то в папку обмена УТ перенесем файл, созданный на прошлом шаге Message_БП_ЦБ.zip.
Продолжим настройку синхронизации в УТ с этапа «Настроить правила отправки и получения данных».
В настройках обратим внимание на два поля.
1.Отправлять только используемую в документах нормативно-справочную информацию.
2.Отправлять все, начиная с даты. Это поле полезно, так как бывает, что нужно начать синхронизацию с определенного времени. Например, учет в УТ уже был настроен ранее, а в
Бухгалтерии только начинаем вести учет. Тогда нет необходимости переносить все документы из УТ в Бухгалтерию. Или второй случай: нужно поменять настройки обмена, но чтобы они действовали только для документов с определенной даты.
Все остальные поля заполняем в зависимости от учета.
В нашем случае настройка получения данных не требуется. Оставляем ее без изменений.
Нажимаем «Записать и закрыть». Переходим к следующему этапу «Выполнить сопоставление и загрузку данных».
В нашем случае программа ничего загружать не будет и перейдет к следующему этапу.
На последнем этапе «Выполнить начальную выгрузку данных» программа выгрузит данные из УТ в файл Message_ЦБ_БП.zip.
Обратите внимание (для случая с двумя каталогами): полученный файл Message_ЦБ_БП.zip копируем в каталог обмена Бухгалтерии. В Бухгалтерии выполняем синхронизацию. При этом Бухгалтерия сначала загрузит данные из присланного файла Message_ЦБ_БП.zip, потом обновит свой файл выгрузки Message_БП_ЦБ.zip Этот файл выгрузки Message_БП_ЦБ.zip нужно скопировать обратно в каталог обмена УТ и в УТ выполнить синхронизацию. При этом УТ сначала загрузит данные (если они там есть) из файла Message _БП_ЦБ.zip, а потом обновит свой файл выгрузки Message _ЦБ_БП.zip и т.д.
ШАГ 4. Итоги
В результате мы получили файл с настройками обмена Синхронизация данных через универсальный формат.xml и два файла с данными: Message_БП_ЦБ.zip (данные из Бухгалтерии) и Message_ЦБ_БП.zip (данные из УТ).
Сверка взаиморасчетов с контрагентами в Торговле(УТ) с Бухгалтерией(БП) малоприятное занятие. Запустите обработку в УТ - она выберет остатки и обороты в Бухгалтерии , потом в Торговле. В результате получается отчет, где показаны суммы и расхождения.
Отчет формируется с детализацией контрагентов до договоров.
При запуске обработки в базах связанных между собой через обмен, поиск контрагентов происходит по внутренним идентификаторам. Однако можно формировать отчет и в несвязанных стандартных УТ-БП конфигурациях - в этом случае режим поиска контрагентов нужно указать по наименованиям или по кодам. Если в базах существуют несколько контрагентов с одинаковыми наименованиями, то при поиске по наименованию, они будут отображены свернуто.
Отчет формируется в валюте взаиморасчетов договоров или в основной учетной: для УТ это управленческая валюта, в БП - валюта регламентированного учета. Если предполагается формировать отчет в основной учетной валюте, для корректного отображения результатов, нужно чтобы управленческая валюта в УТ совпадала с регламентированной валютой в БП(Для РФ – это рубль.)
В обработке нужно указать виды договоров(с покупателем, с поставщиком. ). В УТ выборка происходит по контрагентам и договорам, в БП - взаиморасчеты на всех счетах, где учет ведется по контрагентам и договорам (60,62,76..).
Фильтр Только отклонение по имеет 3 режима: остатки - в этом случае, если отклонение по конечным остаткам контрагента равно 0, остатки в отчет не выводятся, обороты - тоже в случае с оборотами. Обороты и остатки - оба условия.
Счета анализа – по умолчанию в бухгалтерии анализируются балансовые счета. Можно отбирать забалансовые или оба типа.
Погрешность суммы - Позволяет исключить контрагентов, расход, приход или остатки по которым, в рамках указанной погрешности.
При анализе результатов отчета может показаться, что обороты в бухгалтерии по некоторым контрагентам удвоены. На самом деле это нормально, так как отчет показывается все обороты в том числе, например и зачет аванса, когда с 62.02 суммы переносятся на счет 62.01. Также работает и штатный отчет «Анализ субконто» в бухгалтерии.
27.03.2012 Добавил обработку для работы с платформой 8.2.
Читайте также: