В конфигурации 1С:БГУ 1.0 счета расчетов (например, 205.31, 206.xx, 303.xx) спроектированы таким образом, что КЭК на них является лишь оборотным субконто, а не аналитикой остатков. При формировании регламентированной отчетности, такой как форма 769, программа вынуждена классифицировать задолженность по КЭК, опираясь на косвенные данные, чаще всего — на тип контрагента. Если бизнес-процессы вашей организации требуют разделения учета по одному контрагенту, но разным договорам с разными КЭК, типовой механизм начинает давать сбои, так как он не «видит» специфику конкретного договора.
Для того чтобы система при заполнении отчетности учитывала информацию из договора, а не только из контрагента, нам потребуется внести изменения в общий модуль ЗаполнениеОтчетностиСервер. Рассмотрим по шагам, какие именно процедуры требуют доработки.
Нам необходимо изменить процедуру ЗаполнитьДетальныйКЭКВТаблицеДанных. В типовой реализации КЭК определяется по типу контрагента. Мы должны дополнить алгоритм проверкой: если в субконто присутствует объект Договор, то приоритет получения типа контрагента должен быть передан именно этому объекту.
Важное примечание: при модификации запросов внутри модуля, обязательно убедитесь, что поле КЭКПоКонтрагенту корректно сопоставляется с новым добавленным вами реквизитом в справочнике Договоры.
Для формирования корректных остатков на начало периода в формах 769, 773 и 730, необходимо внести изменения в следующие процедуры общего модуля ЗаполнениеОтчетностиСервер:
ДополнитьТаблицуПоДаннымПросроченнойКЭК — здесь нужно скорректировать запрос, чтобы выборка КЭК учитывала логику договоров.ДополнитьТаблицуПоДаннымДолгосрочнойКЭК — аналогичная корректировка для учета долгосрочной задолженности.Многие пользователи ошибочно полагают, что формы 773 или 730 не требуют детальной настройки КЭК, так как они не содержат соответствующих граф. Однако формы бюджетной отчетности должны быть согласованы. Если в форме 769 дебиторская и кредиторская задолженность развернуты по КЭК, а в Балансе (ф. 0503130) они свернуты некорректно из-за разницы в алгоритмах заполнения, это приведет к нарушению контрольных соотношений. Программа должна «понимать», что остатки по разным КЭК должны корректно распределяться между активом и пассивом.
Прежде чем приступать к доработке, проанализируем ситуацию: стоит ли менять конфигурацию? Модификация модуля ЗаполнениеОтчетностиСервер делает вашу базу «нетиповой». Это означает:
Если объем задолженности невелик, эксперты часто рекомендуют использовать типовые механизмы: заводить отдельных контрагентов под разные типы договоров. Если же модификация неизбежна, обязательно тестируйте отчетность на копии базы, проверяя межформенные контрольные соотношения между 769, 730 и 773 формами.
Примерная структура проверки, которую необходимо внедрить в запрос заполнения:
// Пример логики определения КЭК в запросе
ВЫБОР
КОГДА ЕстьNULL(Договоры.НашРеквизитКЭК, "") <> "" ТОГДА Договоры.НашРеквизитКЭК
ИНАЧЕ Контрагенты.ТипКонтрагента
КОНЕЦ КАК КЭКПоКонтрагенту
Использование подобных конструкций позволяет гибко управлять заполнением, однако помните, что каждое такое вмешательство — это ответственность за точность всей регламентированной отчетности организации.