Изменил движения для хозрасчетного регистра в модуле набора записей, ранее эти движения переформировывались на форме при нажатии кнопки, но при закрытии месяца в определенный момент начали слетать. После закрытия месяца документы перестали распроводится( Реализации товаров и услуг, Акт выполненных работ) с ошибкой:
Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
Как лучше с этим поступить?
Если ТипЗнч(ОтборРегистратор.Значение) = Тип("ДокументСсылка.АктВыполненныхРабот") Тогда
СвойстваДоговора = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ОтборРегистратор.Значение, "Договор.ПИК_ФинансоваяАренда, Договор.ТипДоговора");
ТипДоговора = СвойстваДоговора.ДоговорТипДоговора;
ТипДоговораРеализация = ТипДоговора = Перечисления.ТипыДоговоров.СПокупателем;
ПИК_ФинансоваяАренда = СвойстваДоговора.ДоговорПИК_ФинансоваяАренда;
Если ТипДоговораРеализация и ПИК_ФинансоваяАренда Тогда
СкореектироватьПроводкиНаСервере(ОтборРегистратор.Значение);
//ОчиститьДвиженияПоРегистру("ВыручкаИСебестоимостьПродаж", ОтборРегистратор.Значение);
//ОчиститьДвиженияПоРегистру("ПрочиеАктивыПассивы", ОтборРегистратор.Значение);
КонецЕсли;//--ДРР 14.11.2022 ЧТЗ №
КонецЕсли;
Процедура СкореектироватьПроводкиНаСервере(ДокСсылка)
//РегистрБух = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
//РегистрБух.Отбор.Регистратор.Установить(ДокСсылка);
//РегистрБух.Прочитать();
Для Каждого Проводка Из ЭтотОбъект Цикл
Если Проводка.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями
и (Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеДоходы ИЛИ Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД) Тогда
ПроводкаОтражениеЗадолженности = Проводка;
КонецЕсли;
Если (Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы ИЛИ Проводка.СчетДт = ПланыСчетов.Хозрасчетный.Продажи_НДС)
и Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НДС Тогда
ПроводкаНачислениеНДС = Проводка;
КонецЕсли;
КонецЦикла;
Если ПроводкаОтражениеЗадолженности = Неопределено ИЛИ ПроводкаНачислениеНДС = Неопределено Тогда
Сообщить("Не найдены проводки для редактирования!");
Возврат;
КонецЕсли;
СубконтоДоговор = ПроводкаОтражениеЗадолженности.СубконтоДт.Договоры;
СубконтоКонтрагент = ПроводкаОтражениеЗадолженности.СубконтоДт.Контрагенты;
ПроводкаОтражениеЗадолженности.СубконтоКт.Очистить();
ПроводкаОтражениеЗадолженности.КоличествоКт = Null;
ПроводкаОтражениеЗадолженности.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеРасчетыСРазнымиДебиторамиИКредиторами;
ПроводкаОтражениеЗадолженности.СубконтоКт.Договоры = СубконтоДоговор;
ПроводкаОтражениеЗадолженности.СубконтоКт.Контрагенты = СубконтоКонтрагент;
ПроводкаОтражениеЗадолженности.Сумма = ПроводкаОтражениеЗадолженности.Сумма - ПроводкаНачислениеНДС.Сумма;
ПроводкаНачислениеНДС.СубконтоДт.Очистить();
ПроводкаНачислениеНДС.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями;
ПроводкаНачислениеНДС.СубконтоДт.Договоры = СубконтоДоговор;
ПроводкаНачислениеНДС.СубконтоДт.Контрагенты = СубконтоКонтрагент;
//РегистрБух.Записать()
КонецПроцедуры
Показать