From d0045ed11a57c8ae0a4c4bbd82c2d4805795bc6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D1=82=D0=B5=D0=B3=D0=BE=D0=B2=20=D0=92=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=82=D0=B8=D0=BD=20=28Kotegov=5FVS=29?= Date: Tue, 5 Nov 2024 08:37:10 +0400 Subject: [PATCH 1/7] =?UTF-8?q?#366461=20=D0=94=D0=BB=D1=8F=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=D0=B2=D0=BE=D1=80=D0=BE=D0=B2,=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=BF.=D1=81=D0=BE=D0=B3=D0=BB=D0=B0=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9,=20=D1=81=D0=BB=D1=83=D0=B6=D0=B5=D0=B1=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D0=B8=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=82=D0=BE=D0=BA=D0=BE=D0=BB=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=89=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D1=89=D1=91=D0=BD=20=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=20=D0=BE=D1=82=D0=BC=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=BA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Contract/ContractSharedFunctions.cs | 5 ++++- .../ContractualDocumentSharedFunctions.cs | 5 ++++- .../Sungero.Examples.Shared/Memo/MemoSharedFunctions.cs | 5 ++++- .../Minutes/MinutesSharedFunctions.cs | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Contract/ContractSharedFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Contract/ContractSharedFunctions.cs index 99dae2f6..63b21cd7 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Contract/ContractSharedFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Contract/ContractSharedFunctions.cs @@ -9,6 +9,9 @@ namespace Sungero.Examples.Shared { partial class ContractFunctions { - + public override bool AllowedToAddMarksManually() + { + return false; + } } } \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/ContractualDocument/ContractualDocumentSharedFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/ContractualDocument/ContractualDocumentSharedFunctions.cs index f87c5522..dec2b4ab 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/ContractualDocument/ContractualDocumentSharedFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/ContractualDocument/ContractualDocumentSharedFunctions.cs @@ -9,6 +9,9 @@ namespace Sungero.Examples.Shared { partial class ContractualDocumentFunctions { - + public override bool AllowedToAddMarksManually() + { + return false; + } } } \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoSharedFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoSharedFunctions.cs index 49be04ad..c744a0cb 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoSharedFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoSharedFunctions.cs @@ -9,6 +9,9 @@ namespace Sungero.Examples.Shared { partial class MemoFunctions { - + public override bool AllowedToAddMarksManually() + { + return false; + } } } \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Minutes/MinutesSharedFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Minutes/MinutesSharedFunctions.cs index d1af6d0d..c45f79ba 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Minutes/MinutesSharedFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Minutes/MinutesSharedFunctions.cs @@ -9,6 +9,9 @@ namespace Sungero.Examples.Shared { partial class MinutesFunctions { - + public override bool AllowedToAddMarksManually() + { + return false; + } } } \ No newline at end of file From 771bec6a968ec08cc599f0aff0a50c9fb9c1e2ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D1=82=D0=B5=D0=B3=D0=BE=D0=B2=20=D0=92=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=82=D0=B8=D0=BD=20=28Kotegov=5FVS=29?= Date: Tue, 5 Nov 2024 09:01:20 +0400 Subject: [PATCH 2/7] =?UTF-8?q?#366461=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BC=D0=B5=D1=82=D0=BA=D0=B8=20=D0=BE=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BB=D0=B5=D0=BD=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=B2=D0=BE=20=D0=B2=D1=85=D0=BE=D0=B4=D1=8F=D1=89=D0=B5=D0=BC?= =?UTF-8?q?=20=D1=81=D1=87=D1=91=D1=82=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IncomingInvoiceServerFunctions.cs | 9 +++++--- .../IncomingInvoiceSharedFunctions.cs | 15 ++++++++++++- .../Sungero.Docflow/Module.mtd | 21 +++++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs index 3a5e7667..0cb0fc45 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs @@ -35,9 +35,12 @@ public virtual void UpdateInvoicePaymentMark() if (_obj.LifeCycleState == Sungero.Contracts.IncomingInvoice.LifeCycleState.Paid) { var mark = GetOrCreateMark(IncomingInvoiceConstants.PaymentMarkKindSid); - mark.XIndent = 12; - mark.YIndent = 20; - mark.Page = -1; + if (!mark.XIndent.HasValue) + mark.XIndent = 12; + if (!mark.YIndent.HasValue) + mark.YIndent = 20; + if (!mark.Page.HasValue) + mark.Page = -1; mark.Save(); } else diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs index 6844c11b..a3659cbd 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs @@ -9,6 +9,19 @@ namespace Sungero.Examples.Shared { partial class IncomingInvoiceFunctions { - + public override List GetAvailableMarkKindsSids() + { + var marksKinds = new List() + { + Docflow.Constants.MarkKind.ElectronicSignatureMarkKindSid, + Docflow.Constants.MarkKind.RegistrationDateMarkKindSid, + Docflow.Constants.MarkKind.RegistrationNumberMarkKindSid + }; + + if (_obj.LifeCycleState == Sungero.Contracts.IncomingInvoice.LifeCycleState.Paid) + marksKinds.Add(Sungero.Examples.Constants.Contracts.IncomingInvoice.PaymentMarkKindSid); + + return marksKinds; + } } } \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Sungero.Docflow/Module.mtd b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Sungero.Docflow/Module.mtd index 2a0e8d2e..0d7a2c2c 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Sungero.Docflow/Module.mtd +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Sungero.Docflow/Module.mtd @@ -4,6 +4,20 @@ "Name": "Docflow", "AssociatedGuid": "15234f2e-0858-4733-a9cb-eaa6ed2b2a5e", "AsyncHandlers": [ + { + "NameGuid": "91e037c0-0ac9-412a-a283-1567d122af49", + "Name": "PrepareDocumentBodyForMarkEditor", + "DelayPeriod": 15, + "DelayStrategy": "ExponentialDelayStrategy", + "IsAncestorMetadata": true, + "Parameters": [ + { + "NameGuid": "f29a4db6-2032-4e69-b9e8-ad31b48d483e", + "Name": "MarkEditorSessionId", + "ParameterType": "LongInteger" + } + ] + }, { "NameGuid": "8d3ccc00-7327-4fc4-b055-781286f29e0e", "Name": "SetFPoARegistrationState", @@ -403,6 +417,13 @@ ], "IsVisible": false, "Jobs": [ + { + "NameGuid": "bd4d35ec-198e-4868-9240-305c00653785", + "Name": "DeleteMarkEditorSessions", + "IsAncestorMetadata": true, + "MonthSchedule": "Monthly", + "StartAt": "1753-01-01T22:00:00" + }, { "NameGuid": "91cb2efd-0ef2-4073-b1d0-fce8bec52690", "Name": "SyncFormalizedPowerOfAttorneyState", From 5dd7ae45ac8e2f42afcfdef42e6a1897b58d4334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D1=82=D0=B5=D0=B3=D0=BE=D0=B2=20=D0=92=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=82=D0=B8=D0=BD=20=28Kotegov=5FVS=29?= Date: Tue, 5 Nov 2024 10:04:15 +0400 Subject: [PATCH 3/7] =?UTF-8?q?#366461=20=D0=92=20readme=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D1=83=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B3=D0=B4=D0=B5=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=B5=D0=BD=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=BE=D1=80=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=BA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В методе GetAvailableMarkKindsSids заиспользован базовый для уменьшения кода. --- readme.md | 8 ++++---- .../IncomingInvoice/IncomingInvoiceSharedFunctions.cs | 7 +------ 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/readme.md b/readme.md index a09b2e33..4b84662b 100644 --- a/readme.md +++ b/readme.md @@ -27,7 +27,7 @@ 1. Все документы. Изменен логотип и цвет отметки на фиолетовый. В отметку добавлена дата и время подписания.
**Точки входа:** серверные методы [GetSignatureMarkForSimpleSignatureAsHtml](https://github.com/DirectumCompany/rx-examples/blob/master/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleServerFunctions.cs#L22-L35) и [GetSignatureMarkForCertificateAsHtml](https://github.com/DirectumCompany/rx-examples/blob/master/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleServerFunctions.cs#L48-L74) модуля Docflow. -2. Входящий счёт. Цвет отметки изменён на красный, текст отметки изменен на "ПРИНЯТО К ОПЛАТЕ". +2. Входящий счёт. Цвет отметки изменён на красный, текст отметки изменен на "ПРИНЯТО К ОПЛАТЕ".
**Точка входа:** серверный метод [GetSignatureMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/master/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L17-L29) документа IncomingInvoice. 3. Все документы. Изменено условие для интерактивного преобразования документов. Теперь изображения в формате jpg размером < 1 Mb конвертируются интерактивно. @@ -36,17 +36,17 @@ 4. Служебная записка. На первой странице документа, в верхнем левом углу поставить отметки о всех подписях документа. Отметки ставятся сверху вниз, с небольшим отступом друг от друга.
**Точка входа:** серверный метод [ConvertToPdfAndAddSignatureMark](https://github.com/DirectumCompany/rx-examples/blob/master/src/Packages/Sungero.Examples/Sungero.Examples.Server/Memo/MemoServerFunctions.cs#L48-L128) документа Memo. -5. Договор и дополнительное соглашение. Постраничная отметка об ЭП с поворотом. +5. Договор и дополнительное соглашение. Постраничная отметка об ЭП с поворотом. Редактор отметок скрыт, т.к. данный вид отметки не поддерживается.
**Точки входа:** серверные методы [ConvertToPdfWithMarks](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/ContractualDocument/ContractualDocumentServerFunctions.cs#L17-L24), [UpdateContractPaginalApproveMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/ContractualDocument/ContractualDocumentServerFunctions.cs#L30-L48), [GetContractualApprovedMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/ContractualDocument/ContractualDocumentServerFunctions.cs#L56-L68) документа ContractualDocument, серверный метод [GetApprovedMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Contract/ContractServerFunctions.cs#L17-L20) документа Contract, серверный метод [GetApprovedMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/SupAgreement/SupAgreementServerFunctions.cs#L17-L20) документа SupAgreement
**Инициализация:** [CreateCustomMarkKinds](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleInitializer.cs#L21-L43) модуля Docflow.
**Константы:** [PaginalApproveMarkKindSid](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Contract/ContractConstants.cs#L10), [PaginalApproveMarkKindClass](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Contract/ContractConstants.cs#L14), [PaginalApproveMarkKindMethod](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Contract/ContractConstants.cs#L18) документа Contract, [PaginalApproveMarkKindSid](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/SupAgreement/SupAgreementConstants.cs#L10), [PaginalApproveMarkKindClass](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/SupAgreement/SupAgreementConstants.cs#L14), [PaginalApproveMarkKindMethod](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/SupAgreement/SupAgreementConstants.cs#L18) документа SupAgreement. -6. Служебная записка. Простановка на первой странице отметок о всех подписях документа. +6. Служебная записка. Простановка на первой странице отметок о всех подписях документа. Редактор отметок скрыт, т.к. данный вид отметки не поддерживается.
**Точки входа:** серверные методы [ConvertToPdfWithMarks](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Memo/MemoServerFunctions.cs#L19-L25), [UpdateMemoSignMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Memo/MemoServerFunctions.cs#L31-L44), [GetOrCreateSignatureBasedMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Memo/MemoServerFunctions.cs#L52-L69), [GetOrCreateSignatureMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Memo/MemoServerFunctions.cs#L76-L80), [GetMemoSignMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Memo/MemoServerFunctions.cs#L87-L91), [GetDocumentSignatures](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Memo/MemoServerFunctions.cs#L98-L105) документы Memo, серверные методы [GetContent](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Mark/MarkServerFunctions.cs#L17-L36), [GetContentWithSignerInfo](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Mark/MarkServerFunctions.cs#L44-L50) справочника Mark.
**Инициализация:** [CreateCustomMarkKinds](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleInitializer.cs#L21-L43) модуля Docflow.
**Константы:** [SignMarkKindSid](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoConstants.cs#L10), [SignMarkKindClass](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoConstants.cs#L14), [SignMarkKindMethod](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoConstants.cs#L18), [MarkSignatureIdKey](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Memo/MemoConstants.cs#L22) документа Memo. -7. Протокол. Простановка на пустой странице отметки со всеми подпиясми документа. +7. Протокол. Простановка на пустой странице отметки со всеми подписями документа. Редактор отметок скрыт, т.к. данный вид отметки не поддерживается.
**Точки входа:** серверные методы [GetOrCreateSignatureMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Minutes/MinutesServerFunctions.cs#L16-L23), [DeleteVersionMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Minutes/MinutesServerFunctions.cs#L31-L38), [GetMinutesMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Minutes/MinutesServerFunctions.cs#L45-L66) документа Minute.
**Инициализация:** [CreateCustomMarkKinds](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleInitializer.cs#L21-L43) модуля Docflow.
**Константы:** [MinutesMarkKindGuid](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Minutes/MinutesConstants.cs#L9), [MinutesMarkKindClass](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Minutes/MinutesConstants.cs#L12), [MinutesMarkKindMethod](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/Minutes/MinutesConstants.cs#L15) документа Minute diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs index a3659cbd..87bdfcbe 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs @@ -11,12 +11,7 @@ partial class IncomingInvoiceFunctions { public override List GetAvailableMarkKindsSids() { - var marksKinds = new List() - { - Docflow.Constants.MarkKind.ElectronicSignatureMarkKindSid, - Docflow.Constants.MarkKind.RegistrationDateMarkKindSid, - Docflow.Constants.MarkKind.RegistrationNumberMarkKindSid - }; + var marksKinds = base.GetAvailableMarkKindsSids(); if (_obj.LifeCycleState == Sungero.Contracts.IncomingInvoice.LifeCycleState.Paid) marksKinds.Add(Sungero.Examples.Constants.Contracts.IncomingInvoice.PaymentMarkKindSid); From 30e426a6bf95e6b02329a062d6565c044dadd8ee Mon Sep 17 00:00:00 2001 From: Kotegov-Valentin <67252424+Kotegov-Valentin@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:44:34 +0400 Subject: [PATCH 4/7] =?UTF-8?q?#367471=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BC=D0=B5=D1=80=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=82=D0=BC=D0=B5=D1=82=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BE=D0=B1=20=D0=BE=D0=BF=D0=BB=D0=B0=D1=82=D0=B5=20(#34)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 2 +- .../IncomingInvoiceServerFunctions.cs | 16 +--------------- .../IncomingInvoice/IncomingInvoice.mtd | 2 ++ .../IncomingInvoiceSharedFunctions.cs | 8 ++++++++ 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/readme.md b/readme.md index 4b84662b..b3a0c3e8 100644 --- a/readme.md +++ b/readme.md @@ -54,7 +54,7 @@ ### Преобразование в PDF и наложение отметки об оплате 1. Входящий счет. Простановка отметки об оплате. -
**Точки входа:** серверный метод [ConvertToPdfWithMarks](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L18-L25), [UpdateInvoicePaymentMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L33-L48), [GetPaymentMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L54-L57) документа IncomingInvoice. +
**Точки входа:** разделяемый метод [UpdateMarksBeforeConversion](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs#L21-L28), [UpdateInvoicePaymentMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L33-L48), [GetPaymentMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L54-L57) документа IncomingInvoice.
**Инициализация:** [CreateCustomMarkKinds](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleInitializer.cs#L21-L43) модуля Docflow.
**Константы:** [PaymentMarkKindSid](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L10), [PaymentMarkKindClass](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L14), [PaymentMarkKindMethod](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L18) документа IncomingInvoice. diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs index 0cb0fc45..dbf9c1b3 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs @@ -10,26 +10,12 @@ namespace Sungero.Examples.Server { partial class IncomingInvoiceFunctions { - /// - /// Преобразовать документ в PDF с простановкой отметок. - /// - /// ИД версии, на которую будут проставлены отметки. - /// Результат преобразования. - public override Sungero.Docflow.Structures.OfficialDocument.IConversionToPdfResult ConvertToPdfWithMarks(long versionId) - { - /// Пример перекрытия, в котором при выполнении действия - /// "Создать PDF-документ с отметками" для входящих счетов с состоянием "Оплачен" - /// добавляется отметка "Оплачено" на преобразованный PDF-документ. - this.UpdateInvoicePaymentMark(); - return base.ConvertToPdfWithMarks(versionId); - } - /// /// Сохранить отметку для простановки на PDF документе с состоянием "Оплачено". /// Удалить отметку в случае, если состояние документа было изменено /// с "Оплачено" на другое. /// - [Public] + [Public, Remote] public virtual void UpdateInvoicePaymentMark() { if (_obj.LifeCycleState == Sungero.Contracts.IncomingInvoice.LifeCycleState.Paid) diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd index 2f730dc1..c3d58588 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd @@ -96,6 +96,7 @@ "PublicFunctions": [ { "Name": "UpdateInvoicePaymentMark", + "IsRemote": true, "Parameters": [ { "Name": "incomingInvoice", @@ -103,6 +104,7 @@ "ParameterTypeFullName": "Sungero.Examples.IIncomingInvoice, Sungero.Domain.Interfaces" } ], + "Placement": "Shared", "ReturnType": "void", "ReturnTypeFullName": "System.Void" } diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs index 87bdfcbe..fc3aa71e 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs @@ -18,5 +18,13 @@ public override List GetAvailableMarkKindsSids() return marksKinds; } + + public override void UpdateMarksBeforeConversion(long versionId) + { + /// Пример перекрытия, в котором при выполнении действия + /// "Создать PDF-документ с отметками" для входящих счетов с состоянием "Оплачен" + /// добавляется отметка "Оплачено" на преобразованный PDF-документ. + Functions.IncomingInvoice.Remote.UpdateInvoicePaymentMark(_obj); + } } } \ No newline at end of file From c4355e4113da58434759cbbd47364d3633f00bb1 Mon Sep 17 00:00:00 2001 From: AfanasevaElizaveta <99470225+AfanasevaElizaveta@users.noreply.github.com> Date: Thu, 7 Nov 2024 11:55:30 +0400 Subject: [PATCH 5/7] =?UTF-8?q?#367469=20=D0=9E=D1=82=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D1=82=D0=B8=D0=B5=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B0=20=D0=BE=D1=82=D0=BC=D0=B5=D1=82=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B2=D0=BE=20=D0=B2=D1=85=D0=BE=D0=B4=D1=8F=D1=89=D0=B5=D0=BC?= =?UTF-8?q?=20=D1=81=D1=87=D0=B5=D1=82=D0=B5=20(#35)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * #367469 Актуализирована валидация свойств документа перед открытием редактора отметок во входящем счете * #367469 Скорректировала название ресурса + описание точки входа --- readme.md | 2 +- .../IncomingInvoiceServerFunctions.cs | 27 +++++++++++++++++++ .../IncomingInvoice/IncomingInvoice.mtd | 3 ++- .../IncomingInvoice/IncomingInvoice.resx | 3 +++ .../IncomingInvoice/IncomingInvoice.ru.resx | 3 +++ 5 files changed, 36 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index b3a0c3e8..c1929055 100644 --- a/readme.md +++ b/readme.md @@ -54,7 +54,7 @@ ### Преобразование в PDF и наложение отметки об оплате 1. Входящий счет. Простановка отметки об оплате. -
**Точки входа:** разделяемый метод [UpdateMarksBeforeConversion](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs#L21-L28), [UpdateInvoicePaymentMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L33-L48), [GetPaymentMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L54-L57) документа IncomingInvoice. +
**Точки входа:** разделяемый метод [UpdateMarksBeforeConversion](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs#L21-L28), серверные методы [UpdateInvoicePaymentMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L33-L48), [GetPaymentMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L54-L57), [ValidateMarksDataBeforeOpenMarkEditor](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L143-L168) документа IncomingInvoice.
**Инициализация:** [CreateCustomMarkKinds](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleInitializer.cs#L21-L43) модуля Docflow.
**Константы:** [PaymentMarkKindSid](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L10), [PaymentMarkKindClass](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L14), [PaymentMarkKindMethod](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L18) документа IncomingInvoice. diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs index dbf9c1b3..cad348ce 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs @@ -139,5 +139,32 @@ public virtual string GetSignatureMarkForCertificateAsHtml(Sungero.Domain.Shared } return html; } + + /// + /// Проверить свойства документа, необходимые для простановки отметок, перед открытием редактора отметок. + /// + /// ИД версии документа. + /// Текст ошибки, если она есть. Иначе пустая строка. + [Remote] + public override string ValidateMarksDataBeforeOpenMarkEditor(long versionId) + { + var signature = Docflow.PublicFunctions.OfficialDocument.GetSignatureForMark(_obj, _obj.LastVersion.Id); + var isPaid = _obj.LifeCycleState == LifeCycleState.Paid; + + if (signature == null && !isPaid) + return IncomingInvoices.Resources.DocumentShouldBeApprovedOrPaidToOpenMarkEditor; + + if (signature != null) + { + var separator = ". "; + var validationErrors = Docflow.PublicFunctions.Module.GetSignatureValidationErrorsAsString(signature, separator); + if (!string.IsNullOrEmpty(validationErrors)) + { + return Docflow.OfficialDocuments.Resources.SignatureNotValidErrorForMarkEditorFormat(validationErrors); + } + } + + return string.Empty; + } } } \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd index c3d58588..dfc73c53 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd @@ -114,7 +114,8 @@ "HtmlStampTemplateForCertificateCustom", "HtmlStampTemplateForSignatureCustom", "HtmlMarkTemplatePayment", - "PaymentMarkName" + "PaymentMarkName", + "DocumentShouldBeApprovedOrPaidToOpenMarkEditor" ], "RibbonCardMetadata": { "NameGuid": "da8e4adc-afdc-4ef8-96f8-d1989b34c51c", diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx index 1cdd3af4..64bc6174 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx @@ -215,4 +215,7 @@ Mark "Paid" + + TODO + \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx index 4c0e3e0e..88670e13 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx @@ -215,4 +215,7 @@ Отметка "Оплачено" + + Для редактирования отметок документ должен быть оплачен или его последняя версия должна быть утверждена. + \ No newline at end of file From 4c3e3aecf9bf3977827d27bd3f5c2254cc4e7e8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=84=D0=B0=D0=BD=D0=B0=D1=81=D1=8C=D0=B5=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=95=D0=BB=D0=B8=D0=B7=D0=B0=D0=B2=D0=B5=D1=82=D0=B0?= =?UTF-8?q?=20=28Afanaseva=5FElV=29?= Date: Thu, 7 Nov 2024 13:26:12 +0400 Subject: [PATCH 6/7] =?UTF-8?q?#367469=20=D0=9B=D0=BE=D0=BA=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IncomingInvoice/IncomingInvoice.resx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx index 64bc6174..8e742365 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx @@ -216,6 +216,6 @@ Mark "Paid" - TODO + To edit marks on the invoice, it must be paid or its latest version must be approved. \ No newline at end of file From 78240bd4117c042f1b1e612de116b0c21d49da84 Mon Sep 17 00:00:00 2001 From: AfanasevaElizaveta <99470225+AfanasevaElizaveta@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:31:00 +0400 Subject: [PATCH 7/7] =?UTF-8?q?#367721=20=D0=92=D0=B0=D0=BB=D0=B8=D0=B4?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B2=D1=85=D0=BE=D0=B4=D1=8F=D1=89?= =?UTF-8?q?=D0=B5=D0=B3=D0=BE=20=D1=81=D1=87=D0=B5=D1=82=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B4=20=D0=BF=D1=80=D0=B5=D0=BE=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=20=D0=B2?= =?UTF-8?q?=20PDF=20(#36)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * #367721 Переопределила валидацию входящего счета перед конвертацией * #367721 Точка входа + локализация --- readme.md | 2 +- .../IncomingInvoiceServerFunctions.cs | 38 +++++++++++++++++++ .../IncomingInvoice/IncomingInvoice.mtd | 4 +- .../IncomingInvoice/IncomingInvoice.resx | 6 +++ .../IncomingInvoice/IncomingInvoice.ru.resx | 6 +++ 5 files changed, 54 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index c1929055..f5bd7ca0 100644 --- a/readme.md +++ b/readme.md @@ -54,7 +54,7 @@ ### Преобразование в PDF и наложение отметки об оплате 1. Входящий счет. Простановка отметки об оплате. -
**Точки входа:** разделяемый метод [UpdateMarksBeforeConversion](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs#L21-L28), серверные методы [UpdateInvoicePaymentMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L33-L48), [GetPaymentMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L54-L57), [ValidateMarksDataBeforeOpenMarkEditor](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L143-L168) документа IncomingInvoice. +
**Точки входа:** разделяемый метод [UpdateMarksBeforeConversion](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceSharedFunctions.cs#L21-L28), серверные методы [UpdateInvoicePaymentMark](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L33-L48), [GetPaymentMarkAsHtml](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L54-L57), [ValidateMarksDataBeforeOpenMarkEditor](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L143-L168), [ValidateMarksDataBeforeConversion](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs#L176-L206) документа IncomingInvoice.
**Инициализация:** [CreateCustomMarkKinds](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Server/Sungero.Docflow/ModuleInitializer.cs#L21-L43) модуля Docflow.
**Константы:** [PaymentMarkKindSid](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L10), [PaymentMarkKindClass](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L14), [PaymentMarkKindMethod](https://github.com/DirectumCompany/rx-examples/blob/4.11/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoiceConstants.cs#L18) документа IncomingInvoice. diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs index cad348ce..e9b9974d 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Server/IncomingInvoice/IncomingInvoiceServerFunctions.cs @@ -166,5 +166,43 @@ public override string ValidateMarksDataBeforeOpenMarkEditor(long versionId) return string.Empty; } + + /// + /// Проверить свойства документа, необходимые для простановки отметок. + /// + /// ИД версии документа. + /// Результат проверки свойств документа. + [Remote] + public override Docflow.Structures.OfficialDocument.IConversionToPdfResult ValidateMarksDataBeforeConversion(long versionId) + { + var info = Docflow.Structures.OfficialDocument.ConversionToPdfResult.Create(); + var signature = Docflow.PublicFunctions.OfficialDocument.GetSignatureForMark(_obj, versionId); + var isPaid = _obj.LifeCycleState == LifeCycleState.Paid; + + // Логика только для нового режима преобразования (утверждающая подпись не обязательна, если можно проставить другие отметки). + if (signature == null && !isPaid) + { + info.HasErrors = true; + info.ErrorTitle = IncomingInvoices.Resources.DocumentShouldBeApprovedOrPaidTitle; + info.ErrorMessage = IncomingInvoices.Resources.DocumentShouldBeApprovedOrPaid; + return info; + } + + // Валидация подписи. + if (signature != null) + { + var separator = ". "; + var validationErrors = Docflow.PublicFunctions.Module.GetSignatureValidationErrorsAsString(signature, separator); + if (!string.IsNullOrEmpty(validationErrors)) + { + info.HasErrors = true; + info.ErrorTitle = Docflow.OfficialDocuments.Resources.SignatureNotValidErrorTitle; + info.ErrorMessage = Docflow.OfficialDocuments.Resources.SignatureNotValidErrorFormat(validationErrors); + return info; + } + } + + return info; + } } } \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd index dfc73c53..9ba3322a 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.mtd @@ -115,7 +115,9 @@ "HtmlStampTemplateForSignatureCustom", "HtmlMarkTemplatePayment", "PaymentMarkName", - "DocumentShouldBeApprovedOrPaidToOpenMarkEditor" + "DocumentShouldBeApprovedOrPaidToOpenMarkEditor", + "DocumentShouldBeApprovedOrPaidTitle", + "DocumentShouldBeApprovedOrPaid" ], "RibbonCardMetadata": { "NameGuid": "da8e4adc-afdc-4ef8-96f8-d1989b34c51c", diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx index 8e742365..44cb09ff 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.resx @@ -218,4 +218,10 @@ To edit marks on the invoice, it must be paid or its latest version must be approved. + + The invoice is not signed and not paid. + + + To convert the invoice to PDF, it must be paid or its last version must be approved. + \ No newline at end of file diff --git a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx index 88670e13..d7643d65 100644 --- a/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx +++ b/src/Packages/Sungero.Examples/Sungero.Examples.Shared/IncomingInvoice/IncomingInvoice.ru.resx @@ -218,4 +218,10 @@ Для редактирования отметок документ должен быть оплачен или его последняя версия должна быть утверждена. + + Документ не подписан и не оплачен. + + + Для преобразования в PDF документ должен быть оплачен или его последняя версия должна быть утверждена. + \ No newline at end of file