From 1e24ec1b16189968c55403b74f119fab68b7fc17 Mon Sep 17 00:00:00 2001 From: tsvetkoff Date: Thu, 29 Oct 2026 11:45:47 +0500 Subject: [PATCH] =?UTF-8?q?feat(=D0=B8=D0=B7=D0=B2=D0=B5=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F):=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B8=D0=B7=D0=B2?= =?UTF-8?q?=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2,=20?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=201.0.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl | 64 +++++++++++++++++-- .../src/Configuration/Configuration.mdo | 2 +- .../ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl | 4 ++ .../ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl | 4 ++ 4 files changed, 69 insertions(+), 5 deletions(-) diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl index cbef21b..52c1fac 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl @@ -242,12 +242,19 @@ "Организация, Учреждение, ИФО, Период, Ответственный, ИзвещениеИсходящее"); ИзвещениеОбъект = Неопределено; + ЭтоНовоеИзвещение = Истина; Если ЗначениеЗаполнено(Реквизиты.ИзвещениеИсходящее) Тогда ИзвещениеОбъект = Реквизиты.ИзвещениеИсходящее.ПолучитьОбъект(); + ЭтоНовоеИзвещение = ИзвещениеОбъект = Неопределено; КонецЕсли; - Если ИзвещениеОбъект = Неопределено Тогда + Если ЭтоНовоеИзвещение Тогда ИзвещениеОбъект = Документы.ИзвещениеИсходящее.СоздатьДокумент(); + ИначеЕсли ИзвещениеОбъект.ПомеченНаУдаление Тогда + ОбщегоНазначения.СообщитьПользователю( + "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " помечено на удаление: изменения в него не вносятся." + + " Снимите пометку удаления или отвяжите извещение от документа передачи."); + Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка(); ИначеЕсли ИзвещениеОбъект.Проведен Тогда ОбщегоНазначения.СообщитьПользователю( "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " проведено: изменения в него не вносятся." @@ -255,7 +262,9 @@ Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка(); КонецЕсли; - ИзвещениеОбъект.Дата = ТекущаяДатаСеанса(); + Если ЭтоНовоеИзвещение Тогда + ИзвещениеОбъект.Дата = ТекущаяДатаСеанса(); + КонецЕсли; ИзвещениеОбъект.Организация = Реквизиты.Организация; ИзвещениеОбъект.Получатель = КонтрагентПоОрганизации(Реквизиты.Учреждение); ИзвещениеОбъект.ВидИзвещения = Перечисления.ВидыОперацийИсходящееИзвещение.ПолучениеДохода; @@ -292,12 +301,19 @@ "Организация, ЦБ, ИФО, Период, Ответственный, ИзвещениеВходящее, ДокументПередачи"); ИзвещениеОбъект = Неопределено; + ЭтоНовоеИзвещение = Истина; Если ЗначениеЗаполнено(Реквизиты.ИзвещениеВходящее) Тогда ИзвещениеОбъект = Реквизиты.ИзвещениеВходящее.ПолучитьОбъект(); + ЭтоНовоеИзвещение = ИзвещениеОбъект = Неопределено; КонецЕсли; - Если ИзвещениеОбъект = Неопределено Тогда + Если ЭтоНовоеИзвещение Тогда ИзвещениеОбъект = Документы.ИзвещениеВходящее.СоздатьДокумент(); + ИначеЕсли ИзвещениеОбъект.ПомеченНаУдаление Тогда + ОбщегоНазначения.СообщитьПользователю( + "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " помечено на удаление: изменения в него не вносятся." + + " Снимите пометку удаления или отвяжите извещение от документа принятия."); + Возврат Документы.ИзвещениеВходящее.ПустаяСсылка(); ИначеЕсли ИзвещениеОбъект.Проведен Тогда ОбщегоНазначения.СообщитьПользователю( "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " проведено: изменения в него не вносятся." @@ -305,7 +321,9 @@ Возврат Документы.ИзвещениеВходящее.ПустаяСсылка(); КонецЕсли; - ИзвещениеОбъект.Дата = ТекущаяДатаСеанса(); + Если ЭтоНовоеИзвещение Тогда + ИзвещениеОбъект.Дата = ТекущаяДатаСеанса(); + КонецЕсли; ИзвещениеОбъект.Организация = Реквизиты.Организация; ИзвещениеОбъект.Отправитель = КонтрагентПоОрганизации(Реквизиты.ЦБ); ИзвещениеОбъект.ВидИзвещения = Перечисления.ВидыОперацийВходящееИзвещение.ПолучениеДохода; @@ -329,6 +347,44 @@ КонецФункции +// Синхронизирует связанное извещение с изменившимся документом подсистемы. +// +// Вызывается из обработчика записи документов передачи и принятия платежей: извещение +// перезаполняется по актуальным строкам реестра, чтобы его печатная форма не разошлась +// с учётным документом. Проведённое извещение и извещение, помеченное на удаление, +// не изменяются - такие документы пользователь приводит в порядок сам. +// +// Параметры: +// ДокументОбъект - ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения, +// ДокументОбъект.ПС_ПринятиеПоступившихПлатежейИзЦБ - записываемый документ. +// +Процедура ОбновитьИзвещениеПриИзмененииДокумента(ДокументОбъект) Экспорт + + Если ДокументОбъект.ЭтоНовый() Тогда + Возврат; + КонецЕсли; + + ЭтоПередача = ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения"); + + Извещение = ?(ЭтоПередача, ДокументОбъект.ИзвещениеИсходящее, ДокументОбъект.ИзвещениеВходящее); + Если НЕ ЗначениеЗаполнено(Извещение) Тогда + Возврат; + КонецЕсли; + + СостояниеИзвещения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Извещение, + "Проведен, ПометкаУдаления"); + Если СостояниеИзвещения.Проведен ИЛИ СостояниеИзвещения.ПометкаУдаления Тогда + Возврат; + КонецЕсли; + + Если ЭтоПередача Тогда + СоздатьИзвещениеПоПередаче(ДокументОбъект.Ссылка); + Иначе + СоздатьИзвещениеПоПринятию(ДокументОбъект.Ссылка); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo index e843894..c3633b0 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo @@ -28,7 +28,7 @@ PersonalComputer Russian Role.ПС_ОсновнаяРоль - 1.0.0 + 1.0.1 Language.Русский TaxiEnableVersion8_2 diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl index 6974651..94f4a9b 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl @@ -67,6 +67,10 @@ // расходящиеся электронные документы аннулируются. ПС_ВнутреннийЭДОИзвещений.ПС_АннулироватьЭлектронныеДокументыПриИзменении(ЭтотОбъект, Отказ); + // Связанное извещение перезаполняется по актуальным строкам реестра, + // чтобы его печатная форма не разошлась с документом. + ПС_УчетРодительскойПлаты.ОбновитьИзвещениеПриИзмененииДокумента(ЭтотОбъект); + КонецПроцедуры Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl index 8a9673c..220905e 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl @@ -133,6 +133,10 @@ // расходящиеся электронные документы аннулируются. ПС_ВнутреннийЭДОИзвещений.ПС_АннулироватьЭлектронныеДокументыПриИзменении(ЭтотОбъект, Отказ); + // Связанное извещение перезаполняется по актуальным строкам реестра, + // чтобы его печатная форма не разошлась с документом. + ПС_УчетРодительскойПлаты.ОбновитьИзвещениеПриИзмененииДокумента(ЭтотОбъект); + КонецПроцедуры Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)