Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых вострСбованных Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3. Π‘ΡƒΠ΄ΡŒ Ρ‚ΠΎ созданиС Π»ΠΎΠ³ΠΎΠ² для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, экспорт Π΄Π°Π½Π½Ρ‹Ρ… Π² CSV ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ… β€” ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° диск экономит часы Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Однако стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΡŽΠ°Π½ΡΡ‹: ΠΎΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎ особСнностСй ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ 5 ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… способов записи тСкста Π² Ρ„Π°ΠΉΠ» β€” ΠΎΡ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π΅ΠΊΡΡ‚() Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ с использованиСм ΠŸΠΎΡ‚ΠΎΠΊΠ—Π°ΠΏΠΈΡΠΈ ΠΈ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠœΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡ‡Π΅ΠΌΡƒ русскиС Π±ΡƒΠΊΠ²Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² "кракозябры"), ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² UTF-8 Π±Π΅Π· BOM, ΠΈ Π΄Π°Π΄ΠΈΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для управляСмых Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. А Π² ΠΊΠΎΠ½Ρ†Π΅ β€” Ρ‡Π΅ΠΊ-лист для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ своСго ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ Π² Π±ΠΎΠ΅Π²ΡƒΡŽ Π±Π°Π·Ρƒ.

1. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄: Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π΅ΠΊΡΡ‚() для быстрых Π·Π°Π΄Π°Ρ‡

Π‘Π°ΠΌΡ‹ΠΉ простой способ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСкст Π² Ρ„Π°ΠΉΠ» β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π΅ΠΊΡΡ‚(). Она ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для однострочных записСй ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² тСкста, ΠΊΠΎΠ³Π΄Π° Π½Π΅ трСбуСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Бинтаксис минималистичСн:

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π΅ΠΊΡΡ‚("C:\temp\моя_запись.txt", "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Π­Ρ‚ΠΎ тСкст ΠΈΠ· 1Π‘");

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • πŸ”Ή Максимальная простота β€” ΠΎΠ΄Π½Π° строка ΠΊΠΎΠ΄Π° вмСсто дСсятка.
  • πŸ”Ή АвтоматичСскоС созданиС Ρ„Π°ΠΉΠ»Π°, Ссли Π΅Π³ΠΎ Π½Π΅ сущСствуСт.
  • πŸ”Ή Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ (ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΡ€Π°Π² Π½Π° запись).

Однако Ρƒ этого способа Π΅ΡΡ‚ΡŒ критичСскиС ограничСния:

  • 🚫 ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ зависит ΠΎΡ‚ систСмных настроСк Windows (Ρ‡Π°Ρ‰Π΅ всСго Windows-1251). РусскиС Π±ΡƒΠΊΠ²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….
  • 🚫 НСт контроля Π½Π°Π΄ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒΡŽ: Ссли Ρ„Π°ΠΉΠ» сущСствуСт, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Ρ‚Π΅Ρ€ Π±Π΅Π· прСдупрСТдСния.
  • 🚫 НСудобно для многострочного тСкста β€” придСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ символы пСрСноса строки (Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ).
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ мобильном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1Π‘ функция Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π΅ΠΊΡΡ‚() Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ бСзопасности. Для этих Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСрвСрныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ HTTP-БСрвисы.
ВСкстДляЗаписи = "Π‘Ρ‚Ρ€ΠΎΠΊΠ° 1" + Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ + "Π‘Ρ‚Ρ€ΠΎΠΊΠ° 2";

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π΅ΠΊΡΡ‚("ΠΏΡƒΡ‚ΡŒ\ΠΊ\Ρ„Π°ΠΉΠ»Ρƒ.txt", ВСкстДляЗаписи);

-->

2. Π—Π°ΠΏΠΈΡΡŒ Ρ‡Π΅Ρ€Π΅Π· ВСкстовыйДокумСнт: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

Когда трСбуСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСкст с сохранСниСм Π°Π±Π·Π°Ρ†Π΅Π², Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов форматирования, Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ВСкстовыйДокумСнт. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста:

ВСкст = Новый ВСкстовыйДокумСнт;

ВСкст.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ("Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°", Новый ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡΠ’Π΅ΠΊΡΡ‚Π°(Новый Π¨Ρ€ΠΈΡ„Ρ‚("Arial", 14, True)));

ВСкст.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(""); // ΠŸΡƒΡΡ‚Π°Ρ строка

ВСкст.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ("Π”Π°Ρ‚Π° формирования: " + ВСкущаяДата());

ВСкст.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ("C:\reports\ΠΎΡ‚Ρ‡Π΅Ρ‚_ΠΏΠΎ_ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ.rtf", ВипЀайлаВСкстовогоДокумСнта.RTF);

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности:

  • πŸ“ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° RTF ΠΈ HTML Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² (указываСтся Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ВипЀайлаВСкстовогоДокумСнта).
  • 🎨 Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², выравнивания, Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² тСкста.
  • πŸ“‘ АвтоматичСскоС Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° страницы ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.
Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для
ВипЀайлаВСкстовогоДокумСнта.TXT.txtΠŸΡ€ΠΎΡΡ‚ΠΎΠ³ΠΎ тСкста Π±Π΅Π· форматирования
ВипЀайлаВСкстовогоДокумСнта.RTF.rtfΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² с сохранСниСм стилСй (Word, LibreOffice)
ВипЀайлаВСкстовогоДокумСнта.HTML.htmlΠ’Π΅Π±-страниц ΠΈΠ»ΠΈ вставки Π² email
ВипЀайлаВСкстовогоДокумСнта.MHT.mhtАрхивных ΠΊΠΎΠΏΠΈΠΉ Π²Π΅Π±-страниц

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ записи Π² RTF Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС исходного тСкста ΠΈΠ·-Π·Π° слуТСбных Ρ‚Π΅Π³ΠΎΠ² форматирования. Если ваша Π·Π°Π΄Π°Ρ‡Π° β€” ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TXT ΠΈΠ»ΠΈ CSV.

πŸ“Š Какой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго записываСтС ΠΈΠ· 1Π‘?
TXT
CSV
RTF
HTML
Π”Ρ€ΡƒΠ³ΠΎΠΉ

3. ΠŸΠΎΡ‚ΠΎΠΊΠ—Π°ΠΏΠΈΡΠΈ: Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ процСссом записи, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠŸΠΎΡ‚ΠΎΠΊΠ—Π°ΠΏΠΈΡΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт:

  • πŸ”„ Π—Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ порциями (ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ).
  • πŸ”€ Π£ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ явно (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, UTF-8 ΠΈΠ»ΠΈ Windows-1251).
  • πŸ”’ Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ доступа (ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ, дозапись).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи тСкста Π² UTF-8 Π±Π΅Π· BOM (Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для совмСстимости с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ соврСмСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ):

ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ = "C:\data\export_utf8.txt";

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊ с явным ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ

ΠŸΠΎΡ‚ΠΎΠΊ = Новый Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ, ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8, Π›ΠΎΠΆΡŒ); // Π›ΠΎΠΆΡŒ = Π±Π΅Π· BOM

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ("НомСр;НаимСнованиС;Π¦Π΅Π½Π°");

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ("1;Π’ΠΎΠ²Π°Ρ€ А;100.50");

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ("2;Π’ΠΎΠ²Π°Ρ€ Π‘;200.75");

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ нюанс: ΠΏΡ€ΠΈ записи Π² UTF-8 с BOM (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π˜ΡΡ‚ΠΈΠ½Π°) Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Excel ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ CSV. ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠΎΡ‚ΠΎΠΊΠ—Π°ΠΏΠΈΡΠΈ:

  • πŸ“Š Экспорт Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, остатков Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²).
  • πŸ”„ Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ событий с дозаписью Π² Ρ„Π°ΠΉΠ» (Ρ€Π΅ΠΆΠΈΠΌ Π”ΠΎΠ·Π°ΠΏΠΈΡΡŒ).
  • πŸ”€ Π Π°Π±ΠΎΡ‚Π° с нСстандартными ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, UTF-16 для XML).

ДирСктория для Ρ„Π°ΠΉΠ»Π° сущСствуСт ΠΈ доступна для записи|Π£ΠΊΠ°Π·Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ (Π—Π°ΠΏΠΈΡΡŒ/Π”ΠΎΠ·Π°ΠΏΠΈΡΡŒ)|ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° соотвСтствуСт трСбованиям Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹|ΠŸΠΎΡ‚ΠΎΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ послС записи (ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ())-->

4. Π—Π°ΠΏΠΈΡΡŒ CSV: экспорт Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Π€ΠΎΡ€ΠΌΠ°Ρ‚ CSV (Comma-Separated Values) β€” стандарт Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для ΠΎΠ±ΠΌΠ΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ 1Π‘ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами (Excel, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π΅Π±-сСрвисы). Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€ΠΈ записи CSV ΠΈΠ· 1Π‘: ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы (запятыС, ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, пСрСносы строк) ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экспорта Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² CSV:

Ѐункция Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒCSV(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ, Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ…, Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ = ";")

ΠŸΠΎΡ‚ΠΎΠΊ = Новый Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ, ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8, Π›ΠΎΠΆΡŒ);

// ЗаписываСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = "";

Для КаТдого Колонка Из Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ….Колонки Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€ΠΎΠΊΠ° + Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒCSV(Колонка.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ) + Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Π›Π΅Π²(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) - 1)); // Π£Π±ΠΈΡ€Π°Π΅ΠΌ лишний Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ

// ЗаписываСм Π΄Π°Π½Π½Ρ‹Π΅

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ… Π¦ΠΈΠΊΠ»

БтрокаВСкст = "";

Для КаТдого Колонка Из Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ….Колонки Π¦ΠΈΠΊΠ»

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя];

БтрокаВСкст = БтрокаВСкст + Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒCSV(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) + Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Π›Π΅Π²(БтрокаВСкст, Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(БтрокаВСкст) - 1));

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Ѐункция Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒCSV(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°") Π’ΠΎΠ³Π΄Π°

// Π­ΠΊΡ€Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ссли ΠΎΠ½ΠΎ содСрТит Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ пСрСнос

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π‘Ρ‚Ρ€Π—ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, """", """""");

Если Найти(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ";") <> 0 Π˜Π›Π˜ Найти(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ) <> 0 Π’ΠΎΠ³Π΄Π°

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = """" + Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ + """";

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π˜Π½Π°Ρ‡Π΅

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = """" + Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ + """";

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с CSV:

  • 🚫 НСэкранированныС ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ β€” приводят ΠΊ сдвигу ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Excel.
  • 🚫 ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ β€” Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… локалях Excel ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ; вмСсто ,.
  • 🚫 ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° UTF-8 с BOM β€” ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ошибки ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ Π² старыС вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если ваш CSV-Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² Excel, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ; для российской Π»ΠΎΠΊΠ°Π»ΠΈ. Π’ англоязычных вСрсиях Excel ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ оТидаСтся ,.

5. COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ внСшниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности

Когда стандартных срСдств 1Π‘ нСдостаточно (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ), Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ внСшниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Рассмотрим Π΄Π²Π° популярных сцСнария:

5.1. Π—Π°ΠΏΠΈΡΡŒ Ρ‡Π΅Ρ€Π΅Π· ADODB.Stream (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ)

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ADODB.Stream позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст, Π½ΠΎ ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈΠ»ΠΈ PDF). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи тСкста Π² Ρ„Π°ΠΉΠ» с использованиСм COM:

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Stream = Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚("ADODB.Stream");

Stream.Type = 2; // ВСкстовый Ρ‚ΠΈΠΏ

Stream.Charset = "utf-8"; // ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

Stream.Open();

Stream.WriteText("Π­Ρ‚ΠΎ тСкст, записанный Ρ‡Π΅Ρ€Π΅Π· ADODB.Stream" + Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ);

Stream.SaveToFile("C:\temp\com_example.txt", 2); // 2 = ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ссли сущСствуСт

Stream.Close();

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка ΠΏΡ€ΠΈ записи Ρ‡Π΅Ρ€Π΅Π· COM: " + ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

5.2. Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ZIP ΠΈ ΠΎΠ±Π»Π°ΠΊΠ°ΠΌΠΈ

Для записи Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π°Ρ€Ρ…ΠΈΠ²Ρ‹ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (ЯндСкс.Диск, Google Drive) ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ внСшниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • πŸ“¦ 1C:ЗипАрхиватор β€” для создания ZIP-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² прямо ΠΈΠ· 1Π‘.
  • ☁️ HTTP-БСрвисы β€” для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±Π»Π°ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· API.
  • πŸ—„οΈ AddIn-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, OneScript.FileSystem для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π€Π‘.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи Ρ„Π°ΠΉΠ»Π° Π² ZIP-Π°Ρ€Ρ…ΠΈΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 1C:ЗипАрхиватор:

Π—ΠΈΠΏ = Новый ZipАрхиватор;

Π—ΠΈΠΏ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ€Π°ΠΉΠ»("C:\temp\исходный.txt", "Π²Π½ΡƒΡ‚Ρ€ΠΈ_Π°Ρ€Ρ…ΠΈΠ²Π°.txt");

Π—ΠΈΠΏ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΠΡ€Ρ…ΠΈΠ²("C:\archives\ΠΌΠΎΠΈ_Π΄Π°Π½Π½Ρ‹Π΅.zip");

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² администратора Π½Π° клиСнтском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ для рСгистрации. Π’ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ мобильном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚.
Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, доступСн Π»ΠΈ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² 1Π‘?

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ тСстовый ΠΊΠΎΠ΄:

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚("WScript.Shell");

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ доступны!");

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка: " + ОписаниСОшибки() + ". Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, трСбуСтся рСгистрация ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Π° администратора.");

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

1. Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ 1Π‘ ΠΈ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΎΠ±Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ 32- ΠΈΠ»ΠΈ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ).

2. ΠŸΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° созданиС COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (настраиваСтся Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ… Windows).

3. Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· regsvr32).

6. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: запись Π² Ρ„Π°ΠΉΠ» с дозаписью ΠΈ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ

Π—Π°ΠΏΠΈΡΡŒ Π»ΠΎΠ³ΠΎΠ² β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых частых Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘. Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΈ:

  • πŸ”„ Π”ΠΎΠ·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ».
  • πŸ“… Π ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ (ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ Π΄Π°Ρ‚Π΅/Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ).
  • ⏱️ Π”ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сообщСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для логирования с дозаписью:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π›ΠΎΠ³(Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ = "C:\logs\1c_app.log")

ΠŸΠΎΡ‚ΠΎΠΊ = Новый Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ, ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8, Π˜ΡΡ‚ΠΈΠ½Π°); // Π˜ΡΡ‚ΠΈΠ½Π° = дозапись

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Π€ΠΎΡ€ΠΌΠ°Ρ‚(ВСкущаяДата(), "Π”Π€=yyyy-MM-dd HH:mm:ss") + " | " + Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅);

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π›ΠΎΠ³("Начало ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ β„–123");

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π›ΠΎΠ³("Ошибка: Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ с ИНН 1234567890");

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Π°Ρ ротация Π»ΠΎΠ³ΠΎΠ²: Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°Π»ΠΈΡΡŒ Π΄ΠΎ гигантских Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ. НапримСр, создавайтС Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° 10 ΠœΠ‘:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π›ΠΎΠ³Π‘Π ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ(Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π›ΠΎΠ³ΠΎΠ² = "C:\logs\")

ИмяЀайла = ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π›ΠΎΠ³ΠΎΠ² + Π€ΠΎΡ€ΠΌΠ°Ρ‚(ВСкущаяДата(), "Π”Π€=yyyy-MM-dd") + ".log";

Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π›ΠΎΠ³ΠΎΠ²) Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠšΠ°Ρ‚Π°Π»ΠΎΠ³(ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π›ΠΎΠ³ΠΎΠ²);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π›ΠΎΠ³(Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, ИмяЀайла);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Для контроля Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ записью:

Π€Π°ΠΉΠ» = Новый Π€Π°ΠΉΠ»(ИмяЀайла);

Если Π€Π°ΠΉΠ».Π Π°Π·ΠΌΠ΅Ρ€() > 10 1024 1024 Π’ΠΎΠ³Π΄Π° // 10 ΠœΠ‘

ΠΡ€Ρ…ΠΈΠ²Π½ΠΎΠ΅Π˜ΠΌΡ = ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π›ΠΎΠ³ΠΎΠ² + "archive\" + Π€ΠΎΡ€ΠΌΠ°Ρ‚(ВСкущаяДата(), "Π”Π€=yyyy-MM-dd_HH-mm-ss") + ".log";

Π€Π°ΠΉΠ».ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ(ΠΡ€Ρ…ΠΈΠ²Π½ΠΎΠ΅Π˜ΠΌΡ);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

1. Π”Π°Ρ‚Ρƒ ΠΈ врСмя события (Π΄ΠΎ миллисСкунд, Ссли ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ).

2. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ваТности (INFO, WARNING, ERROR).

3. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ (имя ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π½ΠΎΠΌΠ΅Ρ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Ρ‚.ΠΏ.).

Π­Ρ‚ΠΎ упростит поиск ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π»ΠΎΠ³Π°Ρ…later.-->

7. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Π—Π°ΠΏΠΈΡΡŒ Π² Ρ„Π°ΠΉΠ» β€” опСрация, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ ошибкой ΠΏΠΎ мноТСству ΠΏΡ€ΠΈΡ‡ΠΈΠ½: ΠΎΡ‚ отсутствия ΠΏΡ€Π°Π² Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ диска. ВсСгда ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ прСдоставляйтС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ понятныС сообщСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасной записи с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½Π°ΡΠ—Π°ΠΏΠΈΡΡŒΠ’Π€Π°ΠΉΠ»(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ, ВСкст)

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ сущСствованиС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ = Новый Π€Π°ΠΉΠ»(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ).ΠŸΡƒΡ‚ΡŒ;

Если НЕ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³(ΠšΠ°Ρ‚Π°Π»ΠΎΠ³).БущСствуСт() Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠšΠ°Ρ‚Π°Π»ΠΎΠ³(ΠšΠ°Ρ‚Π°Π»ΠΎΠ³);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

// ЗаписываСм с явной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ

ΠŸΠΎΡ‚ΠΎΠΊ = Новый Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ, ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8);

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(ВСкст);

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π˜ΡΡ‚ΠΈΠ½Π°;

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ–ΡƒΡ€Π½Π°Π»Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ("ΠžΡˆΠΈΠ±ΠΊΠ°Π—Π°ΠΏΠΈΡΠΈΠ€Π°ΠΉΠ»Π°", Π£Ρ€ΠΎΠ²Π΅Π½ΡŒΠ–ΡƒΡ€Π½Π°Π»Π°Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ.Ошибка,

, , ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΡˆΠΈΠ±ΠΊΠΈ(Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΠžΠ±ΠžΡˆΠΈΠ±ΠΊΠ΅()));

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π›ΠΎΠΆΡŒ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

ΠžΡˆΠΈΠ±ΠΊΠ°ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°Π Π΅ΡˆΠ΅Π½ΠΈΠ΅
Доступ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ (Access denied)НСдостаточно ΠΏΡ€Π°Π² Π½Π° запись Π² папкуЗапуститС 1Π‘ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²Π° Π½Π° ΠΏΠ°ΠΏΠΊΡƒ
Устройство Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ (Device not ready)Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ диск ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ»ΠΈ Ρ„Π»Π΅ΡˆΠΊΠ° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π°ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ устройства ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ
НСдопустимый ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»ΡƒΠ’ ΠΏΡƒΡ‚ΠΈ Π΅ΡΡ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Ρ‹Π΅ символы (| ? *)Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Ρ‹, Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ дСфис
ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ доступаЀайл ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ», ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ дозаписи

Для диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с путями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠŸΡƒΡ‚ΡŒΠ”ΠΎΠΏΡƒΡΡ‚ΠΈΠΌ():

Если НЕ ΠŸΡƒΡ‚ΡŒΠ”ΠΎΠΏΡƒΡΡ‚ΠΈΠΌ("C:\my folder\file.txt") Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("НСкоррСктный ΠΏΡƒΡ‚ΡŒ! Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов.");

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

πŸ’‘

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, всСгда явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΡ€ΠΈ записи. Для максимальной совмСстимости с Excel ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Windows-1251 (Ссли Π½Π΅Ρ‚ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ β€” UTF-8 Π±Π΅Π· BOM).

FAQ: ЧастыС вопросы ΠΏΠΎ записи Ρ„Π°ΠΉΠ»ΠΎΠ² Π² 1Π‘

Как Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСкст Π² Ρ„Π°ΠΉΠ» Π½Π° сСтСвом дискС?

Для записи Π½Π° сСтСвой диск (\\server\share\file.txt) ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ:

  1. ΠŸΡƒΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ UNC (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, \\192.168.1.100\share\file.txt).
  2. Π£ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ 1Π‘, Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° запись Π² эту ΠΏΠ°ΠΏΠΊΡƒ.
  3. Π‘Π΅Ρ‚Π΅Π²ΠΎΠ΅ располоТСниС доступно (ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

ΠŸΡƒΡ‚ΡŒ = "\\server\share\logs\export.txt";

ΠŸΠΎΡ‚ΠΎΠΊ = Новый Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°(ΠŸΡƒΡ‚ΡŒ, ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8);

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ("ВСстовая запись Π½Π° сСтСвой диск");

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

ΠŸΠΎΡ‡Π΅ΠΌΡƒ русскиС Π±ΡƒΠΊΠ²Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ "кракозябры"?

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ. Π§Π°Ρ‰Π΅ всСго Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π°:

  • Π€Π°ΠΉΠ» записан Π² UTF-8 с BOM, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Windows-1251 (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚).
  • ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° Π² Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° (Π² мСню Π€Π°ΠΉΠ» β†’ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ β†’ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ).

РСшСниС: явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΡ€ΠΈ записи:

Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π° = Новый Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°("Ρ„Π°ΠΉΠ».txt", ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8, Π›ΠΎΠΆΡŒ);

Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Windows-1251 для совмСстимости со старыми систСмами.

МоТно Π»ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΎΠ±Π»Π°ΠΊΠΎ (ЯндСкс.Диск, Google Drive) Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· 1Π‘?

ΠŸΡ€ΡΠΌΠΎΠΉ записи Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈΠ· 1Π‘ Π½Π΅Ρ‚, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ:

  1. Π§Π΅Ρ€Π΅Π· API: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ HTTP-Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° Π½Π° сСрвСр ΠΎΠ±Π»Π°ΠΊΠ°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для ЯндСкс.Диска:
    HTTP = Новый HTTPΠ‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅("cloud-api.yandex.net", 443, "", "", Π˜ΡΡ‚ΠΈΠ½Π°);
    

    HTTP.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ("/v1/disk/resources/upload?path=/моя_ΠΏΠ°ΠΏΠΊΠ°/Ρ„Π°ΠΉΠ».txt&overwrite=true",

    Новый Π—Π°ΠΏΠΈΡΡŒΠ”Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ…Π”Π°Π½Π½Ρ‹Ρ…(ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅ΠΊΡΡ‚ΠšΠ°ΠΊΠ”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ЯндСкс!")));

    ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ OAuth-Ρ‚ΠΎΠΊΠ΅Π½ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.

  2. Π§Π΅Ρ€Π΅Π· ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ: НастройтС ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ±Π»Π°ΠΊΠ° с локальной ΠΏΠ°ΠΏΠΊΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C:\YandexDisk\) ΠΈ записывайтС Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚ΡƒΠ΄Π°.
Как Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Excel-Ρ„Π°ΠΉΠ» (XLSX) ΠΈΠ· 1Π‘?

Для записи Π² XLSX ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OneScript.Excel (внСшняя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°).
  • COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Excel.Application (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установлСнного Excel).
  • Экспорт Π² CSV с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Π² Excel.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· COM:

Excel = Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚("Excel.Application");

Книга = Excel.Workbooks.Add();

Лист = Книга.Worksheets(1);

Лист.Cells(1, 1).Value = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΈΠ· 1Π‘!";

Книга.SaveAs("C:\temp\example.xlsx");

Excel.Quit();

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Windows с установлСнным Microsoft Excel.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Ρ„Π°ΠΉΠ»Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒΡŽ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π€Π°ΠΉΠ»:

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ€Π°ΠΉΠ» = Новый Π€Π°ΠΉΠ»("C:\data\important.txt");

Если Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ€Π°ΠΉΠ».БущСствуСт() Π’ΠΎΠ³Π΄Π°

Π Π΅Π·Π΅Ρ€Π²Π½Π°ΡΠšΠΎΠΏΠΈΡ = "C:\backup\important_" + Π€ΠΎΡ€ΠΌΠ°Ρ‚(ВСкущаяДата(), "Π”Π€=yyyyMMdd_HHmmss") + ".txt";

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ€Π°ΠΉΠ».ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(Π Π΅Π·Π΅Ρ€Π²Π½Π°ΡΠšΠΎΠΏΠΈΡ);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Для автоматичСского удалСния старых Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ очистку ΠΏΠ°ΠΏΠΊΠΈ backup ΠΏΠΎ Π΄Π°Ρ‚Π΅ создания Ρ„Π°ΠΉΠ»ΠΎΠ².