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

10.01.08

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

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

См. также

SALE! 10%

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

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

27660 руб.

12.06.2017    148262    860    302    

452

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

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.21.x).

35000 руб.

23.07.2020    58639    284    75    

224

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.246.x) и БП 3.0 (3.0.175.x). Правила подходят для версии ПРОФ и КОРП.

35000 руб.

15.12.2021    27736    197    58    

152

SALE! 10%

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    76061    203    158    

142

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 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" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    174996    317    267    

387

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

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

16260 руб.

18.02.2016    190850    624    536    

543

SALE! 10%

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    39638    112    73    

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

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

Но в итоге вы правы.
5. MMF 678 10.01.08 16:25 Сейчас в теме
Ф.Открыть("C:test.txt"); черезвычайно медленная операция на больших файлах
6. naghual 2 10.01.08 16:32 Сейчас в теме
7. Shaman100M 1153 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 :)
Оставьте свое сообщение