Ведомость взаиморасчетов с контрагентами в 1с ут 11
Описывая ситуацию на примере Управление торговлей, редакция 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. Для других релизов возможны отличия)
Шаблон модуля документа для работы с регистром РасчетыСКлиентамиВсе написанное не претендует на полное описание данного функционала, которое можно посмотреть в мануале. Да и здесь, на сайте, я видел довольно грамотную статью - я так точно писать не умею. Пишу скорее о том, как столкнулся с ним, и как действовал.
В принципе, практически весь код файлов из архива приведен в статье. В качестве бонуса прилагаю отчет по взаиморасчетам, который строится по регистру "РасчетыСКлиентами" - просто РасчетыСКлиентами.ОстаткиИОбороты; группировки Партнер / Заказ клиента / Регистратор
В подсистеме казначейства вместо прежнего отчета Ведомость по денежным средствам добавлены четыре отчета, которые помогают анализировать денежные потоки.
Ведомость по денежным средствам
Отчет состоит из двух таблиц. Первая – содержит начальные и конечные остатки по счетам и кассам организации, а также поступления и выплаты. Вторая – содержит информацию по денежным средствам в пути. Денежные средства в пути включают переводы денежных средств между кассами или счетами организации, либо проводимые инкассации, а также эквайринговые расчеты с покупателями.
Аналитика данного отчета состоит из:
- Организация;
- Валюта кассы / счета;
- Отправитель средств (для ДС в пути);
- Получатель средств (для ДС в пути);
- Контрагент (для ДС в пути);
- Вид перевода денежных средств (для ДС в пути).
Отчет можно сформировать в валюте управленческого или регламентированного учета, а также в валюте счета или кассы (валюта мест хранения). Если в аналитике группировки присутствуют разновалютные данные, то они не пересчитываются в единую валюту, а выводятся во всех имеющихся валютах. Это работает для вывода данных в валюте В валюте мест хранения. В остальных случаях все данные пересчитываются в валюту управленческого или регламентированного учета.
Отчет можно детализировать до первичных документов.
Движения денежных средств
Данный отчет помогает анализировать движения денежных средств.
Отчет включает три поставляемых варианта отчета:
- Движения денежных средств;
- Движения денежных средств по направления деятельности;
- Корреспонденция движений денежных средств.
Вариант отчета «Движения денежных средств»
Отчет состоит из графической части и табличной части. Графическое представление позволяет увидеть:
- поступления;
- выплаты;
- денежный поток за отчетный период;
- денежный поток нарастающим итогом.
- Графический вариант представления движений денежных средств:
График может быть настроен пользователем, выведен в формате гистограммы или графика:
График включает как фактические данные, так и плановые, если эти данные в настройках отчета включены.
Плановые данные состоят из: планируемых платежей в отношении заказов покупателей и поставщиков, договоров с контрагентами и накладных, соответствуют графикам поступлений и выплат, а также содержат данные по договорам кредитов и депозитов.
Остатки по счетам и кассам на плановые периоды вычисляются исходя из планируемых оборотов и фактических остатков. Просроченные платежи отображаются на предшествующий день. Плановые данные выделяются курсивом.
Табличная форма отчета включает в себя разделы, соответствующие группам статей ДДС:
- Основная деятельность;
- Финансовая деятельность;
- Инвестиционная деятельность.
Добавлены три предопределенные группы статей ДДС для видов деятельности. При начальном заполнении информационной базы предопределенные статьи движения денежных средств выводятся в группе Основная деятельность.
Управление выводом данных только по необходимым разделам осуществляется в настройках отчета:
Отчет по структуре включает информацию о сальдо денежных средств на начало и конец отчетного периода, состоит из разделов по поступлению и списанию денежных средств. Далее информация детализируется до аналитических разделов, например, до статей движения денежных средств.
Аналитиками отчета могут быть следующие измерения (измерения денежных средств и корреспондирующие аналитики):
- Организация;
- Банковский счет / касса;
- Валюта кассы / счета;
- Отправитель средств (для ДС в пути);
- Получатель средств (для ДС в пути);
- Контрагент (для ДС в пути);
- Вид перевода денежных средств (для ДС в пути);
- Направление деятельности (контрагента);
- Подразделение;
- Статья движения денежных средств;
- Хозяйственная операция;
- Партнер;
- Договор;
- Объект расчетов;
- Объект оплаты;
- Статья/аналитика активов/пассивов, доходов/расходов;
- Корреспондирующее направление деятельности.
Для сравнительного анализа денежных потоков используется опциональный раздел отчета Сравнение денежных потоков:
Сравнение денежных потоков по видам деятельности:
Сравнение денежных потоков по статьям ДДС и сравнение денежных потоков по направлениям деятельности:
Отчет можно детализировать до первичных документов.
Ведомость по денежным документам
Данный отчет используется для анализа движений денежных документов, отчет включает информацию о закупках денежных документов, а также о передаче их подотчетным лицам.
Отчет формируется в валюте:
- управленческого учета;
- регламентированного учета;
- валюте денежного документа.
Аналитическими разрезами отчета являются:
- Организация;
- Подразделение;
- Денежный документ;
- Валюта;
- Материально-ответственное-лицо.
Отчет можно детализировать до первичных документов.
Ведомость по денежным средствам у подотчетных лиц
Отчет используется для анализа расчетов с подотчетными лицами. В отчете содержится информация по наличию авансов у подотчетных лиц или задолженности организации перед подотчетными лицами на начало и конец отчетного периода, а также данные по выданным авансам и их использованию подотчетными лицами.
Отчет можно детализировать до следующих аналитик:
- Подотчетное лицо;
- Организация;
- Подразделение;
- Валюта.
Информация в отчете может быть выведена в валюте:
- управленческого учета;
- регламентированного учета;
- валюте операции.
Отчет можно детализировать до первичных операций.
Использование данных отчетов помогает анализировать движения денежных средств на предприятии, принимать управленческие решения на основе этой информации.
Читайте также: