|   |   | 
| 
 | Получаю на сервере таблицу значений. Как сформировать из ТЗ ДеревоЗначений? | ☑ | ||
|---|---|---|---|---|
| 0
    
        altaykniga 13.10.16✎ 08:59 | 
        Доброго дня, умные люди. Прошу вашей помощи. Ни разу не приходилось с деревом значений работать. Задача такая:
 Программно получаю на сервере ТаблицуЗначений. Потом эту ТЗ нужно отобразить на форме как дерево значений (с возможностью ввода/изменения колонки "количество") Что сделал: 1. создал внешнюю обработку. На форму добавил реквизит ДеревоЗначений с колонками Номенклатура,ЕдиницаИзмерения, Количество, Родитель. 2. получил на сервере нужную ТЗ. вот скрин: https://yadi.sk/i/xKd-_p_Ewk6oU вопрос: как заполнить реквизит формы ДеревоЗначений данными из этой ТЗ? | |||
| 1
    
        aleks_default 13.10.16✎ 09:00 | 
        запросом, например     | |||
| 2
    
        altaykniga 13.10.16✎ 09:05 | 
        (1) можете подсказать текст запроса? И как потом результат запроса передать в дерево значений на форму?     | |||
| 3
    
        Ifkerri 13.10.16✎ 09:10 | 
        Дерево = РеквизитФормыВЗначение("ТвоеДерево");
 Дерево.Строки.Очистить(); Дерево = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); ЗначениеВРеквизитФормы(Дерево, "ТвоеДерево"); | |||
| 4
    
        Ifkerri 13.10.16✎ 09:10 | 
        (3) имена колонок и полей в запросе должны совпадать     | |||
| 5
    
        Ifkerri 13.10.16✎ 09:11 | 
        в самом запросе итоги херачишь и все)     | |||
| 6
    
        altaykniga 13.10.16✎ 09:15 | 
        (5) как будет выглядеть текст запроса применительно к моей ТЗ (скрин в (0))?     | |||
| 7
    
        aleks_default 13.10.16✎ 09:24 | 
        может нам и зарплату за тебя получить?     | |||
| 8
    
        Ifkerri 13.10.16✎ 09:25 | 
        (6) а я хз:) как я те по таблице текст запроса скажу)))     | |||
| 9
    
        Ifkerri 13.10.16✎ 09:25 | 
        (8) если есть готовая тз то можно просто конвертнуть ее в дерево, для любителей винтажа так сказать     | |||
| 10
    
        Ifkerri 13.10.16✎ 09:28 | 
        ПЗ = Новый ПостроительЗапроса;
 ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаДляОтправки.Выгрузить()); ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять; ПЗ.ИсточникДанных.Колонки["ЗаказКлиента"].Измерение = Истина; ПЗ.ЗаполнитьНастройки(); ПЗ.Выполнить(); Дерево = ПЗ.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); | |||
| 11
    
        Ifkerri 13.10.16✎ 09:28 | 
        усе просто     | |||
| 12
    
        Тындр 13.10.16✎ 09:39 | 
        Во времена 77 и 8.0 нельзя было запросом выбрать ТЗ. Приходилось извращаться. А в 77 вообще чтобы сделать дерево приходилось делать таблицы значений, в строках которых были таблицы значений. Вот это было круто. Вот были времена     | |||
| 13
    
        novichok79 13.10.16✎ 09:43 | 
        (10) +100500 - самый правильный ответ     | |||
| 14
    
        newbling 13.10.16✎ 09:44 | 
        (6) Можешь подгрузить её как временную таблицу и по ней уже что хочешь делать. Хоть в дерево, хоть в лес.     | |||
| 15
    
        altaykniga 13.10.16✎ 10:11 | 
        товарищи, дерево значений на форму передаваться стало! Ура! НО передается не то, что надо )) 
 неправильный текст запроса? вот код: 
 | |||
| 16
    
        altaykniga 13.10.16✎ 10:22 | 
        (15) ну гляньте скрин ТаблицыЗначений... может там данных не хватает для вывода в ДеревоЗначений?     | |||
| 17
    
        Жан Пердежон 13.10.16✎ 10:37 | 
        (16) может за тебя еще сделать? из запроса не всякое дерево получить можно.     | |||
| 18
    
        altaykniga 13.10.16✎ 13:07 | 
        (16) не надо за меня делать. Я не могу понять сам принцип формирования дерева... Какие поля должны быть в запросе, чтобы корректно выгрузить данные в дерево значений     | |||
| 19
    
        SergTheGreat 13.10.16✎ 14:38 | 
        (0) Может с др. конца к задаче подойти: в том месте, где первоначально ТЗ создается, сразу Дерево создавать?     | |||
| 20
    
        altaykniga 13.10.16✎ 15:22 | 
        (19) ТЗ создается в общем типовом модуле с помощью процедуры "УправлениеНебольшойФирмойСервер.Разузлование(СтруктураСостава, ТаблицаСостава, ТаблицаОпераций);"
 ТЗ получается в том виде, скриншот которого приведен в (0). Помогите разобраться, какие данные нужно довнести в ТЗ, чтобы можно было сформировать деревоЗначений? | |||
| 21
    
        Ёпрст гуру 13.10.16✎ 15:26 | 
        (20) да ё.. сделай итоги по узлу и номенклатуре, наслаждайся     | |||
| 22
    
        Жан Пердежон 13.10.16✎ 15:27 | 
        (20) ппц, сколько можно уже.
 разберись сначала, чем дерево от ТЗ отличается. | |||
| 23
    
        shpioleg 13.10.16✎ 15:29 | 
        Пробуй запрос по справочнику Номенклатура  и соединяй со своей ТЗ. И ОбходРезультата по Группировкам с иерархией.     | |||
| 24
    
        altaykniga 13.10.16✎ 15:35 | 
        (23) это вариант не подходит, т.к. мне нужно вывести дерево спецификаций, т.е. состава изделия.     | |||
| 25
    
        shpioleg 13.10.16✎ 15:58 | 
        (24) Можешь на основе своей ТЗ сформировать Дерево как тебе нужно и засунуть в реквизит формы.
 Т.е. 1. Создаешь Новый ДеревоЗначений и нужные колонки. 2. Пробегаешь по своей ТЗ и заполняешь дерево значений как тебе нужно. Дерево(или Родитель).Строки.Добавить(); 3. Конвертишь ДеревоЗначений в реквизит формы ДанныеФормы Дерево 4. И наконец!, мучаешь дерево на клиенте :) | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |