|   |   | 
| 
 | Разложить строку в структуру | ☑ | ||
|---|---|---|---|---|
| 0
    
        Ayvengo 20.11.13✎ 18:37 | 
        Собственно строка
 INSERT INTO class_mkb (id, name, code, parent_id, parent_code, node_count, additional_info) VALUES(5, 'Холера, вызванная холерным вибрионом 01, биовар eltor', 'A00.1', 3, 'A00', 0, 'Холера Эль-Тор');Как бы из этой строки сделать Структура("id, name, code, parent_id, parent_code, node_count, additional_info") Вариант СтрЗаменить не предлагать, т.к. разделитель ", " существует в поле текста, например 'Холера, вызванная холерным вибрионом 01, биовар eltor' - это одно поле "name" Поехали :) | |||
| 1
    
        Господин ПЖ 20.11.13✎ 18:49 | 
        резать по "', " и ", "     | |||
| 2
    
        Serginio1 20.11.13✎ 18:55 | ||||
| 3
    
        Serginio1 20.11.13✎ 18:57 | 
        Или переписанный вариант
 v8: Преобразование csv в таблицу значений, продолжение | |||
| 4
    
        Ярус 20.11.13✎ 19:00 | 
        в типовой есть РазложитьСтрокуВМассивПодстрок , аналогичног сделай свое     | |||
| 5
    
        Ayvengo 20.11.13✎ 19:01 | 
        Никто не читает :)     | |||
| 6
    
        kosts 20.11.13✎ 19:02 | 
        (0) А в чем собственно проблема?     | |||
| 7
    
        Ayvengo 20.11.13✎ 19:03 | 
        (6) почитай внимательно, особенно 
 Вариант СтрЗаменить не предлагать, т.к. разделитель ", " существует в поле текста, например 'Холера, вызванная холерным вибрионом 01, биовар eltor' - это одно поле "name" | |||
| 8
    
        Classic 20.11.13✎ 19:03 | 
        (5)
 Чем тебя (1) не устроило? | |||
| 9
    
        Ayvengo 20.11.13✎ 19:03 | 
        (8) как мне понять как резать? =\     | |||
| 10
    
        Ayvengo 20.11.13✎ 19:03 | 
        +(9) и где резать     | |||
| 11
    
        Ненавижу 1С гуру 20.11.13✎ 19:05 | 
        первач часть id, name, code, parent_id, parent_code, node_count, additional_info вообще без вопросов
 вторая: циклом по открывающемся и закрывающемся кавычкам | |||
| 12
    
        Ayvengo 20.11.13✎ 19:05 | 
        (11) пример в студию     | |||
| 13
    
        Ayvengo 20.11.13✎ 19:06 | 
        (11) не всегда есть кавычки =\     | |||
| 14
    
        Конфигуратор1с 20.11.13✎ 19:07 | 
        (0) Находишь первую скобку "(", находишь вторую ")" и все что между ними стрзаменить)     | |||
| 15
    
        Ярус 20.11.13✎ 19:09 | 
        (13) тогда никак, только руками, все что можно обрабатываешь программно(считаешь запятые, считаешь ковычки), все что выбивается из нормального формата делаешь руками     | |||
| 16
    
        Ayvengo 20.11.13✎ 19:10 | 
        (15) неправильный ответ :) уверен, что способ есть     | |||
| 17
    
        Конфигуратор1с 20.11.13✎ 19:10 | 
        (16) чем (14) не подходит?     | |||
| 18
    
        Classic 20.11.13✎ 19:10 | 
        (10)
 ВКавычках = Ложь; НомерЗначения = 1; СтрокаЗначения = ""; Для Сч = 1 По СтрДлина(НашаСтрока) Цикл Если Сред(НашаСтрока,Сч,1) = "'" Тогда ВКавычках = НЕ ВКавычках; КонецЕсли; Если НЕ ВКавычках И Сред(НашаСтрока, Сч, 1) = "," Тогда // делаем какуюто операцию с СтрокаЗначение СтрокаЗначение = ""; НомерЗначения = НомерЗначения + 1; Иначе СтрокаЗначение = СтрокаЗначение + Сред(нашаСтрока, Сч,1); КонецЕсли; КонецЦикла; | |||
| 19
    
        Classic 20.11.13✎ 19:11 | 
        (18)
 Заменить // делаем какуюто операцию с СтрокаЗначение на то, что тебе надо. В этот момент в СтрокаЗначение будет символьное представление значения поля с номером НомерЗначения | |||
| 20
    
        Classic 20.11.13✎ 19:12 | 
        Ну и вконце тоже отработать то, что осталось     | |||
| 21
    
        Ayvengo 20.11.13✎ 19:15 | 
        (20) небольшие ошибочки в коде, но спасибо :) Хороший вариант!     | |||
| 22
    
        Classic 20.11.13✎ 19:15 | 
        (21)
 ну я собственно его не отлаживал :) | |||
| 23
    
        Ayvengo 20.11.13✎ 19:17 | 
        Но я веселее придумал ))) Загрузил в SQL и экспортнул в CSV :D В шикарно работает ;)     | |||
| 24
    
        Classic 20.11.13✎ 19:23 | 
        (23)
 Читер | |||
| 25
    
        zakidonoff 20.11.13✎ 19:29 | 
        (23) Вот и не начинай после такого в следующий раз выяснять у ТС что он делает, зачем делает, откуда делает...
 Мог бы сразу задачу описать, мол, нужно дбф файл данных в 1С получить разложенный по реквизитам. Мол, операция разовая. | |||
| 26
    
        Ayvengo 20.11.13✎ 19:39 | 
        (25) да нет, все не так, пока мы размышляли я ставил SQL сервер и пробовал загрузить туда данные из файла с разрешением SQL. Но чет не нравился мне метод разбивания строки из файла для загрузки данных в SQL.     | |||
| 27
    
        zakidonoff 20.11.13✎ 19:43 | 
        (26) Вот сие и мог бы сразу в (0) указать -)     | |||
| 28
    
        Ayvengo 20.11.13✎ 19:47 | 
        (27) так идеи то не было такой, когда писал пост :)     | |||
| 29
    
        Serginio1 21.11.13✎ 10:39 | 
        (23) Зачем SQL для этого есть ADO для текстов
 v8: Чем загрузить "сложный" CSV ? http://it-proposition.blogspot.ru/2011/08/schemaini-microsoftaceoledb120.html | |||
| 30
    
        НЕА123 21.11.13✎ 10:49 | 
        Новый Структура(""""+СтрПолучитьСтроку(СтрЗаменить(СтрЗаменить(СтрЗаменить(СобственноСтрока,Символы.ПС,""),"(", Символы.ПС),")",Символы.ПС),2)+"""")     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |