π° IEE ECM | ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΠΈΠ°Π΄ΠΎΠΊ
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΠΈΠ°Π΄ΠΎΠΊΠ°
- ΠΠΌΠΏΠΎΡΡ Π°ΡΡ ΠΈΠ²Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΠΈΠ°Π΄ΠΎΠΊΠ°
- ΠΠΌΠΏΠΎΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ (CRM)
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΎΠ±ΠΎΡΠΎΡ (ECM)
- ΠΡΠΏΡΠ°Π²ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
- ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠΎΠ² ΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠΎ ΠΠΈΠ°Π΄ΠΎΠΊΡ
- Π’ΠΎΡΠΊΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
- ΠΡΠΈΠΌΠ΅ΡΡ
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΠΎΠ³ΠΎΠ²ΠΎΡΠ°
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΠΎΠ³ΠΎΠ²ΠΎΡΠ° Ρ ΡΠΈΠ·. Π»ΠΈΡΠΎΠΌ
- ΠΡΠΏΡΠ°Π²ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π½-ΠΊΠΎΠΏΠΈΠΈ
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅
- Π₯Π΅Π»ΠΏΠ΅ΡΡ
- ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ
- Π‘Π΅ΡΠ²ΠΈΡΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Ρ "Π‘ΠΠ ΠΠΎΠ½ΡΡΡ" API ΠΊΠ»ΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠ΅Π½ΡΠ°Ρ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π·Π΄Π΅ΡΡ: ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠ°ΡΠΈΡΠ°Ρ ΠΠΈΠ°Π΄ΠΎΠΊ
ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΡ API ΠΊΠ»ΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ°Π²Π°, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅:
ΠΠ°Π»Π΅Π΅ Π² ELMA Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΉΡΠΈ Π² ΡΠ΅ΠΊΡΠΈΡ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΠ°Π΄Π°ΡΠΈ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ:
ΠΠ»ΠΎΠΊ ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΠΈΠ°Π΄ΠΎΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ:
ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ API ΠΊΠ»ΡΡ. Π»ΠΈΠ±ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°ΡΠΎΠ»Ρ, Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ:
ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ API ΠΊΠ»ΡΡ, ΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ (Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ°ΡΡΡ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ):
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±Π»ΠΎΠΊΠ° ΠΈ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ API ΠΊΠ»ΡΡΠ°, Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅:
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΠΈΠ°Π΄ΠΎΠΊΠ°
TODO
ΠΠΌΠΏΠΎΡΡ Π°ΡΡ ΠΈΠ²Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΠΈΠ°Π΄ΠΎΠΊΠ°
TODO
ΠΠΌΠΏΠΎΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅
TODO
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ (CRM)
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠ²ΡΠ·ΠΈ Ρ ΠΠΈΠ°Π΄ΠΎΠΊΠΎΠΌ
ΠΠΊΠ»Π°Π΄ΠΊΠ° ΠΠΈΠ°Π΄ΠΎΠΊ Ρ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠΎΠ²
ΠΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΠΈΠ°Π΄ΠΎΠΊΠΎΠΌ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Ρ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ° ΠΠΈΠ°Π΄ΠΎΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ:
- ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΠΠΠ ΡΠΎ ΡΡΠ°ΡΡΡΠ°ΠΌΠΈ.
- Π‘ΡΠ°ΡΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ Π½Π°ΡΠΈΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ.
- ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠΈΡ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
- ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ° ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ
Π‘ΡΠ°ΡΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ Π½Π°ΡΠΈΠΌΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ
ΠΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ
ΠΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΎΠ±ΠΎΡΠΎΡ (ECM)
ΠΡΠΏΡΠ°Π²ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
TODO
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠΎΠ² ΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠΎ ΠΠΈΠ°Π΄ΠΎΠΊΡ
TODO
Π’ΠΎΡΠΊΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡΠ΅ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΠΈΠ°Π΄ΠΎΠΊΠ°
ReceivableDiadocDocument
ΠΠ°Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΈΠ· ΠΠΈΠ°Π΄ΠΎΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ReceivableDiadocDocument, Π° Π½Π΅ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IReceivableDiadocDocument.
namespace ITino.ELMA.Documents.Diadoc.Components
/// <summary>
/// Π’ΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
/// </summary>
public class ReceivableDiadocDocument : IReceivableDiadocDocument
{
/// <summary>
/// ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½
/// </summary>
public virtual bool Enabled { get; }
/// <summary>
/// Π’ΠΈΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΠΈΠ°Π΄ΠΎΠΊ
/// </summary>
public virtual DiadocDocumentType DocumentType { get; }
/// <summary>
/// Π’ΠΈΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
/// </summary>
public virtual Guid TypeUid { get; }
/// <summary>
/// Π’ΠΈΠΏΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
/// </summary>
public virtual IEnumerable<Guid> TypeUids { get; }
/// <summary>
/// ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ (Π΅ΡΠ»ΠΈ Π΅ΡΡΡ)
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΠΈΠ°Π΄ΠΎΠΊΠ° (ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π² ELMA)</param>
/// <param name="items">ΠΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΠΈΠ°Π΄ΠΎΠΊΠ°</param>
public virtual void ProcessCustomData(ICODiadocDocument doc, IEnumerable<CustomDataItem> items);
}
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ: ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΠΎΠ³ΠΎΠ²ΠΎΡΠ°
SendableDiadocDocument
ΠΠ°Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ Π² ΠΠΈΠ°Π΄ΠΎΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° SendableDiadocDocument, Π° Π½Π΅ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Β ISendableDiadocDocument.
namespace ITino.ELMA.Documents.Diadoc.Components
/// <summary>
/// Π’ΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
/// </summary>
public class SendableDiadocDocument : ISendableDiadocDocument
{
/// <summary>
/// ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½
/// </summary>
public virtual bool Enabled { get; }
/// <summary>
/// Π’ΠΈΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΠΈΠ°Π΄ΠΎΠΊ
/// </summary>
public virtual DiadocDocumentType DocumentType { get; }
/// <summary>
/// Π’ΠΈΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
/// </summary>
public virtual Guid TypeUid { get; }
/// <summary>
/// Π’ΠΈΠΏΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
/// </summary>
public virtual IEnumerable<Guid> TypeUids { get; }
/// <summary>
/// ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
public virtual EODiadocCanSendStatus CanSendDocument(IDocument doc);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ (Π½Π°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ)
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
public virtual IContractor GetSender(IDocument doc);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΠΠΈΠ°Π΄ΠΎΠΊ Π² ΠΠΎΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)</param>
public virtual ICODiadocDocument Send(IDocument doc, string comment = null);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΠΠΈΠ°Π΄ΠΎΠΊ Π² ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠΌΡ Ρ ΠΏΡΠ°Π²ΠΎΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)</param>
public virtual ICODiadocDocument Send(IDocument doc, Guid? departmentId, string comment = null);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
/// <param name="userId">Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)</param>
public virtual ICODiadocDocument Send(IDocument doc, Guid? departmentId, Guid? userId, string comment = null);
}
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ: ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΠΎΠ³ΠΎΠ²ΠΎΡΠ° Ρ ΡΠΈΠ·. Π»ΠΈΡΠΎΠΌ
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΠΎΠ³ΠΎΠ²ΠΎΡΠ°
Π Π²Π΅Π± Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ΅ ELMA4 (Π² ELMA3 ΠΎΠ±ΡΡΠ½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ΅) ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΡ ΡΠΎΡΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ReceivableContract.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
using System;
using EleWise.ELMA.ComponentModel;
using EleWise.ELMA.Documents.Contracts.Models;
using EleWise.ELMA.Model.Services;
using ITino.ELMA.Documents.Diadoc.Components;
using ITino.ELMA.Documents.Diadoc.Models;
namespace HMS.Configuration.Diadoc
{
/// <inheritdoc />
[Component]
public class ReceivableContract : ReceivableDiadocDocument
{
/// <inheritdoc />
public override bool Enabled
{
// Π’ΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ
get { return true; }
}
/// <inheritdoc />
public override DiadocDocumentType DocumentType
{
// ΠΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΠΈΠ°Π΄ΠΎΠΊΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ
get { return DiadocDocumentType.Contract; }
}
/// <inheritdoc />
public override Guid TypeUid
{
// Π ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠΈΠΏΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ELMA ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ
get { return InterfaceActivator.UID<IContractIncoming>(); }
}
}
}
ΠΡΡΠΈΠ±ΡΡ [Component] ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΠΎΠ³ΠΎΠ²ΠΎΡΠ° Ρ ΡΠΈΠ·. Π»ΠΈΡΠΎΠΌ
Π Π²Π΅Π± Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ΅ ELMA4 (Π² ELMA3 ΠΎΠ±ΡΡΠ½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ΅) ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΡ ΡΠΎΡΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SendableRNMOutContractInd.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
using System;
using EleWise.ELMA.ComponentModel;
using EleWise.ELMA.ConfigurationModel;
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.CRM.Models;
using EleWise.ELMA.Model.Services;
using EleWise.ELMA.Services;
using ITino.ELMA.Documents.Diadoc.Components;
using ITino.ELMA.Documents.Diadoc.Exceptions;
using ITino.ELMA.Documents.Diadoc.Managers;
using ITino.ELMA.Documents.Diadoc.Models;
using ITino.ELMA.Documents.Diadoc.Services;
namespace HMS.Configuration
{
/// <inheritdoc />
[Component]
public class SendableRNMOutContractInd : SendableDiadocDocument
{
/// <inheritdoc />
public override bool Enabled
{
// Π’ΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ
get { return true; }
}
/// <inheritdoc />
public override DiadocDocumentType DocumentType
{
// ΠΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΠΈΠ°Π΄ΠΎΠΊΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ
get { return DiadocDocumentType.Contract; }
}
/// <inheritdoc />
public override Guid TypeUid
{
// Π ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠΈΠΏΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ELMA ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ
get { return InterfaceActivator.UID<RNMOutContractInd>(); }
}
public override IContractor GetSender(IDocument doc)
{
// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
var contract = doc as RNMOutContractInd;
return contract != null ? contract.Contractor : null;
}
/// <inheritdoc />
public override EODiadocCanSendStatus CanSendDocument(IDocument doc)
{
// ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
if (doc == null)
return EODiadocCanSendStatus.DocIsNull;
var service = Locator.GetServiceNotNull<IDiadocService>();
var contract = doc as RNMOutContractInd;
if (contract != null)
return service.CanSendDocument(contract.Contractor, contract.Executor);
return base.CanSendDocument(doc);
}
/// <inheritdoc />
public override ICODiadocDocument Send(IDocument doc, Guid? departmentId, Guid? userId, string comment = null)
{
// ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ² ΠΠΈΠ°Π΄ΠΎΠΊ Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π°ΠΌΠΈ
var contract = doc as RNMOutContractInd;
if (contract == null)
throw new DiadocException("ΠΠΎΠ³ΠΎΠ²ΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ null");
var edata = DiadocDocumentManager.Instance.CheckContractors(contract.Contractor, contract.Executor, null, null);
var result = edata.Service.SendContract(edata.FormBoxId, edata.ToBoxId, doc, contract.Number, contract.ContractDate.Value, "ΠΠΠ₯/Π€ΠΈΠ·.Π»ΠΈΡΠΎ/Π‘Π°ΠΌΠΎΠ·Π°Π½ΡΡΡΠΉ", null, departmentId, userId, comment);
return DiadocDocumentManager.Instance.SendDocHistory(result, doc, contract.Contractor, contract.Executor, contract.Number, contract.ContractDate);
}
}
}
ΠΡΡΠΈΠ±ΡΡ [Component] ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½.
ΠΡΠΏΡΠ°Π²ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊ
TODO
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π½-ΠΊΠΎΠΏΠΈΠΈ
Π Π²Π΅Π± Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ΅ ELMA4 (Π² ELMA3 ΠΎΠ±ΡΡΠ½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ΅) ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π³Π΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΡ ΡΠΎΡΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, DiadocIntegration.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
using EleWise.ELMA.ComponentModel;
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.Files;
using ITino.ELMA.Documents.Diadoc.Extensions;
using ITino.ELMA.Documents.Models;
using ITino.ELMA.Documents.Managers;
namespace HMS.Configuration.Diadoc
{
[Component]
public class DiadocIntegration : BaseDiadocIntegration
{
public override void AddScanCopy(IDocument document, BinaryFile file, string comment = null)
{
// Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π½-ΠΊΠΎΠΏΠΈΠΈ ΠΊ ΠΊΠΎΠΊΡΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
DocumentExtManager.Instance.AddScanCopy(document as IDODocument, file, checkUseScanCopy: false);
}
}
}
ΠΡΡΠΈΠ±ΡΡ [Component] ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ 4.0.28 ΠΈ 3.15.48
ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΠΈΠ°Π΄ΠΎΠΊΠ° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡ (ΠΊΠ°ΠΊ Π΄Π»Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ , ΡΠ°ΠΊ ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ). Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ ΠΏΠΎ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΏΡΠΈ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
using ITino.ELMA.Diadoc.Helpers;
public override void OnTaskCreate(ITaskBase task, Context context)
{
// ΠΠ΄Π΅,
// 13b27a4a-b94f-4bc9-9390-d7ff4fcb58bd - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°
// 309f52b9-087d-4971-9fc0-9cbffc61c737 - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½
task.LinkDiadocEvents(new Guid("13b27a4a-b94f-4bc9-9390-d7ff4fcb58bd"), context.DiadocDocument, new Guid("309f52b9-087d-4971-9fc0-9cbffc61c737"));
}
Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΡΠΊΠ»ΠΎΠ½Π΅Π½ ΠΈ Π£Π΄Π°Π»Π΅Π½.
Π₯Π΅Π»ΠΏΠ΅ΡΡ
TODO
DiadocHelper
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅ ΠΎ Π½Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ
/// </summary>
/// <param name="owner">ΠΠ°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ</param>
/// <returns></returns>
public static IDictionary<string, string> GetOwnContractorInfo(IContractor owner)
/// <summary>
/// ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ
/// </summary>
/// <param name="owner">ΠΠ°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ</param>
/// <param name="contractor">ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ</param>
/// <param name="doc">Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅</param>
/// <returns></returns>
public static EODiadocCanSendStatus CanSendDocument(IContractor owner, IContractor contractor, IDocument doc = null)
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅
/// </summary>
/// <param name="ownorg">ΠΠ°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ</param>
/// <returns></returns>
public static DropDownItemList GetDepartments(IContractor ownorg)
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅
/// </summary>
/// <param name="ownorg">ΠΠ°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
/// <returns></returns>
public static DropDownItemList GetSigners(IContractor ownorg, string departmentId)
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ 4.0.28 ΠΈ 3.15.48
/// <summary>
/// ΠΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°ΠΌ Π·Π°Π΄Π°ΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅
/// </summary>
/// <param name="task">ΠΠ°Π΄Π°ΡΠ° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅</param>
/// <param name="taskElementUid">Uid Π·Π°Π΄Π°ΡΠΈ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°</param>
/// <param name="document">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
/// <param name="signedConnectorUid">Uid ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
/// <param name="rejectedConnectorUid">Uid ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·Π΅ Π² ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
/// <param name="deletedConnectorUid">Uid ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅</param>
public static void LinkDiadocEvents(this ITaskBase task, Guid taskElementUid, ICODiadocDocument document, Guid? signedConnectorUid = null, Guid? rejectedConnectorUid = null, Guid? deletedConnectorUid = null)
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ
TODO
Π‘Π΅ΡΠ²ΠΈΡΡ
Π‘Π΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ ΠΠΈΠ°Π΄ΠΎΠΊΠΎΠΌ
IDiadocService
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
var service = Locator.GetServiceNotNull<IDiadocService>();
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ°:
namespace ITino.ELMA.Documents.Diadoc.Services
/// <summary>
/// Π‘Π΅ΡΠ²ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠΈΠ°Π΄ΠΎΠΊ
/// </summary>
public interface IDiadocService
{
/// <summary>
/// Π‘Π΅ΡΠ²ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½
/// </summary>
bool Initialized { get; }
/// <summary>
/// ΠΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ
/// </summary>
void Shutdown();
/// <summary>
/// ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΠΈΠ°Π΄ΠΎΠΊ
/// </summary>
bool WaitSendingOps { get; set; }
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ΅ ΠΏΠΎ ΠΠΠ
/// </summary>
/// <param name="inn"></param>
/// <param name="kpp"></param>
/// <returns></returns>
// ReSharper disable once InconsistentNaming
IEnumerable<Organization> GetContractorInfoByINN(string inn, string kpp = null);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ΅
/// </summary>
/// <param name="contractor"></param>
/// <returns></returns>
IEnumerable<Organization> GetContractorInfo(IContractor contractor);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΡ
/// </summary>
/// <param name="contractor"></param>
/// <returns></returns>
Organization GetOwnContractorInfo(IContractor contractor);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ° Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡΡ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅
/// </summary>
/// <param name="owner"></param>
/// <param name="contractor"></param>
/// <returns></returns>
Organization GetContractorInList(IContractor owner, IContractor contractor);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ° ΠΏΠΎ ΡΡΠΈΠΊΡ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅
/// </summary>
/// <param name="owner"></param>
/// <param name="boxId"></param>
/// <returns></returns>
IContractor GetContractorInList(IContractor owner, string boxId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ° ΠΈ ΡΡΠ°ΡΡΡ ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ
/// </summary>
/// <param name="org"></param>
/// <param name="contractor"></param>
/// <returns></returns>
Counteragent GetContractorInfoForTab(Organization org, IContractor contractor);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠΈΠΊΡ
/// </summary>
/// <param name="boxId"></param>
/// <returns></returns>
Organization GetOrganizationByBox(string boxId);
/// <summary>
/// ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ
/// </summary>
/// <param name="owner"></param>
/// <param name="contractor"></param>
/// <returns></returns>
EODiadocCanSendStatus CanSendDocument(IContractor owner, IContractor contractor);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠΈΠ»ΡΡΡΡ
/// </summary>
/// <param name="owner"></param>
/// <param name="filterCategory"></param>
/// <param name="lastCheck"></param>
/// <param name="alterIndexKey"></param>
/// <param name="count"></param>
/// <returns></returns>
DocumentList GetDocuments(IContractor owner, string filterCategory, DateTime? lastCheck, string alterIndexKey = null, int? count = null);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
Document GetDocument(ICODiadocDocument entity);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π² ΠΠΈΠ°Π΄ΠΎΠΊΠ΅
/// </summary>
Document GetDocument(string boxId, string messageId, string documentId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ
/// </summary>
/// <param name="boxId"></param>
/// <param name="messageId"></param>
/// <param name="entityId"></param>
/// <returns></returns>
string GetEntityContentString(string boxId, string messageId, string entityId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ
/// </summary>
/// <param name="boxId"></param>
/// <param name="messageId"></param>
/// <param name="entityId"></param>
/// <returns></returns>
byte[] GetEntityContent(string boxId, string messageId, string entityId);
/// <summary>
/// Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
/// </summary>
/// <param name="doc"></param>
/// <returns></returns>
object SerializeData(Document doc);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
Message GetMessage(ICODiadocDocument entity);
/// <summary>
/// ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
BinaryFile GeneratePrintForm(ICODiadocDocument entity);
/// <summary>
/// Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΎΠ±ΠΎΡΠΎΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
BinaryFile GenerateDocumentZip(ICODiadocDocument entity);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ
/// </summary>
/// <param name="entity"></param>
/// <param name="own">ΠΠ°ΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΡ</param>
/// <returns></returns>
SignatureInfo GetSignatureInfo(ICODiadocDocument entity, bool own = true);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ½ΠΎΡΡΡ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ
/// </summary>
/// <param name="entity"></param>
/// <param name="entityId"></param>
/// <returns></returns>
Entity GetEntity(ICODiadocDocument entity, string entityId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΊΠ°Π·Π΅ Π² ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠΈ
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
SignatureRejectionInfo ParseSignatureRejectionXml(ICODiadocDocument entity);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΊΠ°Π·Π΅ Π² ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠΈ
/// </summary>
/// <param name="boxId"></param>
/// <param name="messageId"></param>
/// <param name="entityId"></param>
/// <returns></returns>
SignatureRejectionInfo ParseSignatureRejectionXml(string boxId, string messageId, string entityId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π° Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
RevocationRequestInfo ParseRevocationRequestXml(ICODiadocDocument entity);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π΄Π»Ρ ΡΡΠΈΠΊΠ°
/// </summary>
/// <param name="boxId"></param>
/// <returns></returns>
BoxEvent GetLastEvent(string boxId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π΄Π»Ρ ΡΡΠΈΠΊΠ°
/// </summary>
/// <param name="boxId"></param>
/// <param name="lastEventId"></param>
/// <returns></returns>
BoxEventList GetNewEvents(string boxId, string lastEventId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΠΊΠ°
/// </summary>
/// <param name="boxId"></param>
/// <returns></returns>
DepartmentList GetDepartments(string boxId);
/// <summary>
/// ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ
/// </summary>
/// <param name="boxId"></param>
/// <param name="departmentId"></param>
/// <returns></returns>
IEnumerable<Employee> GetEmployees(string boxId, string departmentId);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="fromBoxId">Π―ΡΠΈΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ</param>
/// <param name="toBoxId">Π―ΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅</param>
/// <param name="userId">Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ</param>
/// <param name="needRecipientSignature">Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠ°</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ</param>
/// <returns></returns>
DiadocMessageResult SendNonformalized(string fromBoxId, string toBoxId, EleWise.ELMA.Documents.Models.IDocument doc, Guid? departmentId = null, Guid? userId = null, bool needRecipientSignature = true, string comment = null);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠ΅Ρ
/// </summary>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="fromBoxId">Π―ΡΠΈΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ</param>
/// <param name="toBoxId">Π―ΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ</param>
/// <param name="docNumber">ΠΠΎΠΌΠ΅Ρ ΡΡΠ΅ΡΠ°</param>
/// <param name="docDate">ΠΠ°ΡΠ° ΡΡΠ΅ΡΠ°</param>
/// <param name="total">Π‘ΡΠΌΠΌΠ°</param>
/// <param name="vat">ΠΠΠ‘, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅</param>
/// <param name="userId">Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ</param>
DiadocMessageResult SendProformaInvoice(string fromBoxId, string toBoxId,
EleWise.ELMA.Documents.Models.IDocument doc, string docNumber, DateTime docDate, Money total,
Money? vat = null, Guid? departmentId = null, Guid? userId = null, string comment = null);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ
/// </summary>
/// <param name="fromBoxId">Π―ΡΠΈΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ</param>
/// <param name="toBoxId">Π―ΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ</param>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="docNumber">ΠΠΎΠΌΠ΅Ρ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°</param>
/// <param name="docDate">ΠΠ°ΡΠ° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°</param>
/// <param name="contractType">Π’ΠΈΠΏ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°</param>
/// <param name="contractPrice">Π¦Π΅Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°,Π΅ΡΠ»ΠΈ Π΅ΡΡΡ</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅</param>
/// <param name="userId">Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ</param>
/// <returns></returns>
DiadocMessageResult SendContract(string fromBoxId, string toBoxId, EleWise.ELMA.Documents.Models.IDocument doc,
string docNumber, DateTime docDate, string contractType,
Money? contractPrice = null, Guid? departmentId = null, Guid? userId = null, string comment = null);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅
/// </summary>
/// <param name="fromBoxId">Π―ΡΠΈΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ</param>
/// <param name="toBoxId">Π―ΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ</param>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="docNumber">ΠΠΎΠΌΠ΅Ρ ΠΠ‘</param>
/// <param name="docDate">ΠΠ°ΡΠ° ΠΠ‘</param>
/// <param name="contractNumber">ΠΠΎΠΌΠ΅Ρ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°</param>
/// <param name="contractDate">ΠΠ°ΡΠ° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°</param>
/// <param name="contractType">Π’ΠΈΠΏ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°</param>
/// <param name="total">Π¦Π΅Π½Π° ΠΠ‘, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅</param>
/// <param name="userId">Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ</param>
/// <returns></returns>
DiadocMessageResult SendSupplementaryAgreement(string fromBoxId, string toBoxId, EleWise.ELMA.Documents.Models.IDocument doc,
string docNumber, DateTime docDate,
string contractNumber, DateTime contractDate, string contractType = "",
Money? total = null, Guid? departmentId = null, Guid? userId = null, string comment = null);
/// <summary>
/// ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π½Ρ
/// </summary>
/// <param name="fromBoxId">Π―ΡΠΈΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ</param>
/// <param name="toBoxId">Π―ΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ</param>
/// <param name="doc">ΠΠΎΠΊΡΠΌΠ΅Π½Ρ</param>
/// <param name="docNumber">ΠΠΎΠΌΠ΅Ρ ΠΠ‘</param>
/// <param name="docDate">ΠΠ°ΡΠ° ΠΠ‘</param>
/// <param name="departmentId">ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅</param>
/// <param name="userId">Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ</param>
/// <param name="comment">ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ</param>
/// <returns></returns>
DiadocMessageResult SendPriceListAgreement(string fromBoxId, string toBoxId, EleWise.ELMA.Documents.Models.IDocument doc,
string docNumber, DateTime docDate,
Guid? departmentId = null, Guid? userId = null, string comment = null);
}