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 @@
// расходящиеся электронные документы аннулируются.
ПС_ВнутреннийЭДОИзвещений.ПС_АннулироватьЭлектронныеДокументыПриИзменении(ЭтотОбъект, Отказ);
+ // Связанное извещение перезаполняется по актуальным строкам реестра,
+ // чтобы его печатная форма не разошлась с документом.
+ ПС_УчетРодительскойПлаты.ОбновитьИзвещениеПриИзмененииДокумента(ЭтотОбъект);
+
КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)