1С 8.3 Текстовый документ - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Текстовый документ

Данные > Примеры кода 1С > 1С 8.3 Текстовый документ
Текстовый документ в 1С 8.3 это объект встроенного языка, который позволяет представлять различную информацию в виде текстов. Может быть создан интерактивно режиме 1С:Предприятие или в режиме Конфигуратор. Средствами встроенного языка 1С, его можно сохранять в текстовый файл и читать из текстового файла. Также текстовый документ можно размещать на форме или в макете. 1С:Предприятие 8.3 поддерживает создание текстовых макетов, на основании которых могут быть сформированы текстовые документы. Эти макеты могут быть добавлены в конфигурацию с помощью объектов Макет.
Запись текстового файла в 1С 8.3:
&НаКлиенте
Процедура ЗаписьТекстовогоФайла(Команда)

   
КаталогСохранения = "D:\Storage\data";
   
СоздатьКаталог(КаталогСохранения); // Имя каталога (путь)

   
Файл_ТХТ = Новый ТекстовыйДокумент;

   
// Наполнение файла содержимым
   
Файл_ТХТ.УстановитьТекст("
    |MS Windows
    |Linux
    |MacOS
    |OSX"
);

   
// Очистка содержимого файла
   
Файл_ТХТ.Очистить();

   
// Добавление 1-й строки:
   
Файл_ТХТ.ДобавитьСтроку("Word");
   
// Добавление 2-й строки:
   
Файл_ТХТ.ДобавитьСтроку("Excel");
   
// Добавление 3-й строки:
   
Файл_ТХТ.ДобавитьСтроку("Powerpoint");

   
// Замена первой строки на "Outlook"
   
Файл_ТХТ.ЗаменитьСтроку(1, "Outlook");

   
// Вставка новую строки сразу после 1-й (*на место 2-й)
   
Файл_ТХТ.ВставитьСтроку(2, "Access");

   
// Удаление 2-й строки: ("Access")
   
Файл_ТХТ.УдалитьСтроку(2);

   
// Запись/перезапись файла (D:\Storage\data\MS.txt) на диск
    // Параметры: путь, кодировка, разделитель строк
   
Файл_ТХТ.Записать(КаталогСохранения + "\MS.txt", КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);

   
// Открытие созданного файла в блокноте
   
ЗапуститьПриложение(КаталогСохранения + "\MS.txt");

КонецПроцедуры
Запись текстового файла без BOM в 1С 8.3:
&НаКлиенте
Процедура ЗаписьТекстовогоФайлаПример1(Команда)

  // При попытке записать текстовый файл в кодировке UTF-8 1C добавляет в
  // начало текста три символа BOM (Byte order mark) эти символы не видны в обычном редакторе,
  // однако при обменах могут приводить к ошибке.

  КаталогСохранения = "D:\Storage\data";
  СоздатьКаталог(КаталогСохранения); // Имя каталога (путь)
  СтрТекст = "MS Windows";

  Файл_ТХТ = Новый ТекстовыйДокумент;
  Файл_ТХТ.УстановитьТекст(СтрТекст);

  // Стандартная запись
  //Файл_ТХТ.Записать(КаталогСохранения + "\MS.txt", КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);

  //Запись без BOM
  Файл_ТХТ = ПолучитьДвоичныеДанныеИзСтроки(СтрТекст, КодировкаТекста.UTF8, Ложь);
  Файл_ТХТ.Записать(КаталогСохранения + "\MS.txt");

  // Открытие созданного файла в блокноте
  ЗапуститьПриложение(КаталогСохранения + "\MS.txt");

КонецПроцедуры

&НаКлиенте
Процедура ЗаписьТекстовогоФайлаПример2(ДанныеФайла)

   ИмяФайла = "D:\Storage\data\MS.txt";

   Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI);
   Текст.Закрыть();

   Текст = Новый ЗаписьТекста(ИмяФайла,,, Истина, Символы.ПС);
   Текст.Записать(ДанныеФайла);
   Текст.Закрыть();

КонецПроцедуры

&НаКлиенте
Процедура ЗаписьТекстовогоФайлаПример3(ДанныеФайла)

   // Еще как вариант - использовать кодировку CESU-8, она сама "откидывает не нужные символы"
   // (Схема кодирования совместимости для UTF-16: 8-битная является вариантом UTF-8)

   ИмяФайла = "D:\Storage\data\MS.txt";

   Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.CESU-8);
   Текст.Записать(ДанныеФайла);
   Текст.Закрыть();

КонецПроцедуры
Чтение текстового файла в 1С 8.3:
&НаКлиенте
Процедура ЧтениеТекстовогоФайла(Команда)

   
ПутьКФайлу_ТХТ = "D:\Storage\data\MS.txt";

   
Файл_ТХТ = Новый ТекстовыйДокумент;

   
Файл_ТХТ.Прочитать(ПутьКФайлу_ТХТ, КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);

   
// Показать текст целиком
   
Сообщить(Файл_ТХТ.ПолучитьТекст());
   
//Outlook
    //Excel
    //Powerpoint

    // Показать текст по строкам
   
Для Индекс = 1 По Файл_ТХТ.КоличествоСтрок() Цикл
       
Сообщить(Файл_ТХТ.ПолучитьСтроку(Индекс));//...Outlook ...Excel ...Powerpoint
   
КонецЦикла;

КонецПроцедуры
Формирование печатной формы из текстового макета в 1С 8.3:
&НаКлиенте
Процедура ФормированиеПечатнойФормыИзТекстовогоМакета (Команда)

   
ФормаПечати = СформироватьПечатнуюФорму();
   
ФормаПечати.Показать("Счет №2020");

КонецПроцедуры

&НаСервере
Функция СформироватьПечатнуюФорму()

   
ФормаПечати = Новый ТекстовыйДокумент;
   
Макет = ЭтотОбъект.ПолучитьМакет("Макет_Счета");

   
// Получение области и макета по имени
   
Шапка = Макет.ПолучитьОбласть("Шапка");
   
// Заполнение параметров
   
Шапка.Параметры.Дата = ТекущаяДата();
   
Шапка.Параметры.Номер = 2020;
   
// Вывод шапки в документ
   
ФормаПечати.Вывести(Шапка);

   
// Заголовок табличной части.
   
ЗаголовокТ = Макет.ПолучитьОбласть("ТЧ_Заголовок");
   
ФормаПечати.Вывести(ЗаголовокТ);

   
// Строки табличной части (обычно в цикле)
   
СтрокаТ = Макет.ПолучитьОбласть("ТЧ_Строка");

   
// Строка 1
   
СтрокаТ.Параметры.Номенклатура = "SSD Intel Optane DC P4800X 1.5TB";
   
СтрокаТ.Параметры.Количество = 7;
   
ФормаПечати.Вывести(СтрокаТ);

   
// Строка 2
   
СтрокаТ.Параметры.Номенклатура = "SSD Huawei 02351SPX 1.92TB";
   
СтрокаТ.Параметры.Количество = 12;
   
ФормаПечати.Вывести(СтрокаТ);

   
// Вывод подвала ТЧ
   
СтрокаТ = Макет.ПолучитьОбласть("ТЧ_Подвал");
   
СтрокаТ.Параметры.ИтогоКоличество = 19; // Всего
   
ФормаПечати.Вывести(СтрокаТ);

    Возврат
ФормаПечати;

КонецФункции
💡 Шаблоны (готовые модели) кода 1С 8.3 с тегом #Текстовый документ:
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 28.05.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому