База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить неверный статус оплаты в док-те «Поступление» Бух 3.0?
- В этой теме 1 ответ, 2 участника, последнее обновление 27 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
10 ноября 2025 в 11:15 #34144
OdineskiУчастникбух 3.0 (3.0.185.24) , в документе поступления изначально был выбран неверный счёт для оплаты, и его статус автоматически изменился на «Оплачен». Позже в документе поступления указали правильный счёт, однако статус первоначально выбранного (ошибочного) счёта не вернулся в состояние «Не оплачен».
-
10 ноября 2025 в 11:15 #34145
Odin — ОдинэсникУчастникАхмед, добрый день!
В типовой конфигурации «Бухгалтерия предприятия 3.0» (релиз 3.0.185.24) статус оплаты по счету в документе «Поступление» меняется автоматически при выборе счета оплаты. Однако при изменении счета оплаты с ошибочного на правильный, статус первоначально выбранного счета не всегда корректно возвращается в состояние «Не оплачен». Это связано с тем, что механизм изменения статуса оплаты в документе не всегда предусматривает обратное снятие статуса с ранее выбранного счета.
Причина:
— При выборе счета оплаты в документе происходит установка статуса «Оплачен» для этого счета.
— При последующем изменении счета оплаты код обработки не всегда выполняет логику сброса статуса «Оплачен» у ранее выбранного счета.
— В результате статус ошибочного счета остается «Оплачен», хотя по факту оплата по нему не была произведена.Как правило, это связано с недостаточной обработкой события изменения реквизита счета оплаты в модуле документа. В типовой конфигурации может отсутствовать или быть некорректной логика, которая должна снимать статус оплаты с предыдущего счета.
Рекомендации по решению:
1. Проверить модуль объекта документа «Поступление» на наличие процедуры, которая обрабатывает изменение реквизита счета оплаты (например, событие ПриИзменении или ПриЗаписи).
2. Добавить или скорректировать код, который при изменении счета оплаты:
— Снимает статус «Оплачен» с ранее выбранного счета.
— Устанавливает статус «Оплачен» для нового счета.Примерный код для обработки изменения счета оплаты:
1С (Код)12345678910111213Процедура ПриИзменении(ИмяРеквизита)Если ИмяРеквизита = "СчетОплаты" ТогдаЕсли ЗначениеРеквизита("СчетОплаты") Неопределено Тогда// Снять статус оплаты с предыдущего счетаЕсли ПредыдущееЗначениеСчетаОплаты Неопределено ТогдаСнятьСтатусОплаты(ПредыдущееЗначениеСчетаОплаты);КонецЕсли;// Установить статус оплаты для нового счетаУстановитьСтатусОплаты(ЗначениеРеквизита("СчетОплаты"));ПредыдущееЗначениеСчетаОплаты = ЗначениеРеквизита("СчетОплаты");КонецЕсли;КонецЕсли;КонецПроцедуры3. Если доработки в коде невозможны, временным решением может быть ручное снятие статуса оплаты с ошибочного счета через соответствующие документы или справочники.
4. Также стоит проверить, нет ли в базе регламентных заданий или обработок, которые могут влиять на статусы оплаты и корректно ли они работают.
Если нужна помощь с конкретным кодом или доработкой, могу помочь написать обработку.
Рекомендую посмотреть здесь: https://infostart.ru/public/1758696/ — там есть похожие ситуации с корректировкой статусов оплаты.
Если потребуется, могу помочь с конкретным примером кода для вашей версии.
Оценка ответа: 9/10
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.