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");
КонецПроцедуры
Процедура ЗаписьТекстовогоФайла(Команда)
КаталогСохранения = "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:
&НаКлиенте
Процедура ЗаписьТекстовогоФайла(Команда)
// При попытке записать текстовый файл в кодировке UTF-8 1C добавляет в
// начало текста три символа BOM (Byte order mark) эти символы не видны в обычном редакторе,
// однако при обменах могут приводить к ошибке.
КаталогСохранения = "D:\Storage\data";
СоздатьКаталог(КаталогСохранения); // Имя каталога (путь)
СтрТекст = "MS Windows";
Файл_ТХТ = Новый ТекстовыйДокумент;
Файл_ТХТ.УстановитьТекст(СтрТекст);
// Стандартная запись
//Файл_ТХТ.Записать(КаталогСохранения + "\MS.txt", КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);
//Запись без BOM
Файл_ТХТ = ПолучитьДвоичныеДанныеИзСтроки(СтрТекст, КодировкаТекста.UTF8, Ложь);
Файл_ТХТ.Записать(КаталогСохранения + "\MS.txt");
// Открытие созданного файла в блокноте
ЗапуститьПриложение(КаталогСохранения + "\MS.txt");
КонецПроцедуры
Процедура ЗаписьТекстовогоФайла(Команда)
// При попытке записать текстовый файл в кодировке UTF-8 1C добавляет в
// начало текста три символа BOM (Byte order mark) эти символы не видны в обычном редакторе,
// однако при обменах могут приводить к ошибке.
КаталогСохранения = "D:\Storage\data";
СоздатьКаталог(КаталогСохранения); // Имя каталога (путь)
СтрТекст = "MS Windows";
Файл_ТХТ = Новый ТекстовыйДокумент;
Файл_ТХТ.УстановитьТекст(СтрТекст);
// Стандартная запись
//Файл_ТХТ.Записать(КаталогСохранения + "\MS.txt", КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);
//Запись без BOM
Файл_ТХТ = ПолучитьДвоичныеДанныеИзСтроки(СтрТекст, КодировкаТекста.UTF8, Ложь);
Файл_ТХТ.Записать(КаталогСохранения + "\MS.txt");
// Открытие созданного файла в блокноте
ЗапуститьПриложение(КаталогСохранения + "\MS.txt");
КонецПроцедуры
Чтение текстового файла в 1С 8.3:
&НаКлиенте
Процедура ЧтениеТекстовогоФайла(Команда)
ПутьКФайлу_ТХТ = "D:\Storage\data\MS.txt";
Файл_ТХТ = Новый ТекстовыйДокумент;
Файл_ТХТ.Прочитать(ПутьКФайлу_ТХТ, КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);
// Показать текст целиком
Сообщить(Файл_ТХТ.ПолучитьТекст());
//Outlook
//Excel
//Powerpoint
// Показать текст по строкам
Для Индекс = 1 По Файл_ТХТ.КоличествоСтрок() Цикл
Сообщить(Файл_ТХТ.ПолучитьСтроку(Индекс));//...Outlook ...Excel ...Powerpoint
КонецЦикла;
КонецПроцедуры
Процедура ЧтениеТекстовогоФайла(Команда)
ПутьКФайлу_ТХТ = "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; // Всего
ФормаПечати.Вывести(СтрокаТ);
Возврат ФормаПечати;
КонецФункции
Процедура ФормированиеПечатнойФормыИзТекстовогоМакета (Команда)
ФормаПечати = СформироватьПечатнуюФорму();
ФормаПечати.Показать("Счет №2020");
КонецПроцедуры
&НаСервере
Функция СформироватьПечатнуюФорму()
ФормаПечати = Новый ТекстовыйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("Макет_Счета");
// Получение области и макета по имени
Шапка = Макет.ПолучитьОбласть("Шапка");
// Заполнение параметров
Шапка.Параметры.Дата = ТекущаяДата();
Шапка.Параметры.Номер = 2020;
// Вывод шапки в документ
ФормаПечати.Вывести(Шапка);
// Заголовок табличной части.
ЗаголовокТ = Макет.ПолучитьОбласть("ТЧ_Заголовок");
ФормаПечати.Вывести(ЗаголовокТ);
// Строки табличной части (обычно в цикле)
СтрокаТ = Макет.ПолучитьОбласть("ТЧ_Строка");
// Строка 1
СтрокаТ.Параметры.Номенклатура = "SSD Intel Optane DC P4800X 1.5TB";
СтрокаТ.Параметры.Количество = 7;
ФормаПечати.Вывести(СтрокаТ);
// Строка 2
СтрокаТ.Параметры.Номенклатура = "SSD Huawei 02351SPX 1.92TB";
СтрокаТ.Параметры.Количество = 12;
ФормаПечати.Вывести(СтрокаТ);
// Вывод подвала ТЧ
СтрокаТ = Макет.ПолучитьОбласть("ТЧ_Подвал");
СтрокаТ.Параметры.ИтогоКоличество = 19; // Всего
ФормаПечати.Вывести(СтрокаТ);
Возврат ФормаПечати;
КонецФункции
💡 Шаблоны (готовые модели) кода 1С 8.3 с тегом #Текстовый документ:
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник