Имя: Пароль:
1C
1С v8
v8: Как в макете сделать так, чтобы выводилось то, что мне нужно
,
0 nikitka55
 
11.05.12
17:58
Вот такой вопрос
созданный отчет с помощью макета выводит все работы исходя из диапазона дат, ввел даты а он выводит те работы которые входят в данный диапозон
а мне надо чуть по другому
Вот к примеру у меня в отладчике в двух созданных документах имеется одна и таже работа (в данном случае - Врезка): цена и единица измерения у неё одинаковая, а вот кол-во разное
http://imgex.com/di/ND75/36.jpg

как мне сделать так чтобы в печатной форме он вывел общий итог по данной работе, ни все эти две работы вывел в печатной форме http://imgex.com/di/M4LN/38.jpg

а только одну,
http://imgex.com/di/IVA2/39.jpg
1 nikitka55
 
11.05.12
18:00
Можно ли как то это сделать?
2 sapphire
 
11.05.12
18:01
(0) Кто на ком стоял? Потрудитесь излагать свои мысли яснее! (с)
3 sapphire
 
11.05.12
18:02
(1) Можно. Только нифига непонятно где именно и что за отчет из макета?
4 J_B
 
11.05.12
18:03
Свернуть табличку из которой формируется отчет
5 nikitka55
 
11.05.12
18:10
Ну в объекте конфигурации отчеты добавил макет назвал его отчет
в отладчике: я ввожу диапазон дат, Нажимаю на кнопку Вывести и он мне выводит в макет все работы которые проходили за данный промежуток времени
6 nikitka55
 
11.05.12
18:14
а мне надо чуть по другому, что бы одинаковые работы в макет записывались как одно целое

http://imgex.com/di/IVA2/39.jpg
7 Vesa
 
11.05.12
19:01
Ответ в (4). Применить в запросе предложение СГРУППИРОВАТЬ ПО
8 EvgeniuXP
 
11.05.12
19:14
группировка и итог.
9 EvgeniuXP
 
11.05.12
19:16
(7) или к ТЗ свёртку :)
10 Vesa
 
11.05.12
19:34
(8) Итог зачем?
11 nikitka55
 
11.05.12
20:29
Помогли на другом форуме с запросом
Функция  ОтчетПоОказаннымУслугам()
ТабДок = Новый ТабличныйДокумент;
Макет=Отчеты.ОтчетПоУслугам.ПолучитьМакет("Отчет");

Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
             |    ДокСмета.ПунктПрейскурантаНаименованиеРабот,
             |    ДокСмета.ЕдИзм,
             |    ДокСмета.ЦенаРуб,
             |    СУММА(ДокСмета.КолВо) КАК КолВо,
             |    СУММА(ДокСмета.СуммаРуб) КАК СуммаРуб,
             |    Материалы.НаименованиеМатериала,
             |    Материалы.ЕдИзм КАК МЕдИзм,
             |    Материалы.ЦенаРуб КАК МЦенаРуб,
             |    СУММА(Материалы.КолВо) КАК МКолВо,
             |    СУММА(Материалы.СуммаРуб) КАК МСуммаРуб
             |ИЗ
             |    Документ.Смета.ДокСмета КАК ДокСмета
             |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Смета.Материалы КАК Материалы
             |        ПО ДокСмета.Ссылка = Материалы.Ссылка,
             |    Константы КАК Константы
             |ГДЕ
             |    ДокСмета.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
             |
             |СГРУППИРОВАТЬ ПО
             |    ДокСмета.ПунктПрейскурантаНаименованиеРабот,
             |    ДокСмета.ЕдИзм,
             |    ДокСмета.ЦенаРуб,
             |    Материалы.НаименованиеМатериала,
             |    Материалы.ЕдИзм,
             |    Материалы.ЦенаРуб" ;

               Запрос.УстановитьПараметр("ДатаНач", НачалоДня(Отчет.Дата));
               Запрос.УстановитьПараметр("ДатаКон", КонецДня(Отчет.Дата1));
               
             Выборка = Запрос.Выполнить().Выбрать();
            ОбластьВерх=Макет.ПолучитьОбласть("Верх");
            ОбластьШапка=Макет.ПолучитьОбласть("Шапка");
            ОбластьЗагТаб=Макет.ПолучитьОбласть("ЗагТаб");
            ОбластьШапкаТаб=Макет.ПолучитьОбласть("ШапкаТаб");
            ОбластьТаблСмета=Макет.ПолучитьОбласть("ТаблСмета");
            ОбластьТаблМатериалы=Макет.ПолучитьОбласть("ТаблМатериалы");
            ОбластьИтогоРабот=Макет.ПолучитьОбласть("ИтогоРабот");
            ОбластьИтогоМатериалов=Макет.ПолучитьОбласть("ИтогоМатериалов");
            ОбластьВсегоРаботИМатериалов=Макет.ПолучитьОбласть("ВсегоРаботИМатериалов");
            ОбластьНДС=Макет.ПолучитьОбласть("НДС");
            ОбластьНиз=Макет.ПолучитьОбласть("Низ");
            ТабДок.Очистить();
           
           ТабДок.Вывести(ОбластьВерх);
           ТабДок.Вывести(ОбластьШапка);
           ТабДок.Вывести(ОбластьЗагТаб);
           ТабДок.Вывести(ОбластьШапкаТаб);
                       СуммаИтог=0;
           СуммаИтог1=0;    
            ВставлятьРазделительСтраниц = Ложь;
            Пока Выборка.Следующий() Цикл
                Если ВставлятьРазделительСтраниц Тогда
                    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
                КонецЕсли;

.... что здесь нужно прописать что бы данные в область вывелись?


                        КонецЦикла;
Возврат (ТабДок);            
   
 КонецФункции



теперь не могу вывести данные на печатную форму в области
http://imgex.com/di/C2DH/3_3.jpg
12 J_B
 
11.05.12
23:03
А перечень материалов тоже нужен в отчете? Если не нужен, то и из запроса надо убрать материалы. А то с таким запросом не получится, то что требуется в (0).

Потом в цикле писать примерно следующее:

ОбластьТаблСмета.Параметры.Заполнить(Выборка);
ТабДок.Вывести (ОбластьТаблСмета);
13 J_B
 
11.05.12
23:09
+(12)
Если же надо сделать что-то вида:
1. <Выполненная работа>
  <Материал1>
  <Материал2>
2. .......

тогда обходить результат запроса по группировкам и выводить в макет
14 J_B
 
11.05.12
23:14
А еще лучше, СКД освоить...
15 sapphire
 
11.05.12
23:31
А еще лучше включить Мозг, коли есть, ИМХО
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший