Имя: Пароль:
1C
1С v8
Запрос в дерево значений
0 Начинающий_13
 
13.09.11
11:15
Здравствуйте
Помогите передать значения запроса в дерево значение
Разместил в обработке поле ДЗ (ДеревоЗначений)
Хочу передать значения запроса в ДЗ в виде дерева

Если можно дайте ссылочку где можно почитать при обоработки (передача возврат значений и т.д.) по возможности с примером многое не допонимаю
   
   Перем Код,ТМЦ;
   Перем СтруктураПараметров;

   
   СтандартнаяОбработка = Ложь;
       
   СтандартнаяОбработка = Ложь;
   
   ТМЦ                   = ВыбраннаяСтрока.Наименование;
   Код                   = ВыбраннаяСтрока.Код;
   
   
   ИмяФормыВводаПараметров  = "ПодборПартии";
   ФормаВводПараметров = Обработки.ПодборПартии.ПолучитьФорму(ИмяФормыВводаПараметров, ЭтаФорма);
   
   ФормаВводПараметров.Заголовок              = Врег(ТМЦ);
   ФормаВводПараметров.тхтКод                 = Код;
   ФормаВводПараметров.тхтТМЦ                 = ТМЦ;
   //------------------------------------------------------------------------
   СтрокаПодбора = ЭлементыФормы.тпПодбор.ТекущиеДанные.Ссылка;
   
   Запрос = Новый
   Запрос("ВЫБРАТЬ
          |    РН_Остатки.МХ,
          |    РН_Остатки.ТМЦ,
          |    РН_Остатки.Партия,
          |    РН_Остатки.Характеристика КАК Характеристика,
          |    МАКСИМУМ(ЕСТЬNULL(РН_Остатки.КоличествоОстаток, 0)) КАК КоличествоОстаток,
          |    МАКСИМУМ(ЕСТЬNULL(РН_Остатки.СуммаОстаток, 0)) КАК СуммаОстаток,
          |    РС_ЗакупочныеДанные.Контрагент КАК Контрагент,
          |    РС_ЗакупочныеДанные.Цена1го КАК Цена1гоОстаток,
          |    РС_ЗакупочныеДанные.Цена КАК ЦенаОстаток
          |ИЗ
          |    РегистрНакопления.РН_Остатки.Остатки(&Дата, ТМЦ = &ТМЦ) КАК РН_Остатки
          |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РС_ЗакупочниеДанные.СрезПоследних(, ) КАК РС_ЗакупочныеДанные
          |        ПО РН_Остатки.ТМЦ = РС_ЗакупочныеДанные.ТМЦ
          |            И РН_Остатки.Партия = РС_ЗакупочныеДанные.Партия
          |            И РН_Остатки.Характеристика = РС_ЗакупочныеДанные.Характеристика
          |ГДЕ
          |    РН_Остатки.МХ = &МХ
          |
          |СГРУППИРОВАТЬ ПО
          |    РС_ЗакупочныеДанные.Контрагент,
          |    РН_Остатки.МХ,
          |    РН_Остатки.ТМЦ,
          |    РН_Остатки.Партия,
          |    РН_Остатки.Характеристика,
          |    РС_ЗакупочныеДанные.Цена1го,
          |    РС_ЗакупочныеДанные.Цена
          |ИТОГИ
          |    СУММА(КоличествоОстаток),
          |    СУММА(СуммаОстаток)
          |ПО
          |    Характеристика ИЕРАРХИЯ");
   
   Запрос.УстановитьПараметр("Дата",КонецДня(Дата) );
   Запрос.УстановитьПараметр("ТМЦ",СтрокаПодбора );
   Запрос.УстановитьПараметр("МХ",МХ );

   
   Выборка = Запрос.Выполнить().Выбрать();
   //------------------------------------------------------------------------
   //Пока Выборка.Следующий() Цикл
       // Здесь все нормально идет    
   //    Стр=ФормаВводПараметров.Партии.Добавить();
   //    Стр.Контрагент       = Выборка.Контрагент;
       
   //КонецЦикла;

       ФормаВводПараметров.ДЗ.Значение =         Выборка.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
   ФормаВводПараметров.ДЗ.СоздатьКолонки();
   
           
   СтруктураПараметров = ФормаВводПараметров.ОткрытьМодально();
1 Axel2009
 
13.09.11
11:32
а в чем проблема?
2 Начинающий_13
 
13.09.11
11:33
Поле объект не обнаружено (Значение)
3 salvator
 
13.09.11
11:39
Результат = Запрос.Выполнить();      
ДЗ = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ЭлементыФормы.ДЗ.СоздатьКолонки();
4 Начинающий_13
 
13.09.11
11:45
Выходит
{Документ.Оборудование_Перемещение.Форма.ФормаДокумента.Форма(125)}: Метод объекта не обнаружен (СоздатьКолонки)
ФормаВводПараметров.ДЗ.СоздатьКолонки();
5 Axel2009
 
13.09.11
11:48
ну нет такого элемента управления.
6 Axel2009
 
13.09.11
11:48
точнее не деревозначений он
7 Начинающий_13
 
13.09.11
11:51
КАК нет?
Имя          ДЗ
Тип значения ДеревоЗначений (колонок в нем не делал)
8 Axel2009
 
13.09.11
11:51
где? на форме или реквизит обработки?
9 Maxus43
 
13.09.11
11:51
ФормаВводПараметров.ДЗ - это не эелементы формы, не открыта она ещё. Сделай сначала в самой обработке это, потом поймёш почему не выводит когда ПолучитьФорму делаег
10 Начинающий_13
 
13.09.11
11:52
Использование
Дерево Флаг Истина
11 Начинающий_13
 
13.09.11
11:58
Что то не понял? что сделать в обработке
12 Axel2009
 
13.09.11
11:59
для тех кто в танке.
в обработке ПодборПартии у формы "ПодборПартии"
нет элемента управления ДЗ с типом значения ДеревоЗначений.
13 Maxus43
 
13.09.11
12:00
СоздатьКолонки() Применим только к Элементу Управления. Это на форме, на открытой. У тебя нет элемента управления, ты получаеш форму, а открываеш потом
14 Axel2009
 
13.09.11
12:00
(13) можно вообще к не открытой и при этом созданной форме..
15 Начинающий_13
 
13.09.11
12:05
Я смысл понял, а как сделать тогда
16 Начинающий_13
 
13.09.11
12:05
Вот о чем я писал что почитать бы где нибудь а ничего толкового не попадалсь
17 Axel2009
 
13.09.11
12:06
начать с азов. там пишут что такое элементы управления и где они находятся.
18 Начинающий_13
 
13.09.11
12:09
Элементы упралвения есть в обработке партии
Форма вставить элементы управления табличное поле Ммя ДЗ тип значения ДеревоЗначений
19 Maxus43
 
13.09.11
12:12
(18) пока форма не открыта (создана) нет элементов управления
20 Начинающий_13
 
13.09.11
12:15
Я это понял . Что правльно будет открыть форму обоработки ,а  затем азгрузить . Я загрузил в табличное поле , я затмем выгрузил в ДеревоЗначений. Хочется без лишних элементов
21 Axel2009
 
13.09.11
12:15
(19) еще раз. форма создана когда вызвано "ПОлучитьФорму" и все элементы управления уже на ней есть.
22 Начинающий_13
 
13.09.11
12:18
Или по другому нельзя в таких ситуациях . Что сделать применительно к данному алгоритму
23 Axel2009
 
13.09.11
12:19
пригласить специалиста
24 hhhh
 
13.09.11
12:20
(22) ну выкинь

ФормаВводПараметров.ДЗ.СоздатьКолонки();

это по-любому бред, попробуй

ФормаВводПараметров.ЭлементыФормы.ДЗ.СоздатьКолонки();
25 Начинающий_13
 
13.09.11
12:28
Пока оставлю через таб.поле буду думать.
Спасибо за разъяснения
26 Axel2009
 
13.09.11
12:30
(25) кстати (24) прав. надо обращаться к элементамформы
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.