Записывает текстовый документ в файл с указанным именем.
Синтаксис
Записать(<ИмяФайла>, <ТипФайла>, <РазделительСтрок>)Записать(<Поток>, <ТипФайла>, <РазделительСтрок>, <ЗаписатьBOM>)Примеры платформы
ТекстДок.Записать("price.txt");Полное описание, параметры и ограничения
ТекстовыйДокумент.Записать (TextDocument.Write)
ТекстовыйДокумент (TextDocument)
Записать (Write)
Доступен, начиная с версии 8.0.
Вариант синтаксиса: В файл
Синтаксис:
Записать(<ИмяФайла>, <ТипФайла>, <РазделительСтрок>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла для сохранения текста.
<ТипФайла> (необязательный)
Тип: КодировкаТекста, Строка.
Тип кодировки файла. Тип файла может быть задан как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.
Поддерживаемые названия кодировок:
UTF-8
UTF-16
UTF-16BE
UTF-16LE
ISO-8859-1
US-ASCII
gb18030
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-13
iso-8859-15
Shift_JIS
EUC-JP
Big5
Big5-HKSCS
GBK
GB2312
GB_2312-80
EUC-KR
KSC_5601
windows-949
windows-874
cp866
KOI8-R
KOI8-U
windows-1250
windows-1251
windows-1252
windows-1253
windows-1254
windows-1255
windows-1256
windows-1257
windows-1258
macintosh
x-mac-cyrillic
ISO-2022-JP
ISO-2022-KR
ISO-2022-CN
ISO-2022-CN-EXT
HZ-GB-2312
Значение по умолчанию: UTF8.
<РазделительСтрок> (необязательный)
Тип: Строка.
Задается строка, являющаяся разделителем строк, к которой при записи файла будет преобразован символ ПС. Если строка пустая, то разделители строк при записи не конвертируются.
Допустимые варианты разделителей строк:
ВК;
ПС;
ВК + ПС (значение по умолчанию - может не указываться).
При использовании других строк в качестве разделителей будет вызвано исключение.
Значение по умолчанию: ВК + ПС.
Описание варианта метода:
Запись текстового документа в файл.
Вариант синтаксиса: В поток
Синтаксис:
Записать(<Поток>, <ТипФайла>, <РазделительСтрок>, <ЗаписатьBOM>)
Параметры:
<Поток> (обязательный)
Тип: Поток, ПотокВПамяти, ФайловыйПоток.
Поток для записи документа.
<ТипФайла> (необязательный)
Тип: КодировкаТекста, Строка.
Тип кодировки текста. Тип кодировки может быть задан как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.
Поддерживаемые названия кодировок:
UTF-8
UTF-16
UTF-16BE
UTF-16LE
ISO-8859-1
US-ASCII
gb18030
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-13
iso-8859-15
Shift_JIS
EUC-JP
Big5
Big5-HKSCS
GBK
GB2312
GB_2312-80
EUC-KR
KSC_5601
windows-949
windows-874
cp866
KOI8-R
KOI8-U
windows-1250
windows-1251
windows-1252
windows-1253
windows-1254
windows-1255
windows-1256
windows-1257
windows-1258
macintosh
x-mac-cyrillic
ISO-2022-JP
ISO-2022-KR
ISO-2022-CN
ISO-2022-CN-EXT
HZ-GB-2312
Значение по умолчанию: UTF8.
<РазделительСтрок> (необязательный)
Тип: Строка.
Задается строка, являющаяся разделителем строк, из которой при чтении файла будет сформирован символ ПС.
Если строка пустая, то разделители строк при чтении не конвертируются.
Допустимые варианты разделителей строк:
ВК;
ПС;
ВК + ПС (значение по умолчанию - может не указываться).
При использовании других строк в качестве разделителей будет вызвано исключение.
Значение по умолчанию: ВК + ПС.
<ЗаписатьBOM> (необязательный)
Тип: Булево.
Определяет, будет ли добавлена метка порядка байт (BOM) при сохранении документа.
Значение по умолчанию: Ложь.
Описание варианта метода:
Запись текстового документа в поток.
Описание:
Записывает текстовый документ в файл с указанным именем.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
При работе на веб-клиенте вызов метода выполняет обращение к серверу.
Пример:
ТекстДок.Записать("price.txt");
См. также:
ТекстовыйДокумент, метод ЗаписатьАсинх
ТекстовыйДокумент, метод НачатьЗапись
Использование в версии:
Доступен, начиная с версии 8.0.
Описание изменено в версии 8.3.18.
Методическая информация
Практические примеры
Отличить регистр букв от изменения учебных данных
Книга и книга сравниваются сначала с учётом регистра, затем без него. Тексты и файлы между двумя проверками не переписываются.
Где и как запускать
Полный модуль своей ОБЫЧНОЙ формы внешней обработки. Только настольный толстый клиент Windows.
Подготовка
В своей отдельной конфигурации УчебнаяКонфигурацияСинтаксиса создайте новую внешнюю обработку с ОБЫЧНОЙ формой. Эти уроки предназначены толстому клиенту Windows, не тонкому, веб-клиенту или серверу.
Добавьте кнопку ПроверитьСравнение, её событию Нажатие назначьте одноимённую процедуру. Весь приведённый код — полный модуль обычной формы, без директив управляемого клиент-серверного модуля.
Каждый запуск создаёт два новых собственных временных txt-файла на компьютере толстого клиента. Их точные пути выводятся до записи. В коде нет выбора, перезаписи или сравнения рабочих файлов.
Учебные данные — вымышленная Книга и суммы. Не вставляйте секреты, пароли, коммерческие данные или пути рабочих конфигураций.
Файлы намеренно остаются после опыта, чтобы окно различий могло их читать. После закрытия окна вручную удалите только два точных пути своего запуска. При ошибке также проверьте только уже напечатанные пути.
Модальный опыт при запрете модальности отказывает до создания файлов. Для нового кода предпочтителен первый немодальный урок.
Процедура ПроверитьСравнение(Кнопка)
ПервыйТекст = "Книга";
ВторойТекст = "книга";
ПервыйРазделитель = Символы.ВК + Символы.ПС;
ВторойРазделитель = Символы.ВК + Символы.ПС;
ПервыйПуть = ПолучитьИмяВременногоФайла("txt");
ВторойПуть = ПолучитьИмяВременногоФайла("txt");
ПервыйФайл = Новый Файл(ПервыйПуть);
ВторойФайл = Новый Файл(ВторойПуть);
Если ПервыйФайл.Существует() ИЛИ ВторойФайл.Существует() ИЛИ ПервыйПуть = ВторойПуть Тогда
ВызватьИсключение "Нужны два разных новых собственных временных пути";
КонецЕсли;
Сообщить("Свой первый файл: " + ПервыйПуть);
Сообщить("Свой второй файл: " + ВторойПуть);
ПервыйДокумент = Новый ТекстовыйДокумент;
ПервыйДокумент.УстановитьТекст(ПервыйТекст);
ВторойДокумент = Новый ТекстовыйДокумент;
ВторойДокумент.УстановитьТекст(ВторойТекст);
ПервыйДокумент.Записать(ПервыйПуть, КодировкаТекста.UTF8, ПервыйРазделитель);
ВторойДокумент.Записать(ВторойПуть, КодировкаТекста.UTF8, ВторойРазделитель);
Сравнение = Новый СравнениеФайлов;
Сравнение.ПервыйФайл = ПервыйПуть;
Сравнение.ВторойФайл = ВторойПуть;
Сравнение.СпособСравнения = СпособСравненияФайлов.ТекстовыйДокумент;
Сравнение.ИгнорироватьПустоеПространство = Ложь;
Сравнение.УчитыватьРегистр = Истина;
Сравнение.УчитыватьРазделителиСтрок = Ложь;
Строго = Сравнение.Сравнить();
Сообщить(Строго = Ложь);
Сравнение.УчитыватьРегистр = Ложь;
БезРегистра = Сравнение.Сравнить();
Сообщить(БезРегистра = Истина);
Сообщить(Не Сравнение.ИгнорироватьПустоеПространство);
Сообщить(Сравнение.СпособСравнения = СпособСравненияФайлов.ТекстовыйДокумент);
КонецПроцедурыРазбор по шагам
Записать собственные слова Книга и книга одинаковой кодировкой и разделителем.
При УчитыватьРегистр=Истина результат Ложь: первая буква отличается регистром.
Изменить только правило сравнения на Ложь и сравнить те же файлы повторно: результат Истина.
ИгнорироватьПустоеПространство остаётся Ложь. Это отдельное правило, его не следует путать с регистром.
Ни один текст не заменяется нижним регистром и не перезаписывается после создания.
Как проверить результат
Четыре сообщения Истина: строгое сравнение Ложь, без учёта регистра Истина, правило пробелов не менялось, способ текстовый.
Файлы остаются с исходными Книга и книга, не превращаются в одинаковые байты.
Ожидаемый результат
Демонстрация изменения правил сравнения без изменения самих текстов.
На что обратить внимание
Текстовое равенство по выбранным правилам не означает байтового равенства.
УчитыватьРегистр и ИгнорироватьПустоеПространство игнорируются в нетекстовых режимах.
Не используйте такое сравнение для криптографического подтверждения целостности.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Найти изменение количества и суммы в своих файлах и показать различия
Сравнить возвращает Истина, если файлы равны, и Ложь при различиях. Немодальное окно открывается только для действительно различных учебных данных.
Где и как запускать
Полный модуль своей ОБЫЧНОЙ формы внешней обработки. Только настольный толстый клиент Windows.
Подготовка
В своей отдельной конфигурации УчебнаяКонфигурацияСинтаксиса создайте новую внешнюю обработку с ОБЫЧНОЙ формой. Эти уроки предназначены толстому клиенту Windows, не тонкому, веб-клиенту или серверу.
Добавьте кнопку ПроверитьСравнение, её событию Нажатие назначьте одноимённую процедуру. Весь приведённый код — полный модуль обычной формы, без директив управляемого клиент-серверного модуля.
Каждый запуск создаёт два новых собственных временных txt-файла на компьютере толстого клиента. Их точные пути выводятся до записи. В коде нет выбора, перезаписи или сравнения рабочих файлов.
Учебные данные — вымышленная Книга и суммы. Не вставляйте секреты, пароли, коммерческие данные или пути рабочих конфигураций.
Файлы намеренно остаются после опыта, чтобы окно различий могло их читать. После закрытия окна вручную удалите только два точных пути своего запуска. При ошибке также проверьте только уже напечатанные пути.
Модальный опыт при запрете модальности отказывает до создания файлов. Для нового кода предпочтителен первый немодальный урок.
Процедура ПроверитьСравнение(Кнопка)
ПервыйТекст = "Книга;3;250;750";
ВторойТекст = "Книга;4;250;1000";
ПервыйРазделитель = Символы.ВК + Символы.ПС;
ВторойРазделитель = Символы.ВК + Символы.ПС;
ПервыйПуть = ПолучитьИмяВременногоФайла("txt");
ВторойПуть = ПолучитьИмяВременногоФайла("txt");
ПервыйФайл = Новый Файл(ПервыйПуть);
ВторойФайл = Новый Файл(ВторойПуть);
Если ПервыйФайл.Существует() ИЛИ ВторойФайл.Существует() ИЛИ ПервыйПуть = ВторойПуть Тогда
ВызватьИсключение "Нужны два разных новых собственных временных пути";
КонецЕсли;
Сообщить("Свой первый файл: " + ПервыйПуть);
Сообщить("Свой второй файл: " + ВторойПуть);
ПервыйДокумент = Новый ТекстовыйДокумент;
ПервыйДокумент.УстановитьТекст(ПервыйТекст);
ВторойДокумент = Новый ТекстовыйДокумент;
ВторойДокумент.УстановитьТекст(ВторойТекст);
ПервыйДокумент.Записать(ПервыйПуть, КодировкаТекста.UTF8, ПервыйРазделитель);
ВторойДокумент.Записать(ВторойПуть, КодировкаТекста.UTF8, ВторойРазделитель);
Сравнение = Новый СравнениеФайлов;
Сравнение.ПервыйФайл = ПервыйПуть;
Сравнение.ВторойФайл = ВторойПуть;
Сравнение.СпособСравнения = СпособСравненияФайлов.ТекстовыйДокумент;
Сравнение.ИгнорироватьПустоеПространство = Ложь;
Сравнение.УчитыватьРегистр = Истина;
Сравнение.УчитыватьРазделителиСтрок = Ложь;
Равны = Сравнение.Сравнить();
Сообщить(Равны = Ложь);
Сообщить(Сравнение.ПервыйФайл = ПервыйПуть И Сравнение.ВторойФайл = ВторойПуть);
Если НЕ Равны Тогда
Сравнение.ПоказатьРазличия();
КонецЕсли;
КонецПроцедурыРазбор по шагам
Получить два собственных временных имени, проверить отсутствие обоих файлов до первой записи, вывести пути.
Записать UTF8 с одинаковыми разделителями строк: 3/750 в первом и 4/1000 во втором.
Установить текстовый способ, явные правила пробелов, регистра и разделителей.
Сравнить даёт Ложь, потому что данные действительно различаются. Ветка НЕ Равны открывает немодальное окно различий.
После просмотра закрыть только своё окно и вручную убрать два напечатанных файла.
Как проверить результат
Две булевы проверки Истина: результат сравнения Ложь, пути принадлежат созданным файлам.
В окне видна разница Книга;3;250;750 и Книга;4;250;1000. Код ничего не исправляет и не объединяет автоматически.
Ожидаемый результат
Полный реальный опыт создания и сравнения учебных файлов с правильно трактуемым булевым результатом.
На что обратить внимание
Истина из Сравнить означает равенство, не наличие отличий.
ПоказатьРазличия открывает окно, не возвращает изменённый документ.
Не удаляйте файлы немедленно после открытия немодального окна: они оставлены на время просмотра.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.