feat(извещения): перезаполнение извещений при изменении документов, версия 1.0.1
This commit is contained in:
@@ -242,12 +242,19 @@
|
||||
"Организация, Учреждение, ИФО, Период, Ответственный, ИзвещениеИсходящее");
|
||||
|
||||
ИзвещениеОбъект = Неопределено;
|
||||
ЭтоНовоеИзвещение = Истина;
|
||||
Если ЗначениеЗаполнено(Реквизиты.ИзвещениеИсходящее) Тогда
|
||||
ИзвещениеОбъект = Реквизиты.ИзвещениеИсходящее.ПолучитьОбъект();
|
||||
ЭтоНовоеИзвещение = ИзвещениеОбъект = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИзвещениеОбъект = Неопределено Тогда
|
||||
Если ЭтоНовоеИзвещение Тогда
|
||||
ИзвещениеОбъект = Документы.ИзвещениеИсходящее.СоздатьДокумент();
|
||||
ИначеЕсли ИзвещениеОбъект.ПомеченНаУдаление Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " помечено на удаление: изменения в него не вносятся."
|
||||
+ " Снимите пометку удаления или отвяжите извещение от документа передачи.");
|
||||
Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка();
|
||||
ИначеЕсли ИзвещениеОбъект.Проведен Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " проведено: изменения в него не вносятся."
|
||||
@@ -255,7 +262,9 @@
|
||||
Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоНовоеИзвещение Тогда
|
||||
ИзвещениеОбъект.Дата = ТекущаяДатаСеанса();
|
||||
КонецЕсли;
|
||||
ИзвещениеОбъект.Организация = Реквизиты.Организация;
|
||||
ИзвещениеОбъект.Получатель = КонтрагентПоОрганизации(Реквизиты.Учреждение);
|
||||
ИзвещениеОбъект.ВидИзвещения = Перечисления.ВидыОперацийИсходящееИзвещение.ПолучениеДохода;
|
||||
@@ -292,12 +301,19 @@
|
||||
"Организация, ЦБ, ИФО, Период, Ответственный, ИзвещениеВходящее, ДокументПередачи");
|
||||
|
||||
ИзвещениеОбъект = Неопределено;
|
||||
ЭтоНовоеИзвещение = Истина;
|
||||
Если ЗначениеЗаполнено(Реквизиты.ИзвещениеВходящее) Тогда
|
||||
ИзвещениеОбъект = Реквизиты.ИзвещениеВходящее.ПолучитьОбъект();
|
||||
ЭтоНовоеИзвещение = ИзвещениеОбъект = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИзвещениеОбъект = Неопределено Тогда
|
||||
Если ЭтоНовоеИзвещение Тогда
|
||||
ИзвещениеОбъект = Документы.ИзвещениеВходящее.СоздатьДокумент();
|
||||
ИначеЕсли ИзвещениеОбъект.ПомеченНаУдаление Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " помечено на удаление: изменения в него не вносятся."
|
||||
+ " Снимите пометку удаления или отвяжите извещение от документа принятия.");
|
||||
Возврат Документы.ИзвещениеВходящее.ПустаяСсылка();
|
||||
ИначеЕсли ИзвещениеОбъект.Проведен Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " проведено: изменения в него не вносятся."
|
||||
@@ -305,7 +321,9 @@
|
||||
Возврат Документы.ИзвещениеВходящее.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоНовоеИзвещение Тогда
|
||||
ИзвещениеОбъект.Дата = ТекущаяДатаСеанса();
|
||||
КонецЕсли;
|
||||
ИзвещениеОбъект.Организация = Реквизиты.Организация;
|
||||
ИзвещениеОбъект.Отправитель = КонтрагентПоОрганизации(Реквизиты.ЦБ);
|
||||
ИзвещениеОбъект.ВидИзвещения = Перечисления.ВидыОперацийВходящееИзвещение.ПолучениеДохода;
|
||||
@@ -329,6 +347,44 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Синхронизирует связанное извещение с изменившимся документом подсистемы.
|
||||
//
|
||||
// Вызывается из обработчика записи документов передачи и принятия платежей: извещение
|
||||
// перезаполняется по актуальным строкам реестра, чтобы его печатная форма не разошлась
|
||||
// с учётным документом. Проведённое извещение и извещение, помеченное на удаление,
|
||||
// не изменяются - такие документы пользователь приводит в порядок сам.
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументОбъект - ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения,
|
||||
// ДокументОбъект.ПС_ПринятиеПоступившихПлатежейИзЦБ - записываемый документ.
|
||||
//
|
||||
Процедура ОбновитьИзвещениеПриИзмененииДокумента(ДокументОбъект) Экспорт
|
||||
|
||||
Если ДокументОбъект.ЭтоНовый() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоПередача = ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения");
|
||||
|
||||
Извещение = ?(ЭтоПередача, ДокументОбъект.ИзвещениеИсходящее, ДокументОбъект.ИзвещениеВходящее);
|
||||
Если НЕ ЗначениеЗаполнено(Извещение) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СостояниеИзвещения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Извещение,
|
||||
"Проведен, ПометкаУдаления");
|
||||
Если СостояниеИзвещения.Проведен ИЛИ СостояниеИзвещения.ПометкаУдаления Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоПередача Тогда
|
||||
СоздатьИзвещениеПоПередаче(ДокументОбъект.Ссылка);
|
||||
Иначе
|
||||
СоздатьИзвещениеПоПринятию(ДокументОбъект.Ссылка);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
<defaultRoles>Role.ПС_ОсновнаяРоль</defaultRoles>
|
||||
<version>1.0.0</version>
|
||||
<version>1.0.1</version>
|
||||
<defaultLanguage>Language.Русский</defaultLanguage>
|
||||
<interfaceCompatibilityMode>TaxiEnableVersion8_2</interfaceCompatibilityMode>
|
||||
<languages uuid="2f74bb63-c643-4692-af13-1f99a56719fb" extendedConfigurationObject="4b1b900f-9c8f-4b2b-8292-3a9a6db40715">
|
||||
|
||||
+4
@@ -67,6 +67,10 @@
|
||||
// расходящиеся электронные документы аннулируются.
|
||||
ПС_ВнутреннийЭДОИзвещений.ПС_АннулироватьЭлектронныеДокументыПриИзменении(ЭтотОбъект, Отказ);
|
||||
|
||||
// Связанное извещение перезаполняется по актуальным строкам реестра,
|
||||
// чтобы его печатная форма не разошлась с документом.
|
||||
ПС_УчетРодительскойПлаты.ОбновитьИзвещениеПриИзмененииДокумента(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
|
||||
|
||||
+4
@@ -133,6 +133,10 @@
|
||||
// расходящиеся электронные документы аннулируются.
|
||||
ПС_ВнутреннийЭДОИзвещений.ПС_АннулироватьЭлектронныеДокументыПриИзменении(ЭтотОбъект, Отказ);
|
||||
|
||||
// Связанное извещение перезаполняется по актуальным строкам реестра,
|
||||
// чтобы его печатная форма не разошлась с документом.
|
||||
ПС_УчетРодительскойПлаты.ОбновитьИзвещениеПриИзмененииДокумента(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
|
||||
|
||||
Reference in New Issue
Block a user