
1 рд╕реА рдкрд░ рдЕрдЧрд▓реА рдмреА 2 рдмреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди: рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ 8.2 рдПрдХреАрдХрд░рдг рдЪрд░рдг, 1 рд╕реА рд╕реЗ рд╡реЗрдм рдкрд░ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреИрджрд╛ рд╣реБрдИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SFTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд╕рдВрдЪрд╛рд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдмрд┐рдирд╛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХреАрдХреГрдд рднрд╛рд╖рд╛ 1 рд╕реА рдореЗрдВ: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ 8.2 рдореЗрдВ
рдПрд╕рдПрдлрдЯреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреВрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рдереАред
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ 1C рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░,
WinSCP рдЬреИрд╕реА рдлреНрд░реАрд╡реЗрдпрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рдлрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрдорд┐рдд 1C рднрд╛рд╖рд╛ рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдЪрд▓рд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
1C рд╕реЗ WinCSP рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
= (34)+()+"\"+ "WinSCP.com"+(34)+"/script="+(34)+()+(34)+"\script.txt "+"/parameter "+(34)++(34)+" "+ (34)++(34)+" "+(34) + + (34) + " " + (34) + + (34);
рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдиреБрдХрд╕рд╛рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд 1 рд╕реА рднрд╛рд╖рд╛ рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдХрдореА рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, 1C: Enterprise 8.2 рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд╣рд░реА DLL рдШрдЯрдХ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо 1 рд╕реА: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдмрд╛рд╣рд░реА рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдореВрд▓ рдПрдкреАрдЖрдИ рдФрд░ COMред рдкрд╕рдВрдж рдореВрд▓ рдирд┐рд╡рд╛рд╕реА API рдкрд░ рдЧрд┐рд░ рдЧрдИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрдХрдиреАрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдШрдЯрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ 1C рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдмрд╛рд╣рд░реА рдШрдЯрдХреЛрдВ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ITS рдбрд┐рд╕реНрдХ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, SftpExtension.dll рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЧрдИ рдереА (рдЖрдк
рдпрд╣рд╛рдВ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ )ред
рдПрдХ DLL рдШрдЯрдХ рдмрдирд╛рдирд╛1. SFTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдШрдЯрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рджреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
- libssh
http://www.libssh2.org/ (рдбрд╛рдЙрдирд▓реЛрдб "git рдХреНрд▓реЛрди git: //git.libssh2.org/libssh2.git")
- Opensl
http://www.openssl.org/ (
рдпрд╣рд╛рдВ рд╕реЗ рдЦреБрд▓рддрд╛ рд╣реИ -slc-1.0.1c.tar.gz рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВ )
рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
2. рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рд╡рд╕реНрддреБ рдХреЛ рд╕рд╛рд░ рд╡рд░реНрдЧ IcomponentBase рдФрд░ IlanguageInterface рд╕реЗ рд╡рд╛рд░рд┐рд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- IcomponentBase - рдШрдЯрдХ рдХреЗ рдореВрд▓ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
- IlanguageInterface - рдкрддреНрд░рд╛рдЪрд╛рд░ рдФрд░ рдЕрднрд┐рдЧрдо рд╡рд┐рдзрд┐ GetMethodName, GetPropName рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 1C рдФрд░ C ++ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рд░реВрд╕реА рдореЗрдВ 1 рд╕реА рд╕реЗ рд╕реА ++ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛:
рдЖрдк рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
static wchar_t *g_MethodNames[] = { L"SendFile",L"StartSession", L"EndSession", L"IsSessionStart",L"SetSshHost",L"SetSshLogin",L"SetSshPass",L"SetSftpPath",L"SetLocalPath"}; static wchar_t *g_MethodNamesRu[] = { L"",L"",L"",L"", L"",L"",L"", L"",L""}; const WCHAR_T* SftpExtension::GetMethodName(const long lMethodNum, const long lMethodAlias) { if (lMethodNum >= eMethLast) return NULL; wchar_t *wsCurrentName = NULL; WCHAR_T *wsMethodName = NULL; int iActualSize = 0; switch(lMethodAlias) { case 0:
3. рдШрдЯрдХ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, IcomponentBase рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ CallAsFunc рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред 1C рдШрдЯрдХ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ, рдпрд╣ C ++ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╡рд┐рдзрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- lMethodNum рдореИрдЪреЛрдВ рдХреА рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рдзрд┐ рд╕рдВрдЦреНрдпрд╛ рд╣реИред
- pvarRetValue - рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХред
- рдкреИрдкрд░рдореНрд╕ - 1 рд╕реА рдореЗрдВ рд╡рд┐рдзрд┐ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ред
- lSizeArray - рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рд╕рд░рдгреА рд╣реИ, рддреЛ рд╕рд░рдгреА рдХрд╛ рдЖрдХрд╛рд░ред
bool SftpExtension::CallAsFunc(const long lMethodNum, tVariant* pvarRetValue,tVariant* paParams, const long lSizeArray){ switch(lMethodNum){ case eMethSendFile: { if (!lSizeArray || !paParams) return false; this->local_path = toChar(paParams); WriteToServer(status, this->local_path);
4. рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 1C рд╕реЗ, 4 рд╡рд┐рдзрд┐рдпрд╛рдБ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ DLL рдШрдЯрдХ рдореЗрдВ C ++ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред
1C (рд╡рд┐рдзрд┐рдпрд╛рдБ) | рд╕реА ++ рддрд░реАрдХреЗ |
---|
рдкреНрд░рд╛рд░рдВрдн рд╕рддреНрд░ () рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдорд╛рдкрджрдВрдбреЛрдВ (рдореЗрдЬрдмрд╛рди, рд▓реЙрдЧрд┐рди рдЧреБрдЪреНрдЫрд╛, рдкрд╛рд╕рд╡рд░реНрдб - рдпрд╛ rsa рдХреБрдВрдЬрд┐рдпреЛрдВ, рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдкрде) рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, StartSession рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рд╕реЗ рдШрд┐рд░рд╛ рд╣реБрдЖ рд╣реИ: рд╣реЛрд╕реНрдЯ, рд▓реЙрдЧрд┐рди, рдкрд╛рд╕рд╡рд░реНрдб, рд░рд┐рдореЛрдЯ рдкрде
| StartSSHSession (рд╕реНрдерд┐рддрд┐, рдпрд╣- ssh_host, рдпрд╣-> ssh_login, рдпрд╣-> ssh_pass); StartSftpSession (рд╕реНрдерд┐рддрд┐, рдпрд╣- sftp_path)
|
рдлрд╝рд╛рдЗрд▓ рднреЗрдЬреЗрдВ ("рдХреНрд▓рд╛рдЗрдВрдЯ рдорд╢реАрди рдкрд░ рдкрде рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо")
| WriteToServer (const char * & status, const char * loclfile)
|
рдпрджрд┐ рд╕рддреНрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ () | isSessionStart () |
рдЕрдВрдд рд╕рддреНрд░ () | endSession () - SFTP рд╕рддреНрд░ рдФрд░ SSH рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ |
5. рд╕реА ++ рдореЗрдВ, рдЖрдкрдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдорд╛рдкрджрдВрдбреЛрдВ (рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдзрд┐рдпрд╛рдВ, IsPropReadable рдФрд░ IsPropWritable, рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред
bool SftpExtension::IsPropReadable(const long lPropNum) { switch(lPropNum) { case ePropSshHost: return true; default: return false; } return false;}
рдЧреБрдг 1C рдФрд░ C ++ рдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛
1C (рдЧреБрдг) | рд╕реА ++ рдЧреБрдг |
---|
рдореЗрдЬрд╝рдмрд╛рди | ssh_host |
рд▓реЙрдЧ рдЗрди | ssh_login |
рдкрд╛рд╕рд╡рд░реНрдб | ssh_pass |
рджреВрд░ рдХрд╛ рд░рд╛рд╕реНрддрд╛ | Sftp_path |
рддреИрдпрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА
рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред
рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд 1C рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ1. рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд 1C рднрд╛рд╖рд╛ рдХреЗ рдорд╛рдирдХ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░реА рдШрдЯрдХ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ рдФрд░ рдмрдирд╛рдПрдВред
("C:\SftpExtension\SftpExtension.dll","",.Native); = ("AddIn..SftpExtension");
2. рдШрдЯрдХ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ 4 рдЧреБрдг рднрд░реЗрдВ рд╣реЛрд╕реНрдЯ, рд▓реЙрдЧрд┐рди, рдкрд╛рд╕рд╡рд░реНрдб, рд░рд┐рдореЛрдЯ рдкрдеред
. = "192.168.0.1"; . = "root"; . = "123"; . = "/var/www/company/data/www/import/data.xml";
3. рдХрдиреЗрдХреНрд╢рди рд╕рддреНрд░ рдЦреЛрд▓реЗрдВ
.();
4. рдлрд╝рд╛рдЗрд▓ рднреЗрдЬреЗрдВ
.("C:\data.xml");
5. рд╣рдо рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓ рднреЗрдЬрддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдВрдЪрддреЗ рд╣реБрдП рдХрд┐ рдХреНрдпрд╛ рдХрдиреЗрдХреНрд╢рди рд╕рддреНрд░ рдЦреБрд▓рд╛ рд╣реИред
.() .("C:\data2.xml"); .(); .("C:\data2.xml"); ;
6. рдлрд╛рдЗрд▓реЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рддреНрд░ рдмрдВрдж рдХрд░реЗрдВ
.();
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, C: \ data2.xml рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ /var/www/company/data/www/import/data.xml рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреА рдЧрдИ рдереАред
рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛рд╕рдВрджрд░реНрдн:
рдШрдЯрдХ рдирд┐рд░реНрдорд╛рдг рдореИрдиреБрдЕрд▓SFTP рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп:
рдирд┐рд╖реНрдХрд░реНрд╖: рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЛ 1C: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ 8.2 рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реБрд░рдХреНрд╖рд┐рдд SFTP рдкрд░ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ред рд╕рд╛рде рд╣реА, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ 1C рд╕реЗ рдмрд╛рд╣рд░реА рдШрдЯрдХ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ 1C рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ред