Имя: Пароль:
1C
1С v8
запрос
0 Учусь еще
 
30.04.12
14:26
подскажите пож-та, есть запрос

Запрос = Новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ
                     |    ЗаказПокупателя.Дата,
                     |    ЗаказПокупателя.Контрагент,
                     |    ЗаказПокупателя.ИтоговаяСумма
                     |ИЗ
                     |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
                     |ГДЕ
                     |    ЗаказПокупателя.Дата >= &НачПериод
                     |    И ЗаказПокупателя.Дата <= &КонПериод
                     |
                     |СГРУППИРОВАТЬ ПО
                     |    ЗаказПокупателя.Контрагент,
                     |    ЗаказПокупателя.Дата,
                     |    ЗаказПокупателя.ИтоговаяСумма";
       Запрос.УстановитьПараметр("НачПериод",НачалоМесяца(НачПериод));
       Запрос.УстановитьПараметр("КонПериод",КонецМесяца(КонПериод));
      Результат = Запрос.Выполнить().Выгрузить();
      ЭлементыФормы.ТабличноеПоле1.Значение=Результат;
      ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
на данный момент он выводит даты в одной колонке, а мне нужно чтобы в зависимости от заданного периода, например, месяца он каждый день выводил в новой колонке, подскажите как это можно реализовать???
1 sanja26
 
30.04.12
14:29
именно в табличное поле надо?
Делай на скд - по столбцам день
2 Учусь еще
 
30.04.12
14:36
скд же можно только в отчете делать, а у меня это в доке
3 moshefoo
 
30.04.12
14:38
в чем суть вопроса?
4 sanja26
 
30.04.12
14:41
и что за табличное поле получится с множеством пустых колонок...
5 URAL
 
30.04.12
14:41
(2) я в доке делаю, посмотри в книжке Хрусталевой есть пример как вывести макет используя СКД, а Вам нужно сам макет СКД использовать
6 Учусь еще
 
30.04.12
14:42
(4)нужно только те выводить которые не пустые...
7 moshefoo
 
30.04.12
14:44
проверку на null сдеалайте в условии /будет без пустых
8 moshefoo
 
30.04.12
14:45
и группировку по дням  в скд это -добавить набор записей с группирвокой там выбираете период день
9 Учусь еще
 
30.04.12
14:45
(7)сейчас вопрос стоит в том что каким образом вывести даты выводить в новой колонке..
10 Учусь еще
 
30.04.12
14:46
(7)сейчас вопрос стоит в том как даты выводить в отдельных колонках...
11 Учусь еще
 
30.04.12
14:47
а без скд ни как, мне же нужно всего лишь результат запроса выгрузить в ТП документа
12 romale
 
30.04.12
14:50
(0) Склеивай с календарём за период
13 URAL
 
30.04.12
14:52
(12) дак он вроде как вертикально хочет, чтоб колонки были
14 URAL
 
30.04.12
14:52
(12) может я что то важное пропустил, разьясни пожалуйста
15 URAL
 
30.04.12
14:53
(12) я программно перебирал и выводил после запроса, что не есть очень хорошо, а как вертикально вывести? И могу ли я это в консоле запросов увиедть?
16 moshefoo
 
30.04.12
14:54
Резуьтат = запрос.Выполнить();

ЭлементыФормы.ТП.Значение= Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам)
17 URAL
 
30.04.12
14:56
(16) это понятно, а как то в запросе это увидеть возможно, получить колонки?
18 Учусь еще
 
30.04.12
14:57
(16)у меня так запрос вообще не выгружается...
19 sanja26
 
30.04.12
14:58
программно вывести cкд в табличное поле
20 sanja26
 
30.04.12
14:59
Кнопку сформировать
в ней "макет = получитьМакет("");
далее все процессоры и.п."
21 Учусь еще
 
30.04.12
15:00
(19)разве скд можно использовать не только для отчетов?
22 sanja26
 
30.04.12
15:04
Настройки        = КомпоновщикНастроек.ПолучитьНастройки();    
   
   СхемаКомпоновкиДанных = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   //Настройки = НастрокаПоУмолчанию;

   
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
   
   
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
   
   ДокументРезультат = ЭлементыФормы.Результат;
       ДокументРезультат.Очистить();
   
   
   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
23 sergeante
 
30.04.12
15:07
(21) СКД можно использовать не только для отчётов. н-р http://1cskd.ru/2012/04/poleznosti-primeneniya-skd/
24 sergeante
 
30.04.12
15:09
(21) создаёшь схему как для кросс-отчёта, только результат выводишь не в ТП, а в ТЗ
25 moshefoo
 
30.04.12
15:21
В СКД меню настройки в верху добавить .добавляешь гурппировку
26 moshefoo
 
30.04.12
15:24
меню другие настройки там тоже настройки  погляди
27 Учусь еще
 
30.04.12
15:33
все точно также проделала вывело также как и первоначально сделала..
28 Учусь еще
 
30.04.12
15:35
ДокументРезультат = ЭлементыФормы.Результат;
что здесь имеется под результатом?? может я не так поняла
29 URAL
 
30.04.12
15:40
(28) Класная фотка, и киска супер
30 sanja26
 
30.04.12
15:47
результат - табличное поле формы
31 sanja26
 
30.04.12
15:48
скинь скрин настроек макета СКД