Имя: Пароль:
1C
1С v8
запрос
0 Aleksei_Pro
 
17.07.11
17:58
"ВЫБРАТЬ
    |    ТребованиеНакладная.Ссылка,
    |    ТребованиеНакладная.Склад,
    |    ТребованиеНакладная.Организация,
    |    ""ТребованиеНакладная"" КАК ВидДокумента
    |ИЗ
    |    Документ.ТребованиеНакладная КАК ТребованиеНакладная
    |ГДЕ
    |    ТребованиеНакладная.Дата МЕЖДУ &НачДата И &Кондата
    |    И ТребованиеНакладная.Организация = &Организация
    |    И ТребованиеНакладная.Склад = &Склад
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВидДокумента
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Ссылка,
    |    РеализацияТоваровУслуг.Склад,
    |    РеализацияТоваровУслуг.Организация,
    |    ""РеализацияТоваровУслуг"" КАК ВидДокумента
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Дата МЕЖДУ &НачДата И &КонДата
    |    И РеализацияТоваровУслуг.Склад = &Склад
    |    И РеализацияТоваровУслуг.Организация = &Организация
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВидДокумента";

Как мне объединить эти запросы , мне нужно отобрать 2 вида документа!
1 Нуф-Нуф
 
17.07.11
17:59
объединение? не?
2 Aleksei_Pro
 
17.07.11
18:06
(1) именно
3 Aleksei_Pro
 
17.07.11
18:10
А вот такой вопрос, создал дерево значений на форме, как мне выводить по документам?
   запрос = новый Запрос;
   Запрос.УстановитьПараметр("Организация", Организация);
   запрос.УстановитьПараметр("Склад",Склад);
   Запрос.УстановитьПараметр("НачДата" ,НачалоДня(НачПериода));
   Запрос.УстановитьПараметр("КонДата" ,КонецДня(КонПериода));
   Запрос.Текст  =
    "ВЫБРАТЬ
    |    ТребованиеНакладная.Ссылка КАК Ссылка,
    |    ТребованиеНакладная.Склад,
    |    ТребованиеНакладная.Организация,
    |    ""ТребованиеНакладная"" КАК ВидДокумента
    |ИЗ
    |    Документ.ТребованиеНакладная КАК ТребованиеНакладная
    |ГДЕ
    |    ТребованиеНакладная.Дата МЕЖДУ &НачДата И &Кондата
    |    И ТребованиеНакладная.Организация = &Организация
    |    И ТребованиеНакладная.Склад = &Склад
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Ссылка,
    |    РеализацияТоваровУслуг.Склад,
    |    РеализацияТоваровУслуг.Организация,
    |    ""РеализацияТоваровУслуг""
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Дата МЕЖДУ &НачДата И &КонДата
    |    И РеализацияТоваровУслуг.Склад = &Склад
    |    И РеализацияТоваровУслуг.Организация = &Организация
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВидДокумента,
    |    Ссылка";
   
   Рез = Запрос.Выполнить();

   СтруктураУзла = Новый ДеревоЗначений;
   СтруктураУзла.Колонки.Добавить("ВидДокумента");
   СтруктураУзла.Колонки.Добавить("Ссылка");
   ЭтаФорма.Древо = СтруктураУзла;
   ЭлементыФормы.Древо.СоздатьКолонки();
   
   Результат = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока Результат.Следующий() цикл
       СтрокаДрева1 = Древо.Строки.Добавить();
       СтрокаДрева1.ВидДокумента    = Результат.ВидДокумента;
       СтрокаДрева1.Ссылка          = Результат.Ссылка;
   Конеццикла;
   
   Если ЭтаФорма.Древо.Строки.Количество() > 0 Тогда
       ЭтаФорма.ЭлементыФормы.Древо.Развернуть(ЭтаФорма.Древо.Строки[0],Ложь);
   КонецЕсли;
4 Aleksei_Pro
 
17.07.11
18:56
(3) я разобрался, вот только не пойму, почему когда создаю колонки дерева значения так, работает хорошо:
   СтруктураУзла = Новый ДеревоЗначений;
   СтруктураУзла.Колонки.Добавить("ВидДокумента",,"Вид документа");
   СтруктураУзла.Колонки.Добавить("Ссылка",,"Документ");
   СтруктураУзла.Колонки.Добавить("Отметка");    
   ЭтаФорма.Древо = СтруктураУзла;
   ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
А когда колонки создаю на форме самой, и убираю этот код, иерархии нет и выводит не все?

Вот код весь, после создания:
   Результат = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока Результат.Следующий() цикл
       СтрокаДрева1 = Древо.Строки.Добавить();
       СтрокаДрева1.ВидДокумента    = Результат.ВидДокумента;
       СтрокаДрева1.Ссылка = "";
       СтрокаДрева1.Отметка = истина;
       Результат1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
       Пока Результат1.Следующий() цикл
           СтрокаДрева2 = СтрокаДрева1.Строки.Добавить();
           СтрокаДрева2.Ссылка          = Результат1.Ссылка;
           СтрокаДрева2.Отметка = истина;
       КонецЦикла;
   Конеццикла;
   
   Если ЭтаФорма.Древо.Строки.Количество() > 0 Тогда
       ЭтаФорма.ЭлементыФормы.ТабличноеПоле1.Развернуть(ЭтаФорма.Древо.Строки[0],Ложь);
   КонецЕсли;
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.