| 
    
        
     
     | 
    
  | 
Сортировка нодов XML (Xpath) | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        КусокЗабора    
     05.02.15 
            ✎
    09:35 
 | 
         
        Как можно отсортировать ноды xml по значению атрибутов, Xpath или может еще есть механизмы в 1С?
 
        Прмер xml: <?xml version="1.0" encoding="UTF-8"?> <Справочники> <Док Код ="20" Родитель="4"/> <Док Код ="18" Родитель="15"/> <Док Код ="4" Родитель="3"/> </Справочники> Нужно что б в цикле ноды обрабатывались в определенном порядке, отсортированные по коду, иначе на мемент создания элемента с кодом 20, родителя еще в БД не будет Или только цикл сортировка пузырьком и всякое такое?  | 
|||
| 
    1
    
        Timon1405    
     05.02.15 
            ✎
    09:41 
 | 
         
        1. цикл пробежаться создать элементы
 
        2. цикл пробежаться привязать родителей(элементы гарантированно уже будут) 3. профит  | 
|||
| 
    2
    
        КусокГовна    
     05.02.15 
            ✎
    09:43 
 | 
         
        (1) понятно, короч "оставь надежды, это ж 1С"
 
        Придется делать циклами, что поделать )  | 
|||
| 
    3
    
        Остап Сулейманович    
     05.02.15 
            ✎
    09:46 
 | 
         
        (3) Причем здесь 1С? Это XML. И сортировать нужно было "до того как".     
         | 
|||
| 
    4
    
        КусокГовна    
     05.02.15 
            ✎
    09:48 
 | 
         
        (3) при том что в нормальных языках возможность о какой я спрашивал есть     
         | 
|||
| 
    5
    
        Остап Сулейманович    
     05.02.15 
            ✎
    09:50 
 | 
         
        (4) Сортировать принципиально не сортируемые данные? Есть в других языках? Я хочу это видеть. Ты с ДБФ не перепутал?     
         | 
|||
| 
    6
    
        Asmody    
     05.02.15 
            ✎
    09:50 
 | 
         
        (4) ну ка изобрази     
         | 
|||
| 
    7
    
        КусокГовна    
     05.02.15 
            ✎
    10:05 
 | 
         
        (5) открой для себя c# (как пример)     
         | 
|||
| 
    8
    
        su_mai    
     05.02.15 
            ✎
    10:05 
 | 
||||
| 
    9
    
        КусокГовна    
     05.02.15 
            ✎
    10:05 
 | 
         
        (6) -> (7)     
         | 
|||
| 
    10
    
        George Wheels    
     05.02.15 
            ✎
    10:06 
 | 
         
        Перед созданием элемента с кодом 20 проверяем есть ли элемент с кодом 3. Если есть хорошо, если нет, то создаём пустой с кодом 3. После проверки родителя ищем элемент с кодом 20. Если есть, то заполняем его, если нет, то создаём...     
         | 
|||
| 
    11
    
        su_mai    
     05.02.15 
            ✎
    10:09 
 | 
         
        +(8) В 1С есть объект "ПреобразованиеXSL (XSLTransform)"     
         | 
|||
| 
    12
    
        КусокГовна    
     05.02.15 
            ✎
    10:11 
 | 
         
        (8) спасибо видел когда искал решения, только как это в 1С использовать не понял. 
 
        (11) и про ПреобразованиеXSL знаю, но я ж не могу к каждой xml генерить xsl  | 
|||
| 
    13
    
        Asmody    
     05.02.15 
            ✎
    10:11 
 | 
         
        (9) То, что xslt имеет тег sort, я знаю. но это примерно то же самое, что сказать "в SQL есть ORDER, значит сортировка без цикла".
 
        Ты мне сортировку без цикла покажи, иначе будешь ты не КусокЗабора, а КусокПиздуна  | 
|||
| 
    14
    
        igork1966    
     05.02.15 
            ✎
    10:13 
 | 
         
        (0) будешь удивлен... без дополнительных данных сортировка дерева всегда с циклами. Так что в (1) вполне нормальный результат.     
         | 
|||
| 
    15
    
        igork1966    
     05.02.15 
            ✎
    10:15 
 | 
         
        (14) + всегда с циклам даже если ты их не видишь в своем коде     
         | 
|||
| 
    16
    
        КусокГовна    
     05.02.15 
            ✎
    10:21 
 | 
         
        (13) процетируй меня где я писал что дайте мне возможность сортировки без цикла? Мне не важно как внутри отрабатывают встроеные механизмы, если углубимся до асмы так там все в циклы превращаются, и чо?
 
        Я говорил про то что 1С недоразвит, нет нормальных механизмов  | 
|||
| 
    17
    
        Asmody    
     05.02.15 
            ✎
    10:23 
 | 
         
        (16) Это ты недоразвит     
         | 
|||
| 
    18
    
        КусокГовна    
     05.02.15 
            ✎
    10:23 
 | 
         
        (17) обоснуй     
         | 
|||
| 
    19
    
        КусокГовна    
     05.02.15 
            ✎
    10:24 
 | 
         
        (17) кстати я на личностные оскорбления не переходил, а ты так реагируешь как будто я тебя оскордил, или поплачь у фото нуралиева ))     
         | 
|||
| 
    20
    
        Asmody    
     05.02.15 
            ✎
    10:25 
 | 
         
        (18) ветку обнови     
         | 
|||
| 
    21
    
        igork1966    
     05.02.15 
            ✎
    10:26 
 | 
         
        (16) Парсеры xml ничего не знаю о внутренностях твоих узлов. 
 
        И с какого они должны уметь сортировать дерево незнамо как устроенное.  | 
|||
| 
    22
    
        igork1966    
     05.02.15 
            ✎
    10:28 
 | 
         
        (21) + способов хранения дерева не один     
         | 
|||
| 
    23
    
        КусокЗабора    
     05.02.15 
            ✎
    10:36 
 | 
         
        (21) Это вообще не аргумент, можно ж указать что отсортируй по значению этого атрибута. 
 
        Короче 1С отстой, а вы все 1Сниги бесетесь потому что нет контраргументов, ну не умеет она такого что тут поделать и не нужно пытаться искать оправдание этому  | 
|||
| 
    24
    
        igork1966    
     05.02.15 
            ✎
    10:38 
 | 
         
        (23) попробуй в TSQL выбрать иерархические данные с сортировкой... потом кричи "MS SQL" отстой     
         | 
|||
| 
    25
    
        George Wheels    
     05.02.15 
            ✎
    10:39 
 | 
         
        (23) Сортировка не нужна. Пробуй (10).     
         | 
|||
| 
    26
    
        КусокЗабора    
     05.02.15 
            ✎
    10:41 
 | 
         
        (24) да линком я тебе что хочешь выберу откуда хочешь, с сортировкой с двумя (linq)     
         | 
|||
| 
    27
    
        КусокЗабора    
     05.02.15 
            ✎
    10:45 
 | 
         
        (25) спасибо, попробую     
         | 
|||
| 
    28
    
        igork1966    
     05.02.15 
            ✎
    10:46 
 | 
         
        (26) код покажи, которым ты отсортируешь дерево содержащееся в наборе данных (id, parentid) без цикла и без дополнительных данных     
         | 
|||
| 
    29
    
        igork1966    
     05.02.15 
            ✎
    10:47 
 | 
         
        (28) + linq-ом     
         | 
|||
| 
    30
    
        Asmody    
     05.02.15 
            ✎
    10:47 
 | 
         
        (26) При чем тут линк? Если тебе в одном языке завернули всю механику в "синтаксический сахар", а в другом — нет, это ничего не значит.     
         | 
|||
| 
    31
    
        Asmody    
     05.02.15 
            ✎
    10:48 
 | 
         
        А хуже всего то, что ты, походу, не понимаешь, что за всем этим "сахаром" стоит.     
         | 
|||
| 
    32
    
        КусокЗабора    
     05.02.15 
            ✎
    10:56 
 | 
         
        (28) пример на xml из (0) пойдет?     
         | 
|||
| 
    33
    
        КусокЗабора    
     05.02.15 
            ✎
    10:57 
 | 
         
        (31) главное что б ты понимал )     
         | 
|||
| 
    34
    
        igork1966    
     05.02.15 
            ✎
    10:57 
 | 
         
        (33) пойму     
         | 
|||
| 
    35
    
        Asmody    
     05.02.15 
            ✎
    10:58 
 | 
         
        Например, в scala xml — вообще самостоятельный тип данных, к которому можно применять все прелести функциональщины. 
 
        Удобнее от этого программисту? Несомненно. Лучше от этого scala обрабатывает xml, чем java или c#? Сомнительно.  | 
|||
| 
    36
    
        КусокЗабора    
     05.02.15 
            ✎
    11:00 
 | 
         
        (29) 
 
        var result = node.Elements().OrderBy(_ => _.TryGetAttributeValue("CODE", "0").ToDecimal()); node - тип XElement  | 
|||
| 
    37
    
        КусокЗабора    
     05.02.15 
            ✎
    11:01 
 | 
         
        (34) "главное что б ты понимал )"
 
        это не тебе было  | 
|||
| 
    38
    
        КусокЗабора    
     05.02.15 
            ✎
    11:02 
 | 
         
        (28) -> (36)     
         | 
|||
| 
    39
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:02 
 | 
         
        (0) ээм. а выгрузить ноды в ТЗ и ТЗ.Сортировать() не? и создавать элементы перебирая тз, ессно     
         | 
|||
| 
    40
    
        igork1966    
     05.02.15 
            ✎
    11:03 
 | 
         
        (36) B что это? Как сортировка узлов по коду поможет отсортировать данные с учетом дерева?     
         | 
|||
| 
    41
    
        igork1966    
     05.02.15 
            ✎
    11:05 
 | 
         
        (40) Или ты предполагаешь что что елементы-дочки всегда с большими кодами? С чего? Элемент нельзя переподчинить?     
         | 
|||
| 
    42
    
        КусокЗабора    
     05.02.15 
            ✎
    11:06 
 | 
         
        (39) да вариантов полно, я вообщет спросил можно ли это XPath'ом сделать или как-нить еще     
         | 
|||
| 
    43
    
        igork1966    
     05.02.15 
            ✎
    11:06 
 | 
         
        (40)(41) + к тому же node.Elements() это аналогично выгрузке в таблицу значений... И ЧЕ?     
         | 
|||
| 
    44
    
        КусокЗабора    
     05.02.15 
            ✎
    11:07 
 | 
         
        (40) я показал решение моего вопроса (0) линком, причем в одну строку.     
         | 
|||
| 
    45
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:07 
 | 
         
        (42) зачем как нить еще если можно воспользоваться встроенным функционалом?     
         | 
|||
| 
    46
    
        КусокЗабора    
     05.02.15 
            ✎
    11:08 
 | 
         
        (45)  так нет его, приходится искать варианты и выкручиваться     
         | 
|||
| 
    47
    
        igork1966    
     05.02.15 
            ✎
    11:08 
 | 
         
        (44) Не показал. Поскольку это не сортировка дерева с учетом иерархии     
         | 
|||
| 
    48
    
        КусокЗабора    
     05.02.15 
            ✎
    11:08 
 | 
         
        (43) какая таблица значений, ты о чем, забудь свой 1С когда говоришь о c#     
         | 
|||
| 
    49
    
        igork1966    
     05.02.15 
            ✎
    11:09 
 | 
         
        (48) кокая разница... коллекция     
         | 
|||
| 
    50
    
        КусокЗабора    
     05.02.15 
            ✎
    11:09 
 | 
         
        (48) вопрос был:
 
        "Нужно что б в цикле ноды обрабатывались в определенном порядке, отсортированные по коду" (36) задачу решает. Или иди читай про линк  | 
|||
| 
    51
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:10 
 | 
         
        (46) -> (39) чем не встроенный функционал? кстати полностью аналогично твоему примеру из (36)     
         | 
|||
| 
    52
    
        КусокЗабора    
     05.02.15 
            ✎
    11:10 
 | 
         
        (49) ну и? 
 
        прочитай, я уже об этом писал (16)  | 
|||
| 
    53
    
        igork1966    
     05.02.15 
            ✎
    11:11 
 | 
         
        (52) в (40) НЕ СОРТИРОВКА С УЧЕТОМ ИЕРАРХИИ
 
        и на самом деле не решает проблему со вставкой иерархических данных расположенных в не сортированной коллекции  | 
|||
| 
    54
    
        КусокЗабора    
     05.02.15 
            ✎
    11:12 
 | 
         
        (51) и это (10) встроеный функционал,
 
        и своя сортировка (тем же пузырьком) - встроеный функционал т.е. использования встроеных механизмов, но это как не крути свое решение  | 
|||
| 
    55
    
        КусокЗабора    
     05.02.15 
            ✎
    11:13 
 | 
         
        (53) у меня данной задачи не было, это раз.
 
        Набросай мне структуру xml (иерархическую) какую нельзя было бы отсортировать линком  | 
|||
| 
    56
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:14 
 | 
         
        (54) в (10) пример алгоритма для ухода от сортировки. в (39) сама сортировка, так тебе необходимая     
         | 
|||
| 
    57
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:15 
 | 
         
        ТЗ.Сортировать() - это не свое решение. это решение платформы. и твою задачу решает чуть более чем полностью. чего еще нужно не могу понять     
         | 
|||
| 
    58
    
        igork1966    
     05.02.15 
            ✎
    11:16 
 | 
         
        (55) ну лови
 
        <?xml version="1.0" encoding="UTF-8"?> <Справочники> <Док Код ="3" Родитель="1"/> <Док Код ="2" Родитель="4"/> <Док Код ="1" Родитель="4"/> <Док Код ="4" Родитель="3"/> </Справочники>  | 
|||
| 
    59
    
        igork1966    
     05.02.15 
            ✎
    11:17 
 | 
         
        (58) сории
 
        <Док Код ="4" Родитель=""/>  | 
|||
| 
    60
    
        КусокЗабора    
     05.02.15 
            ✎
    11:18 
 | 
         
        (58) и как тебе это отсортировать? по какому артибуту?     
         | 
|||
| 
    61
    
        КусокЗабора    
     05.02.15 
            ✎
    11:19 
 | 
         
        (57) а выгружать ты ноды xml в ТЗ как будешь, циклом?     
         | 
|||
| 
    62
    
        igork1966    
     05.02.15 
            ✎
    11:19 
 | 
         
        (60) по иерархии.. чтобы сначала родители появлялись.
 
        С учтетом того что уровней неизвестное количество  | 
|||
| 
    63
    
        КусокЗабора    
     05.02.15 
            ✎
    11:20 
 | 
         
        (рецепт длиннопостов - оскорбить 1С)
 
        :)  | 
|||
| 
    64
    
        igork1966    
     05.02.15 
            ✎
    11:22 
 | 
         
        (63) я не пишу на 1С, уже 2 года ежели че     
         | 
|||
| 
    65
    
        igork1966    
     05.02.15 
            ✎
    11:22 
 | 
         
        (64) + просто подобные наезды не более чем юношеский максимализм     
         | 
|||
| 
    66
    
        КусокЗабора    
     05.02.15 
            ✎
    11:22 
 | 
         
        (62) для уточнения, результат ты хочешь в такой последовательностии?
 
        <Док Код ="3" Родитель="1"/> <Док Код ="4" Родитель="3"/> <Док Код ="2" Родитель="4"/> <Док Код ="1" Родитель="4"/>  | 
|||
| 
    67
    
        КусокЗабора    
     05.02.15 
            ✎
    11:23 
 | 
         
        (65) просто я писал и пишу не только на 1С и чувствую разницу     
         | 
|||
| 
    68
    
        igork1966    
     05.02.15 
            ✎
    11:24 
 | 
         
        (66) я по-моему ясно описал задачу:
 
        <Док Код ="1" Родитель=""/> <Док Код ="3" Родитель="1"/> <Док Код ="4" Родитель="3"/> <Док Код ="2" Родитель="4"/>  | 
|||
| 
    69
    
        КусокЗабора    
     05.02.15 
            ✎
    11:25 
 | 
         
        (68) да без проблем, 5 сек дай мне     
         | 
|||
| 
    70
    
        Asmody    
     05.02.15 
            ✎
    11:25 
 | 
         
        (36) и чё? на scala будет так: 
        (<Справочники> <Док Код ="3" Родитель="1"/> <Док Код ="2" Родитель="4"/> <Док Код ="1" Родитель="4"/> <Док Код ="4" Родитель="3"/> </Справочники>) \\ "Док" sortBy { n => (n \ "@Код").text.toInt }  | 
|||
| 
    71
    
        КусокЗабора    
     05.02.15 
            ✎
    11:25 
 | 
         
        взять тот же код
 
        var result = node.Elements().OrderBy(_ => _.TryGetAttributeValue("Родитель", "0").ToDecimal());  | 
|||
| 
    72
    
        igork1966    
     05.02.15 
            ✎
    11:27 
 | 
         
        (71) под каждый набор данных будешь новый код писать?
 
        В общем виде это не решит проблему  | 
|||
| 
    73
    
        КусокЗабора    
     05.02.15 
            ✎
    11:29 
 | 
         
        (72) что значит под каждый набор данных?     
         | 
|||
| 
    74
    
        igork1966    
     05.02.15 
            ✎
    11:29 
 | 
         
        (72) +
 
        <Док Код ="5" Родитель=""/> <Док Код ="3" Родитель="5"/> <Док Код ="4" Родитель="3"/> <Док Код ="1" Родитель="4"/>  | 
|||
| 
    75
    
        КусокЗабора    
     05.02.15 
            ✎
    11:30 
 | 
         
        (74) ты не очень понимаешь смысла кода (71) 
 
        т.к. он и (74) сортирует без проблемм  | 
|||
| 
    76
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:30 
 | 
         
        (61) какая разница как их выгружать в ТЗ? 
 
        даже если циклом, один раз прочитал его в тз и делай с ним что хочешь. хоть сортируй хоть сворачивай, хоть поиск строк. хоть в запрос в ВТ засунь. это будет явно более универсальный механизм чем (71)  | 
|||
| 
    77
    
        igork1966    
     05.02.15 
            ✎
    11:30 
 | 
         
        (73) Это означает что сортировка по родителю не даст результата на произвольном дереве.     
         | 
|||
| 
    78
    
        КусокЗабора    
     05.02.15 
            ✎
    11:31 
 | 
         
        (74) тебе нужно по коду в обратной последовательности?     
         | 
|||
| 
    79
    
        Asmody    
     05.02.15 
            ✎
    11:31 
 | 
         
        (75) Ты не понимаешь условия. В случае (74) никакая сортировка тебе не поможет     
         | 
|||
| 
    80
    
        igork1966    
     05.02.15 
            ✎
    11:31 
 | 
         
        (75) Похоже это ты не понимаешь что такое сортировка дерева с учетом иерархии.     
         | 
|||
| 
    81
    
        КусокЗабора    
     05.02.15 
            ✎
    11:34 
 | 
         
        (79) (80) так кто ж иерархию в xml в плоском виде представляемт, это ж XML. А если структура у нее будет древовидная то нет проблемм.
 
        Вы не понимаете сути, линком я могу сортировать ноды по значению атрибутов и отсюда можно отталкиваться и строить алгоритмы, в 1С нет такой возможности  | 
|||
| 
    82
    
        igork1966    
     05.02.15 
            ✎
    11:35 
 | 
         
        (81) Это называется передернуть карты. Поскольку у тебя в (0) вовсе не в иерархии xml хранится.     
         | 
|||
| 
    83
    
        igork1966    
     05.02.15 
            ✎
    11:36 
 | 
         
        Слив засчитан     
         | 
|||
| 
    84
    
        Asmody    
     05.02.15 
            ✎
    11:36 
 | 
         
        (81) " так кто ж иерархию в xml в плоском виде представляемт" — ты сам в (0)     
         | 
|||
| 
    85
    
        Asmody    
     05.02.15 
            ✎
    11:37 
 | 
         
        Кстати, ты подставился. Ибо разбор xml с учетом иерархии — та еще задачка.     
         | 
|||
| 
    86
    
        КусокЗабора    
     05.02.15 
            ✎
    11:39 
 | 
         
        (84) тогда я точно не понимаю какую сортировку от меня хочет увидить igork1966 т.к. в моем примере я могу сортировать как по коду, так и по родитель, да хоть по коду и родителю одновременно, эт раз. Два я пришел сюда с определенной задачей, а вы накрутили каких-то еще задач какие я решать и не соберался     
         | 
|||
| 
    87
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:39 
 | 
         
        (81) как то сам с собой не в ладах тс походу     
         | 
|||
| 
    88
    
        КусокЗабора    
     05.02.15 
            ✎
    11:40 
 | 
         
        (82) в моей xml задача явно описана была, перечитай     
         | 
|||
| 
    89
    
        mehfk    
     05.02.15 
            ✎
    11:41 
 | 
||||
| 
    90
    
        igork1966    
     05.02.15 
            ✎
    11:42 
 | 
         
        (86) Сортировка дерева с учетом иерархии достаточно не тривиальная задачи и без циклов принципиально не решается.
 
        При правильной сортировке по иерархии родители всегда раньше детей встречаются в наборе. Независимо от полей id и parentid  | 
|||
| 
    91
    
        КусокЗабора    
     05.02.15 
            ✎
    11:42 
 | 
         
        сухой остаток, в 1С нет возможности сортировтаь ноды по атрибуту - вывод 1С шняга. А вся остальная демагогия это вопли 1Сников, т.к. на их хлеб нагадели     
         | 
|||
| 
    92
    
        КусокЗабора    
     05.02.15 
            ✎
    11:44 
 | 
         
        (90) кто вообще говорил про сортировку с учетом иерархии? почему мы обсуждаем это? 
 
        Ну давайте тогда за одно обсудим проблемы адресации памети, или кто убил Кнеди, а что, все равно с каким вопросом пришли в (0) будем обсуждать всче что захотим  | 
|||
| 
    93
    
        Новенький_2009    
     05.02.15 
            ✎
    11:44 
 | 
         
        Кажется, пора товарищу красную карточку выписывать.     
         | 
|||
| 
    94
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:45 
 | 
         
        (91) win     
         | 
|||
| 
    95
    
        igork1966    
     05.02.15 
            ✎
    11:46 
 | 
         
        (92) Это ясно было из твоего XML
 
        Просто никто не будет решать задачу (0) ради 3 строк как в (0) НА произвольных данных твой алгоритм провалится  | 
|||
| 
    96
    
        Бубка Гоп    
     05.02.15 
            ✎
    11:46 
 | 
         
        если тебе этого НАСТОЛЬКО не хватает, а реализовать это по другому не позволяет религия или уровень интеллекта, то вероятно 1с и правда не для тебя     
         | 
|||
| 
    97
    
        Asmody    
     05.02.15 
            ✎
    11:48 
 | 
         
        (91) А в c# нет возможности делать отчеты на СКД. Всё, c# — голимый отстой!     
         | 
|||
| 
    98
    
        КусокЗабора    
     05.02.15 
            ✎
    11:48 
 | 
         
        (93) на основе чего?     
         | 
|||
| 
    99
    
        Asmody    
     05.02.15 
            ✎
    11:48 
 | 
         
        (98) Был бы человек, а статья найдётся.     
         | 
|||
| 
    100
    
        mehfk    
     05.02.15 
            ✎
    11:49 
 | 
         
        (100)     
         | 
|||
| 
    101
    
        КусокЗабора    
     05.02.15 
            ✎
    11:50 
 | 
         
        (97) сказал человек который не имеет не молейшего представления о c#, да там не СКД, но не чуть не хуже, а в некоторых случаях и лучше     
         | 
|||
| 
    102
    
        Escander    
     05.02.15 
            ✎
    11:52 
 | 
         
        (101) что именно там сравнимо с СКД по встроенному функционалу?     
         | 
|||
| 
    103
    
        КусокЗабора    
     05.02.15 
            ✎
    11:52 
 | 
         
        (95) ну дай мне эти произвольные данные, поставь задачу, которая не решится линком.
 
        не просто косок хмельки (74) и фиг знает какой ты ожидаешь результат, а с описанием, какую последовательность ты ошидаешь.  | 
|||
| 
    104
    
        КусокЗабора    
     05.02.15 
            ✎
    11:54 
 | 
         
        (102) любите вы 1Сники все готовое юзать, вам дай механизм мы мышкой покликаем готово - ура я программист )).
 
        c# + wpf = офигительные отчеты, с диаграммами, графиками и с чем хочешь  | 
|||
| 
    105
    
        igork1966    
     05.02.15 
            ✎
    11:54 
 | 
         
        (103) Примеры тебе бесполезно писать. Ты принципиально не понимаешь что такое сортировка деревьев. И решаешь частную задачу на конкретные данные.     
         | 
|||
| 
    106
    
        mehfk    
     05.02.15 
            ✎
    11:56 
 | 
         
        (103) Эпичненько. Сам забыл что хотел?     
         | 
|||
| 
    107
    
        КусокЗабора    
     05.02.15 
            ✎
    11:56 
 | 
         
        (105) ну если ты пишешь о том что мой пример кода не решает общие задачи, что так трудно запросить у меня эту общую задачу? Видимо да трудно, ее ж еще придумать нужно     
         | 
|||
| 
    108
    
        Escander    
     05.02.15 
            ✎
    11:56 
 | 
         
        (104) вам вообще доводилось писать отчёты на СКД? Там только мышкой? Там нет диаграмм/графиков? Вы вообще имеете хоть какую-то компетенцию о вещах о которых тут берётесь судить?     
         | 
|||
| 
    109
    
        КусокЗабора    
     05.02.15 
            ✎
    11:56 
 | 
         
        (106) то что я хотел, я пример привел (36) или ты считаешь что поставленая задача в (0) не решится так?     
         | 
|||
| 
    110
    
        КусокЗабора    
     05.02.15 
            ✎
    11:58 
 | 
         
        (108) а я писал что в СКД нет диаграмм? Почему вы делаете выводы не известно из чего? Я писал что на C# они есть. И да в СКД 90% работа с UI, а не программирование, даже 98% только не в не тривиальных задачах приходится лесть в код     
         | 
|||
| 
    111
    
        mehfk    
     05.02.15 
            ✎
    12:00 
 | 
         
        (109) Тогда ждем как твое решение отработает на (74)     
         | 
|||
| 
    112
    
        Бубка Гоп    
     05.02.15 
            ✎
    12:03 
 | 
         
        (104) ты постоянно сам себе противоречишь     
         | 
|||
| 
    113
    
        КусокЗабора    
     05.02.15 
            ✎
    12:07 
 | 
         
        (111) вот как задачу поставят так сделаю, я сейчас могу отсортировать по коду в обратной последовательности и это будет ровно то что (74), но это же вас не устроет, либо дайте xml где больше подчененых элементов и я сделаю     
         | 
|||
| 
    114
    
        КусокЗабора    
     05.02.15 
            ✎
    12:07 
 | 
         
        (112)например?     
         | 
|||
| 
    115
    
        igork1966    
     05.02.15 
            ✎
    12:08 
 | 
         
        Есть таблица в которой хранятся иерархические данные, без зацикливаний
 
        ID - идентификатор Parent_ID - ссылка на родителя Нужно отсортировать коллекцию чтобы родительские элементы всегда были раньше в коллекции чем дочки. PS. Без циклов или хранения(вычисления) доп.информации такая задача не решается. PS2. Уж не говорю про случай когда еще внутри подчиненности нужно сортировать по другим атрибутам.  | 
|||
| 
    116
    
        igork1966    
     05.02.15 
            ✎
    12:08 
 | 
         
        (115) + вот тебе в общем виде задача     
         | 
|||
| 
    117
    
        igork1966    
     05.02.15 
            ✎
    12:12 
 | 
         
        (115) + Можешь считать что ID это Код а Parent_ID код вышестоящего. При условии что коды уникальны.     
         | 
|||
| 
    118
    
        mehfk    
     05.02.15 
            ✎
    12:12 
 | 
         
        (113) Задача в (0), а набор данных взять в (74)     
         | 
|||
| 
    119
    
        Бубка Гоп    
     05.02.15 
            ✎
    12:13 
 | 
         
        (114) то ты не хочешь написать лишние 2 строчки кода, ибо тебе нужно воспользоваться 1 функцией, встроенной в решение, которая сама сделает хорошо. то наоборот, одинесники лузеры не могут накодить, пользуются встроенным реешением и пишут отчеты мышкой (про скд)     
         | 
|||
| 
    120
    
        Escander    
     05.02.15 
            ✎
    12:15 
 | 
         
        (110) когда вы расхваливаете свой вариант то почему-то ссылаетесь на отчёты с графиками и диаграммами, если вы знаете что таковые в СКД есть то какой смысл хвалиться тем что есть везде?     
         | 
|||
| 
    121
    
        КусокЗабора    
     05.02.15 
            ✎
    12:16 
 | 
         
        (118) ну ты тугой батя, решение задачи в (0) уже выкладывалось, если ты считаешь что выложеный код не подходит для моей же задачи (0) прошу написать почему не подходит     
         | 
|||
| 
    122
    
        КусокЗабора    
     05.02.15 
            ✎
    12:17 
 | 
         
        (120) потому что тот кто упоминул СКД выставил это как уникальность 1С и сослался на то что на c# такого нет     
         | 
|||
| 
    123
    
        Escander    
     05.02.15 
            ✎
    12:18 
 | 
         
        (121) переход на личности детектед... так делают поцы когда обосновать больше нечем.     
         | 
|||
| 
    124
    
        Escander    
     05.02.15 
            ✎
    12:18 
 | 
         
        (122) а что в с-шарпе есть СКД?     
         | 
|||
| 
    125
    
        mehfk    
     05.02.15 
            ✎
    12:20 
 | 
         
        (121) Продолжай в том же духе, жги.     
         | 
|||
| 
    126
    
        КусокЗабора    
     05.02.15 
            ✎
    12:20 
 | 
         
        (115) не ленись накидай пример исходной xml и желательно что бы в подчинении было больше одного элемента, я могу накидать, но ты ж задачу ставишь     
         | 
|||
| 
    127
    
        igork1966    
     05.02.15 
            ✎
    12:21 
 | 
         
        (121) Потому что так
 
        <Док Код ="5" Родитель=""/> <Док Код ="1" Родитель="4"/> <Док Код ="4" Родитель="3"/> !!!!!!!!!!!!! <Док Код ="3" Родитель="5"/> и так: <Док Код ="1" Родитель="4"/> !!!!!! <Док Код ="3" Родитель="5"/> !!!!!! <Док Код ="4" Родитель="3"/> <Док Код ="5" Родитель=""/> последовательность неправильная  | 
|||
| 
    128
    
        КусокЗабора    
     05.02.15 
            ✎
    12:21 
 | 
         
        (125)
 
        для тех кто на ручнике "прошу написать почему не подходит"  | 
|||
| 
    129
    
        mehfk    
     05.02.15 
            ✎
    12:22 
 | 
         
        Для танкистов (127)     
         | 
|||
| 
    130
    
        igork1966    
     05.02.15 
            ✎
    12:22 
 | 
         
        (126) можешь использовать любую из (127)
 
        (128) ----> (127)  | 
|||
| 
    131
    
        КусокЗабора    
     05.02.15 
            ✎
    12:23 
 | 
         
        (127) а откуда у тебя получилось такая последовательность?
 
        <Док Код ="5" Родитель=""/> <Док Код ="1" Родитель="4"/> <Док Код ="4" Родитель="3"/> !!!!!!!!!!!!! <Док Код ="3" Родитель="5"/>  | 
|||
| 
    132
    
        Asmody    
     05.02.15 
            ✎
    12:23 
 | 
         
        (124) Чувак осилил целых полкнижки по c#, теперь "типа крутой программист"     
         | 
|||
| 
    133
    
        КусокЗабора    
     05.02.15 
            ✎
    12:23 
 | 
         
        (130) "и желательно что бы в подчинении было больше одного элемента"     
         | 
|||
| 
    134
    
        КусокЗабора    
     05.02.15 
            ✎
    12:23 
 | 
         
        (132) ага, и пару лет кодинга     
         | 
|||
| 
    135
    
        КусокЗабора    
     05.02.15 
            ✎
    12:24 
 | 
         
        (131) + 
 
        мой код не вернет такой последовательности  | 
|||
| 
    136
    
        igork1966    
     05.02.15 
            ✎
    12:25 
 | 
         
        (133) ну в первом ошибся чуток, вот по родителю отсортированно
 
        <Док Код ="5" Родитель=""/> <Док Код ="4" Родитель="3"/> !!!!!!!!!!!!! <Док Код ="1" Родитель="4"/> <Док Код ="3" Родитель="5"/>  | 
|||
| 
    137
    
        КусокЗабора    
     05.02.15 
            ✎
    12:26 
 | 
         
        (130) если я возму пример из (127) как есть я отсортирую по коду и родителю и получу то что ты хочешь, но это опять же тебя не устроет, по этому я и прошу что бы было несколько подчиненых     
         | 
|||
| 
    138
    
        КусокЗабора    
     05.02.15 
            ✎
    12:26 
 | 
         
        (136) -> (137)     
         | 
|||
| 
    139
    
        Escander    
     05.02.15 
            ✎
    12:28 
 | 
         
        (134) а гонору как бу-то нас посетил как минимум Тьюринг или фон Нейман или Кнут.     
         | 
|||
| 
    140
    
        КусокЗабора    
     05.02.15 
            ✎
    12:31 
 | 
         
        (139) так потому что я знаю что с данной задачей c# в легкую справится, а вы спорите не зная c#     
         | 
|||
| 
    141
    
        Asmody    
     05.02.15 
            ✎
    12:31 
 | 
         
        (137) Ну нарисуй на c# код, который из xml в (136) вернет "типа" дерево, ну хотя бы на списках.     
         | 
|||
| 
    142
    
        igork1966    
     05.02.15 
            ✎
    12:32 
 | 
         
        (137) Я чего, тебе генератор последовательностей....?
 
        Люди умнее нас с тобой занимались алгоритмами сортировки дерева, и простого решения не нашли. и заранее говорю, сортировка по коду + родителю тебе не поможет <Док Код ="2" Родитель="5"/> <Док Код ="3" Родитель="5"/> <Док Код ="7" Родитель="5"/> <Док Код ="5" Родитель=""/> <Док Код ="8" Родитель="1"/> <Док Код ="4" Родитель="3"/> <Док Код ="1" Родитель="4"/> а результат правильный: <Док Код ="5" Родитель=""/> <Док Код ="2" Родитель="5"/> <Док Код ="3" Родитель="5"/> <Док Код ="7" Родитель="5"/> <Док Код ="4" Родитель="3"/> <Док Код ="1" Родитель="4"/> <Док Код ="8" Родитель="1"/>  | 
|||
| 
    143
    
        Escander    
     05.02.15 
            ✎
    12:32 
 | 
         
        (140) реши простенькую задачу которую тут тебе привели и посмотрим чего вообще стоят твои 2 года кодинга     
         | 
|||
| 
    144
    
        Escander    
     05.02.15 
            ✎
    12:35 
 | 
         
        (140) > а вы спорите не зная c#
 
        Очень смелое утверждение того, кто вообще ничего не знает о навыках/знаниях/умениях оппонента. Вам 20 лет хотя-бы есть?  | 
|||
| 
    145
    
        igork1966    
     05.02.15 
            ✎
    12:37 
 | 
         
        (140) Ну я писал на C# + linq немного, и че?
 
        Поэтому и удивляюсь твоей крутизне... рассуждать о том, что не знаешь.  | 
|||
| 
    146
    
        Бубка Гоп    
     05.02.15 
            ✎
    12:39 
 | 
         
        (140) то есть мысли что тут кто то может знать с# получше, тебя не посещает?     
         | 
|||
| 
    147
    
        Asmody    
     05.02.15 
            ✎
    12:49 
 | 
         
        Тсс! Товарищ пошёл изучать, как представляются разные структуры данных.     
         | 
|||
| 
    148
    
        КусокЗабора    
     05.02.15 
            ✎
    15:03 
 | 
         
        (147) я вообщет работаю еще, не могу чидеть тут всегда и развлекать вас. 
 
        (145) по твоей задаче, сделал, но согласен без доп переменных и временых колекций не обошлось, по этому результат не выкладываю (но если вам интересно выложу). Но я ж негде не обещал что я сделаю одной строкой кода или без использования доп. переменных. К тому же повторюсь спецом для упертых, изначально задачи которую мне поставил igork1966 у меня не было, это уже тут накрутили типа "а ну рескни"  | 
|||
| 
    149
    
        Serginio1    
     05.02.15 
            ✎
    15:03 
 | 
         
        (0) Никто тебе не мешает использовать C# в 1С
 
        v8: v8: Использование сборок .NET в 1С 7.x и 8.x Что касается иерархии, то её изначально нужно выводить данные иерархически, разворачивая по группам. Но иногда и этого бывает недостаточно. Например есть реквизит справочника, который является элементов подчиненного справочника. Тогда приходится запоминать такие элементы и заного записывать. А тебе нужна сортировка по "Родитель,Код". И рекурсивный обход по дочерним элементам.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |