Имя: Пароль:
1C
 
Загадочное поведение при проведении "Взаимозачета задолженности"
0 MaximSh
 
24.04.24
13:25
Конфигурация: 1С:ERP Управление предприятием 2 (2.5.12.265)
Платформы 8.22 и 8.24, файловая или клиент-серверная.

Начну с конца, ответа консультации 1С:
В более поздних версиях не воспроизводится, мы готовим к выпуску новую версию LTS, в которой данной ошибки не будет.

Предыстория:
Пользователь пожаловался на проведенный взаимозачет без проводок со статусом "Отражен в учете". Куда то они делись. Снять отражение и отразить вручную, проводки появились.
Нехитрым запросом нашлись за 2023 год шесть документов взаимозачетов без проводок с признаком Отражен, в 2024 г - два. По журналу регистрации запись в РС ОтражениеДокументовВРеглУчете и РБ Хозрасчетный в одной транзакции, а проводок нет, чудеса. Установил статус КОтражениюВРеглУчетеРуками, руками или через регл. задание "Автоматическое отражение документов в регл учете" проводки появились.

Расследование зашло в тупик, пока не появился еще один документ. Тут уже по ЖР понял, что пользователь запустил отражение из обработки НастройкаОтраженияДокументовВРеглУчете. В итоге получил устойчивое проявление  ошибки:

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

Самому разобраться, увы, не получилось. Отличие в вызове минимально РеглУчетПроведениеСервер.ОтразитьВсеВФоне и ОтразитьВсеРегламент в итоге вызывает ОтразитьВсе(КонецДня). Продираясь через МенеджерВременныхТаблиц с 68 временными таблицами с итоговым запросом на 217 страниц, только зашел в тупик: запрос-то одинаков, только в при вызове из обработки НЕ на всех взаимозачетах заполняется таблица проводками.

Пришло время обращаться в 1С. Повезло получить аналогичный эффект на демо-базе ERP ветки LTS последней версии.

Пошаговое повторение в демо-базе
1.    Пользователь Администратор
2.    Документ e1cib/data/Документ.ВзаимозачетЗадолженности?ref=92f10050568b35ac11e4ecaf8af15a8d  отменить проведение и провести для очищения проводок.
3.    Через обработку e1cib/app/Обработка.НастройкаОтраженияДокументовВРеглУчете нажав на кнопку «Выполнить отражение» формируем проводки документов очереди
4.    Документ e1cib/data/Документ.ВзаимозачетЗадолженности?ref=92f10050568b35ac11e4ecaf8af15a8d  получает статус отражен, проводок нет.
5.    Через Еще-Снять отражение в учете присваиваем статус «К отражению». Нажимаем «Отразить в регл.учете». Проводки появляются.
6. Видео демо-базы  https://cloud.mail.ru/public/y5Av/orm2R8oi9
7. Видео устойчивого проявления в копии рабочей базы https://cloud.mail.ru/public/99kb/gqsCiTwWu



Нехитрый запрос
ВЫБРАТЬ
    ОтражениеДокументовВРеглУчете.Регистратор КАК Регистратор
ИЗ
    РегистрСведений.ОтражениеДокументовВРеглУчете КАК ОтражениеДокументовВРеглУчете
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
        ПО (ОтражениеДокументовВРеглУчете.Регистратор = Хозрасчетный.Регистратор)
ГДЕ
    ОтражениеДокументовВРеглУчете.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.ОтраженоВРеглУчете)
    И Хозрасчетный.Регистратор ЕСТЬ NULL
    И ОтражениеДокументовВРеглУчете.Период >= ДАТАВРЕМЯ(2023, 1, 1, 0, 0, 0)
    И ОтражениеДокументовВРеглУчете.Регистратор ССЫЛКА Документ.ВзаимозачетЗадолженности

УПОРЯДОЧИТЬ ПО
    Регистратор
АВТОУПОРЯДОЧИВАНИЕ
1 shuhard
 
24.04.24
13:42
(0) и цель этой печальной истории на форуме ?
2 MaximSh
 
24.04.24
13:52
(1) вдруг кто найдет у себя такие документы, портфолио, свой след в истории, может кто встретил у себя и починил, форум умрет если не писать
3 Гена
 
25.04.24
05:10
Посмотрел кино. Нарочно или нет, но Вы главное не показали. Ни разу не зашли в сам документ, а ведь взаимозачёты бывают разных видов. Далее. Вы не показали ни разу сумму и данные регистров покупателей/поставщиков. Если мне не изменяет память ERP чисто регистровая программа и проводки там только их отражают, т.е. не являются независимыми в этом смысле, нет?

Чем взаимозачёт отличается от корректировки долга? Сумма не меняется. Один кекс был нам должен 500, мы ему 300. Что в итоге даст взаимозачёт? Что после зачёта ОДНОЙ суммы 300 кекс нам теперь должен 200, а мы ему ничего, голимый 0.
Допустим мы сдуру снова пошли на взаимозачёт. Какую сумму мы взаимно зачтём? Ноль. Вторично проводок не будет.

Логично предположить, что изначально в регистрах были отражены взаимные долги и на ту дату и момент времени произошёл взаимозачёт между регистрами, что отразили зеркально проводки. Но ведь регистры часто меняются задним числом. И в один прекрасный день по регистрам на данную сумму не должен был быть взаимозачёт. Должен был быть ноль или меньшая сумма.
Что произойдёт с изображением «Отражено в учёте»?
Я не знаю. Но подозреваю, что потребуется дополнительный ручной освежанс, который Вы как раз нам и продемонстрировали.

Эта гипотеза объясняет, почему только некоторые документы требуют освежанса. Потому что только по этим контрам/договорам что-то потом менялось в прошлом.
Как-то так.
4 MaximSh
 
25.04.24
10:45
(3) Спасибо за подсказку.

Операция перенос аванса на другой договор в рамках одного контрагента.
По РН РасчетыСКлиентами аванс по первому договору 1 000,30 и долг по второму 302,57 руб.
По регл. учету 62.02 сальдо К по первому договору 1 000,30, по второму 62.01 сальдо Д 302,57.
То есть учет сходится.

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

Вместо тысячи слов https://cloud.mail.ru/public/YaDv/y9vfxuwcW