Аналог ИзСтрокиСРазделителями() из 7.7

20.11.13

Разработка - Механизмы платформы 1С

Появилась необходимость загружать данные из 1С 7.7 в 8-ку выгруженные с помощью функции сз.ВСтрокуСРазделителями().
Ничего нормального не нашел. Может плохо искал :)
Пришлось изобретать самому.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ИзСтрокиСРазделителями
.epf 7,25Kb
24 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

В разбираемой строке могут быть данные двух типов числа и строки разделенные запятой.

Строка, дополнительно, заключается в двойные кавычки.

Может кому пригодится.

Буду длагодарен за тестирование.

 

 Строка для тестирования:

стр = " 53.35 , ""67"""" ,""""890"", 88.88,,"""",0, ""Груз. накл. С01-000001 (10.01.12)"",""=="""",,,""""==12""""345"",23.32,""123"", 5 , ,";

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

См. также

SALE! %

Мастера заполнения Поиск данных База данных Инструментарий разработчика Корректировка данных Универсальные функции Механизмы платформы 1С Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

5000 4000 руб.

25.02.2026    1944    9    1    

11

Механизмы платформы 1С Программист Бесплатно (free)

Разберем 15 мифов о работе платформы «1С:Предприятие 8» – как распространенных, так и малоизвестных. Начнем с классики: «Код, написанный в одну строку, работает быстрее, чем многострочный». Так ли это на самом деле?

16.07.2025    30168    TitanLuchs    106    

149

Механизмы платформы 1С Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Про ООП в 1С и о том, как сделать свой код более кратким и выразительным при помощи использования текучего интерфейса (fluent interface).

03.02.2025    16466    bayselonarrend    127    

68

Механизмы платформы 1С Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье подробно рассматривается работа с JSON в XDTO в 1С:Предприятие. Вы узнаете, как сериализовать и десериализовать объекты XDTO в JSON, интегрировать 1С с веб-сервисами и API, а также корректно обрабатывать данные при обмене. Разбираются особенности работы с коллекциями, использование функций восстановления и частые ошибки при работе с JSON и XDTO.

30.01.2025    19662    user2122906    9    

66

Механизмы платформы 1С Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 Бесплатно (free)

Этот материал познакомит вас с механизмом XDTO (XML Data Transfer Objects) в 1С и научит эффективно использовать его возможности. Мы разберёмся, как работать с XML-схемами, создавать модели данных, манипулировать объектами XDTO, а также сериализовать и десериализовать их в XML. Вы узнаете, как использовать XDTO для интеграции с внешними системами, избегать типичных ошибок и оптимизировать код. К концу вы будете уверенно применять XDTO для решения сложных задач обмена данными и автоматизации процессов.

17.01.2025    33928    user2122906    12    

61

Механизмы платформы 1С WEB-интеграция Программист 1С:Предприятие 8 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    30644    dsdred    100    

147

Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    27174    bayselonarrend    22    

176
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Hany 10.07.12 18:14 Сейчас в теме
Не имею чести видеть Ваш файл с данными из 7.7, но вот такой простейший вариант разбора строк с разделителями не подошел бы? (Разделитель в данном случае ",")

СтрокаСРазделителями = "2, 43, ""34535345""22, 44";
Сообщить("" + СтрокаСРазделителями);
СтрокаСПереносами = СтрЗаменить(СокрЛП(СтрокаСРазделителями), ",", Символы.ПС);
Сообщить("" + СтрокаСПереносами);
5. slawa 26 11.07.12 00:27 Сейчас в теме
(1) Hany, Такую строку невозможно получить с помощью функции ВСтрокуСРазделителями.
СтрокаСРазделителями = "2, 43, ""34535345""22, 44";
Не понятно какого типа 3-й элемент.
Элемент с типом строка должны быть заключен в кавычки.
6. slawa 26 11.07.12 00:37 Сейчас в теме
(2) Поручик, эти варианты я все видел. Зря минуснул.
Не один из них не работает корректно.

Строка для проверки:
стр = " 53.35 , ""67"""" ,""""890"", 88.88,,"""",0, ""Груз. накл. С01-000001 (10.01.12)"",""=="""",,,""""==12""""345"",23.32,""123"", 5 , ,";
7. Поручик 4607 11.07.12 00:45 Сейчас в теме
(6) Минуснул на ашипку, читай пост 3
8. Поручик 4607 11.07.12 00:50 Сейчас в теме
(6) Исправишь, сниму. Заманали своими идиотскими креативами.
9. Altair777 649 11.07.12 12:23 Сейчас в теме
(6) а я минусанул за оформление. Уважайте посетителей портала, раскрасьте код.
11. Поручик 4607 11.07.12 13:46 Сейчас в теме
12. Altair777 649 11.07.12 13:48 Сейчас в теме
(11) Поручик, спасибо что напомнил :)
а то я вчера скачал, а плюсануть не успел - забегался...
3. Поручик 4607 10.07.12 19:20 Сейчас в теме
(0) Цыфра пишется через И
4. Andry.Boris 59 10.07.12 23:29 Сейчас в теме
Старайся... лучше сначала искать...
+ за желание... ;)
10. Altair777 649 11.07.12 12:32 Сейчас в теме
Кстати, на каком языке это написано?

Если (_код >= 48) и (_код Возврат Истина;
 ИначеЕсли _код = 46 Тогда // точка
 Возврат Истина;
 КонецЕсли;
13. Рэйв 126 16.07.12 06:31 Сейчас в теме
Функция ИзСтрокиСРазделителями(Значение,Разделитель = ",") Экспорт

Если ТипЗнч(Значение)<>Тип("Строка") Тогда
Сообщить("Функция ИзСтрокиСРазделителями.Некорректный вызов.Переданное значение должно быть строкой.");
Возврат Неопределено;
КонецЕсли;
спЗначения=Новый СписокЗначений;
Если Найти(Значение,Разделитель)=0 Тогда
Сообщить("Функция ИзСтрокиСРазделителями.В переданном значении("""+Значение+""") нет ни одного указанного разделителя("""+Разделитель+""").");
спЗначения.Добавить(Значение);
Возврат спЗначения;
КонецЕсли;

Значение=СтрЗаменить(Значение,Разделитель,Символы.ПС);
Для н=1 По СтрЧислоСтрок(Значение) Цикл
спЗначения.Добавить(СтрПолучитьСтроку(Значение,н));
КонецЦикла;
Возврат спЗначения;

КонецФункции//ИзСтрокиСРазделителями
14. slawa 26 16.07.12 06:39 Сейчас в теме
(13) Рэйв, проверь стр = " 53.35 , ""67"""",""""890"", 88.88,,"""",0, ""Груз. накл. С01-000001 (10.01.12)"",""=="""",,,""""==12""""345"",23.32,""123"", 5 , ,";
что получится в результате работы твоей и моей функции?
15. Рэйв 126 16.07.12 07:32 Сейчас в теме
(14) Получится вот такое

53.35
"67""
""890"
88.88
""
0
"Груз. накл. С01-000001 (10.01.12)"
"==""
""==12""345"
23.32
"123"
5

Наверное надо повнимательней быть с кавычками:-)
16. Рэйв 126 16.07.12 07:34 Сейчас в теме
+ все по честному отработало при разделителе ","
17. slawa 26 16.07.12 07:56 Сейчас в теме
(16) Рэйв, не на каждой запятой нужно делить
попробуй эту-же строку подсунуть реальной функции 7.7 ИзСтрокиСРазделителем
Результат будет несколько иной, чем выдает твоя
18. Рэйв 126 16.07.12 08:09 Сейчас в теме
(17)Если не на каждой, то используй разделитель не равный ","
Например "^". И проставь вместо запятых только в тех местах где надо делить.

Тогда вызов моей функции будет

спСтр=ИзСтрокиСРазделителями(Стр,"^") ;
19. slawa 26 16.07.12 08:14 Сейчас в теме
(18) Рэйв, я это не могу сделать
Есть готовая выгрузка из 7.7 с помощью функции ВСтрокуСРазделителями() ее нужно грузить в 8-ку.
Менять выгрузку из 7.7 нет возможности
20. Рэйв 126 16.07.12 08:30 Сейчас в теме
(19)А.. Ну это совсем другая песня:-)
Моя функция для работы в 8.
21. capitan 2564 16.09.12 12:52 Сейчас в теме
Плюс
Единственная обработка, которая корректно отработала строку в кавычках, внутри которой есть запятые.
Стандартные из типовых конфигураций от 1С не смогли.
22. chmv 28.11.13 09:15 Сейчас в теме
Интересно и полезно
23. пользователь 23.05.17 11:11
Сообщение было скрыто модератором.
...
24. Омский Домовой 408 23.03.22 23:12 Сейчас в теме
А СтрРазделить не подходит?
25. slawa 26 24.03.22 14:11 Сейчас в теме
(24)
Попробуй

Строка для проверки:
стр = " 53.35 , ""67"""" ,""""890"", 88.88,,"""",0, ""Груз. накл. С01-000001 (10.01.12)"",""=="""",,,""""==12""""345"",23.32,""123"", 5 , ,";

Что получится?

попробуй эту-же строку подсунуть реальной функции 7.7 ИзСтрокиСРазделителем()

Одинаковое получилось?
26. ed83rostov 30.09.25 13:31 Сейчас в теме
спасибо автору за данную обработку!
реально с экономил кучу времени и работает она четко как надо!
Еще раз: БОЛЬШОЕ СПАСИБО!
Для отправки сообщения требуется регистрация/авторизация