Всем привет. Есть ERP 2.4.6.188. Режим взаиморасчетов - Онлайн. Порядок зачетов документа - по плановой дате платежа.
При попытке провести платежные документы (Поступление безналичных ДС) за старые заказы выпадает ошибка: Изменяемые данные взаиморасчетов находятся в закрытом периоде. Но особенность предприятия, что заказы могут быть длительными (более года). Расчеты в рублях, пересчет курсовых разниц делать не нужно.
Подскажите, что с этим делать? Почему вообще обработка проведения изменяет данные в закрытых периодах?
Текст ошибки:
Изменяемые данные взаиморасчетов находятся в закрытом периоде.
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1836)}: Результат = Форма.Записать(ПараметрыЗаписи);
{Документ.ПоступлениеБезналичныхДенежныхСредств.Форма.ФормаДокумента.Форма(2656)}: ОбщегоНазначенияУТКлиент.ОбработатьЗаписьОбъектаВФорме(ЭтотОбъект, ПараметрыДляЗаписи);
по причине:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Изменяемые данные взаиморасчетов находятся в закрытом периоде.
{ОбщийМодуль.ПроведениеСерверУТ.Модуль(444)}: Объект.Движения.Записать();
{Документ.ПоступлениеБезналичныхДенежныхСредств.МодульОбъекта(502)}: ПроведениеСерверУТ.ЗаписатьНаборыЗаписей(ЭтотОбъект);
по причине:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
Изменяемые данные взаиморасчетов находятся в закрытом периоде.
{ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(724)}: НаборЗаписейПоСрокам.Записать();
{ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(942)}: ЗаполнитьОперативныеВзаиморасчеты(ОсновныеПараметры);
{РегистрНакопления.РасчетыСКлиентами.МодульНабораЗаписей(628)}: ОперативныеВзаиморасчетыСервер.РассчитатьПоИзменениям(Запрос.МенеджерВременныхТаблиц, Истина, Отбор.Регистратор.Значение, ДополнительныеСвойства);
{ОбщийМодуль.ПроведениеСерверУТ.Модуль(444)}: Объект.Движения.Записать();
{Документ.ПоступлениеБезналичныхДенежныхСредств.МодульОбъекта(502)}: ПроведениеСерверУТ.ЗаписатьНаборыЗаписей(ЭтотОбъект);
по причине:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
Изменяемые данные взаиморасчетов находятся в закрытом периоде.
{РегистрНакопления.РасчетыСКлиентамиПоСрокам.МодульНабораЗаписей(145)}: ВызватьИсключение ОписаниеОшибки;
{ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(724)}: НаборЗаписейПоСрокам.Записать();
{ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(942)}: ЗаполнитьОперативныеВзаиморасчеты(ОсновныеПараметры);
{РегистрНакопления.РасчетыСКлиентами.МодульНабораЗаписей(628)}: ОперативныеВзаиморасчетыСервер.РассчитатьПоИзменениям(Запрос.МенеджерВременныхТаблиц, Истина, Отбор.Регистратор.Значение, ДополнительныеСвойства);
{ОбщийМодуль.ПроведениеСерверУТ.Модуль(444)}: Объект.Движения.Записать();
{Документ.ПоступлениеБезналичныхДенежныхСредств.МодульОбъекта(502)}: ПроведениеСерверУТ.ЗаписатьНаборыЗаписей(ЭтотОбъект);
Есть вариант - назначать даты запрета изменения гибко: пофамильно и / или по разделам учета.
Тот, кто работает с платежками должен осознавать груз високого доверия, а следовательно, не должен косячить в прошлых периодах.
Ну и есть вариант кастомизации - сделать доработку в расширении. Это уже хуже.
При проведении возможно меняется запись РС "СостоянияЗаказовКлиентов", а по ней стоит блокировка на дату изменения
Посмотрел на демо по прямым движениям поступления ДС - все от даты документа
Ну не так немного.
Есть такой служебный документ "Регистратор расчетов" и 6 служебных регистров накопления, которые он двигает (в конфигураторе список можно посмотреть).
При проведении Ваших платежей по этим регистрам будут выполнены служебные движения.
Ничего страшного не произойдет. Никакие регулярные документы не пострадают. Так работает режим учета расчетов "ОНЛАЙН".
Просто ночью, пока ни кто не видит, снимите дату запрета, выполните проведение, а потом поставьте дату запрета назад.
(3) Это, конечно, отличная идея, но подобные платёжки приходят на постоянной основе. Чуть ли не каждый день проводить подобные манипуляции - это смерти подобно. Особенно, если это будет делать не программист, а пользователь. Может, есть какое-то обходное решение?
(5)
За ваш релиз не скажу, но у нас 2.4.12.83. Период закрываем , оплата по заказам в закрытом периоде разноситься.
Если посмотреть , то движения у поступления ДС по всем регистрам только датой платежки.
(8)
Режим - онлайн. Порядок зачета - по дате документа. Меняла в тестовой на ваш - ничего не изменилось. Посмотрите какие проводки делает платежка , если снять дату запрета. В какой "закрытый" регистр она лезет.
(11) Спотыкается при попытке записать в регистр накопления РасчетыСКлиентамиПоСрокам. Записать пытается следющий набор записей (см. рисунок). Дата запрета изменения стоит 01.04.2020. Платёжка от 2.09.2020. Записать пытается в регистр за 27.12.2019. 27.12.2019 была проведена реализация
Есть вариант - назначать даты запрета изменения гибко: пофамильно и / или по разделам учета.
Тот, кто работает с платежками должен осознавать груз високого доверия, а следовательно, не должен косячить в прошлых периодах.
Ну и есть вариант кастомизации - сделать доработку в расширении. Это уже хуже.
(6) В итоге так и решили сделать. Настроили необходимые права ответственному за платёжки пользователю. При проведении платёжных документов закрытие месяца не "слетает". Что-то дорабатывать не стали, хотя, конечно, были крамольные мысли перетащить обработки проведения из новых версий ЕРП.