Быстрый парсинг строк

10.01.08

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

У вас есть необходимость выполнить загрузку данных из текстового файла с разделителями, и в одной строке много значений? Тогда вот вам на суд мое решение:
Процедура Сформировать()
	Перем Ф, чНомСтроки, сСтрока;
	Перем сзЗначения, сЗнач, чПоз;
	
	сзЗначения = СоздатьОбъект("СписокЗначений");
	Ф = СоздатьОбъект("Текст");
	Ф.Открыть("C:\test.txt");
	Для чНомСтроки = 1 ПО Ф.КоличествоСтрок() Цикл
		сСтрока = Ф.ПолучитьСтроку(чНомСтроки);
		// Следующая строка дана для примера 
		//сСтрока = " NUM | Name | Cat | SubCat | Manufactur | Supplier | Price_Trad | Price_Bye | Price_Sell ";
		сСтрока = """" + сСтрока + """";
		сСтрока = СтрЗаменить(сСтрока, "|", """, """);
		сзЗначения.УдалитьВсе();
		сзЗначения.ИзСтрокиСРазделителями(сСтрока);
		// Следующая строка для демонстрации
		сзЗначения.ВыбратьЗначение(сЗнач, "ТЕСТ", чПоз);
		//
		// Тут проводим необходимые действия над Значениями из СпискаЗначений
		//
	КонецЦикла;
КонецПроцедуры

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

55050 руб.

25.02.2015    192694    385    296    

438

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, ERP 2.6, КА 2.5, КА 2.6, УТ 11.5, УТ 11.6, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    165252    1009    329    

493

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

55200 руб.

24.04.2015    211558    186    254    

303

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    37240    270    68    

204

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

63000 руб.

29.10.2018    64545    87    137    

83

Операции по ВЭД Файловый обмен (TXT, XML, DBF), FTP Разработчик Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Платные (руб)

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:". Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные) Обработка актуализирована на начало 2026 года (ставка НДС 22%)

24400 руб.

09.08.2016    97970    381    379    

126

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

27572 руб.

18.02.2016    209456    686    559    

566
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vcv 89 10.01.08 14:40 Сейчас в теме
Очень узкое решение для узкого частного случая. А если символ разделителя встречается в тексте? Тогда обычно значение берется в кавычки, например:
Иванов,"Магадан, улица имени Зека",9,43
В вопросе разбора текстов ни кто еще ничего лучше регулярных выражений не придумал.
2. naghual 2 10.01.08 15:09 Сейчас в теме
Вы правы, решение ИМЕННО узкое.
Дело в том, что файлы подобной структуры поставляются с уникальным разделителем.
Ваш же пример, можно изначально загружать с помощью ИзСтрокиСРазделителями.

А можно ли использовать в ЧИСТОЙ 1С Регулярные Выражения???
3. coder1cv8 3487 10.01.08 15:52 Сейчас в теме
(2) А кто мешает? )
СоздатьОбъект("VBScript.RegExp"); и вперед...
4. naghual 2 10.01.08 16:18 Сейчас в теме
(3) Это будет уже не чистая 1С. :)

Но в итоге вы правы.
5. MMF 677 10.01.08 16:25 Сейчас в теме
Ф.Открыть("C:test.txt"); черезвычайно медленная операция на больших файлах
6. naghual 2 10.01.08 16:32 Сейчас в теме
7. Shaman100M 1155 10.01.08 17:17 Сейчас в теме
С помощью Scripting.FileSystemObject
http://infostart.ru/profile/8196/blogs/261/

А применительно к статье, я пользую немного другую комбинацию:
Код
сСтрока = СтрЗаменить(сСтрока,СимволРазделительВТексте ,РазделительСтрок);
// номер параметра в строке известен, например
Цена = СтрПолучитьСтроку(сСтрока,4)
Показать полностью
8. smirnov.a 621 16.01.08 21:41 Сейчас в теме
"украл" мое решение, за это +1 :)
Для отправки сообщения требуется регистрация/авторизация