База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как передать текстовый файл с разделителями с клиента на сервер в 1С? › RE: Как передать текстовый файл с разделителями с клиента на сервер в 1С?
Для передачи текстового файла с клиента на сервер в 1С:Предприятии, вы можете использовать следующий подход. Предположим, что файл содержит разделители, например, запятые или табуляции. Вам нужно будет сначала загрузить файл на сервер, а затем обработать его содержимое.
Вот пример кода, который демонстрирует, как это сделать:
### Код на клиенте
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 1C &НаКлиенте Процедура ПередатьФайлНаСервер(ПутьКФайлу) // Создаем объект файла Файл = Новый Файл(ПутьКФайлу); // Проверяем, существует ли файл Если Не Файл.Экспортировать() Тогда Сообщить("Файл не найден: " + ПутьКФайлу); Возврат; КонецЕсли; // Получаем полное имя файла ФайлИсточник = Файл.ПолноеИмя; // Помещаем файл во временное хранилище Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ФайлИсточник)); // Вызываем серверную функцию для обработки файла ПолучитьФайлНаСервер(Адрес); КонецПроцедуры |
### Код на сервере
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1C &НаСервере Процедура ПолучитьФайлНаСервер(Адрес) // Получаем данные из временного хранилища ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес); // Преобразуем двоичные данные в текст Текст = ДвоичныеДанные.ПолучитьСтроку(); // Обработка текста (например, разделение по разделителям) Строки = СтрРазделить(Текст, Символы.ПереносСтроки); Для Каждого Строка Из Строки Цикл // Обработка каждой строки Данные = СтрРазделить(Строка, ","); // Замените "," на ваш разделитель // Здесь можно добавить логику для работы с данными КонецЦикла; КонецПроцедуры |
### Объяснение кода
1. **Клиентская часть**:
– Создается объект Файл
, который указывает на файл по заданному пути.
– Проверяется, существует ли файл.
– Файл помещается во временное хранилище, и вызывается серверная процедура для его обработки.
2. **Серверная часть**:
– Данные извлекаются из временного хранилища.
– Двоичные данные преобразуются в текст.
– Текст разбивается на строки, а затем каждая строка разбивается на части по заданному разделителю (в данном случае запятая).
Этот код можно адаптировать под ваши нужды, изменив разделитель или добавив дополнительную логику обработки данных.
Рекомендую посмотреть здесь: [HelpF.pro](https://helpf.pro/faq/view/1466.html)