|
Макет отчета. Помогите решить проблему. | ☑ | ||
---|---|---|---|---|
0
progaoff
03.07.15
✎
14:02
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос; Запрос.Текст = " | ВЫБРАТЬ | СУММА(Продажа.СуммаДокумента) КАК СуммаДокумента | ПОМЕСТИТЬ ТабПрод | ИЗ | Документ.Продажа КАК Продажа | ГДЕ | Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон | И Продажа.Организация = &Организация |; | | //////////////////////////////////////////////////////////////////////////////// | ВЫБРАТЬ | СУММА(Визит.СуммаОбщая) КАК СуммаОбщая | ПОМЕСТИТЬ ТабВиз | ИЗ | Документ.Визит КАК Визит | ГДЕ | Визит.Организация = &Организация | И Визит.Дата МЕЖДУ &ДатаНач И &ДатаКон |; | | //////////////////////////////////////////////////////////////////////////////// | Выбрать Сумма(СуммаБезСкидки) КАК СуммаБезСкидки, | Сумма(Поле1) КАК Поле1, | Сумма(СуммаДокумента) КАК СуммаДокумента | Из | ( | ВЫБРАТЬ | СУММА(ВыполнениеРаботПоВизиту.СуммаБезСкидки) / &КолДней КАК СуммаБезСкидки, | 0 Как Поле1, | 0 КАК СуммаДокумента | ИЗ | РегистрНакопления.ВыполнениеРаботПоВизиту КАК ВыполнениеРаботПоВизиту | ГДЕ | ВыполнениеРаботПоВизиту.Период МЕЖДУ &ДатаНач И &ДатаКон | И ВыполнениеРаботПоВизиту.Организация = &Организация | И ВыполнениеРаботПоВизиту.Номенклатура = &Номенклатура | Объединить Все | ВЫБРАТЬ | 0 КАК СуммаБезСкидки, | СУММА(ТабПрод.СуммаДокумента + ТабВиз.СуммаОбщая) / &КолДней КАК Поле1, | 0 КАК СуммаДокумента | ИЗ | ТабВиз КАК ТабВиз, | ТабПрод КАК ТабПрод | Объединить Все | ВЫБРАТЬ | 0 КАК СуммаБезСкидки, | 0 КАК Поле1, | ТабПрод.СуммаДокумента | Из ТабПрод КАК ТабПрод) КАК ВложенныйЗапрос"; Запрос.УстановитьПараметр("ДатаКон", ДатаКон); Запрос.УстановитьПараметр("ДатаНач", ДатаНач); Запрос.УстановитьПараметр("КолДней", КолДней); //Надо избавится от него. Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("Организация", Организация); Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Возврат; КонецЕсли; Выборка = Результат.Выбрать(); ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); Пока Выборка.Следующий() Цикл ОбластьДанных = Макет.ПолучитьОбласть("Данные"); ОбластьДанных.Параметры.Заполнить(Выборка); Макет.Вывести(ОбластьДанных); КонецЦикла; Макет.Показать(); КонецПроцедуры |
|||
1
progaoff
03.07.15
✎
14:03
|
Строчка область данных при выводе отчета опускается вниз, и видны параметры, тем не менее цифры по отчету появляются.
|
|||
2
progaoff
03.07.15
✎
14:05
|
||||
3
Dmitrith
03.07.15
✎
14:06
|
ОбластьДанных = Макет.ПолучитьОбласть("Данные");
зачем внутри цикла? |
|||
4
Ненавижу 1С
гуру
03.07.15
✎
14:06
|
так ты Макет или ТабДок выводить собрался?
|
|||
5
progaoff
03.07.15
✎
14:12
|
Макет
|
|||
6
ВРедная
03.07.15
✎
14:14
|
(5) Это был вопрос с подвохом
|
|||
7
dsdred
03.07.15
✎
14:19
|
ОбластьДанных = Макет.ПолучитьОбласть("Данные");
Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры,Выборка); ТабДок.Вывести(ОбластьДанных); КонецЦикла; ТабДок.Показать(); |
|||
8
progaoff
03.07.15
✎
14:26
|
все красиво но в макет не попадает.
|
|||
9
progaoff
03.07.15
✎
14:27
|
ну в смысле что нужно в макет.
|
|||
10
progaoff
03.07.15
✎
14:28
|
а не в таб док
|
|||
11
dsdred
03.07.15
✎
14:29
|
(8) открыл картинку с макетом и ужаснулся сразу, сильно ужаснулся....
Тебя в макете все устраивает? |
|||
12
Garykom
гуру
03.07.15
✎
14:29
|
прочтите инструкцию или позовите к клавиатуре программиста
|
|||
13
ВРедная
03.07.15
✎
14:29
|
(9) нет, тебе не нужно в макет.
Макет - он на то и макет, что его не выводят. Из него берут шаблон областей, заполняют данные и выводят в другой табличный документ |
|||
14
progaoff
03.07.15
✎
14:29
|
нет не все, я его переделаю...
|
|||
15
ВРедная
03.07.15
✎
14:30
|
(11) да, (12) должно помочь
|
|||
16
progaoff
03.07.15
✎
14:30
|
(12) спасибо КЭП-ОЧЕВИДНОСТЬ!
|
|||
17
dsdred
03.07.15
✎
14:31
|
(14) начни с макета, он у тебя нарисован но что то в нем не хватает... Может Области Шапки например и еще чего то...
|
|||
18
Mifka
03.07.15
✎
14:32
|
возможно проблема в том что не в табличном документе он не видит шапки макета. Для этого нужно в макете задать область шапка и ее выводить в табличный документ перед данными
|
|||
19
dsdred
03.07.15
✎
14:34
|
(18) у него запрос вообще в халастую работает, пусть подумает.
Область данные у него от запроса ни чего не выводит |
|||
20
progaoff
03.07.15
✎
14:37
|
но данные выводятся, почему же запрос в холостую работает???
|
|||
21
dsdred
03.07.15
✎
14:39
|
(20) дай угадаю вот эти 2096,1666667 | 24812,06666667 | 7715 ?
|
|||
22
progaoff
03.07.15
✎
14:41
|
(21) да
|
|||
23
dsdred
03.07.15
✎
14:42
|
(22)Намек не ясен?
|
|||
24
progaoff
03.07.15
✎
14:43
|
(23) Пятница - думать очень тяжело...
|
|||
25
progaoff
03.07.15
✎
14:43
|
(23) если можно открытым текстом - что не так я делаю?
|
|||
26
dsdred
03.07.15
✎
14:44
|
(25) Хорошо у тебя область Данные именно этими цифрами заполнена.
Я вить не мог знать что твой запрос должен выводить... |
|||
27
progaoff
03.07.15
✎
14:46
|
че строка с параметрами остается пустой а область данных съезжает на строчку ниже? (26)
|
|||
28
dsdred
03.07.15
✎
14:46
|
(25)
ОбластьДанных = Макет.ПолучитьОбласть("Данные"); Пока Выборка.Следующий() Цикл ТабДок.Вывести(ОбластьДанных); КонецЦикла; ТабДок.Показать(); Если сделаешь вот так то увидешь теже цифры. Странно не правда ли? |
|||
29
progaoff
03.07.15
✎
14:49
|
это конечно меня тоже удивляет)
|
|||
30
dsdred
03.07.15
✎
14:51
|
(29) Ты думать то вообще не собираешься? Или ты стебаешься?
|
|||
31
progaoff
03.07.15
✎
14:55
|
Нет я не стебаюсь, я просто уже не вдуплю что происходит, я понимаю что вывод кривой, но почему так не пойму
|
|||
32
dsdred
03.07.15
✎
14:58
|
||||
33
ВРедная
03.07.15
✎
14:59
|
(27) Потому что ты никуда не выводишь строку с параметрами, а еще потому, что строка с параметрами у тебя в макете не принадлежит никакой области
|
|||
34
progaoff
03.07.15
✎
15:17
|
как я подставлю результат если он в запросе?
|
|||
35
progaoff
03.07.15
✎
15:20
|
я имею ввиду имена параметров
|
|||
36
Garykom
гуру
03.07.15
✎
15:22
|
(34) ехал на машине, она сломалась... думаешь если выйти попинать по колесам или открыть капот и там чего нить подергать оно поедет и причем как нуна?
ЗЫ сча программирование даже на 1С намного сложнее устройства машины, понятно что колесо поменять почти любой сможет (в 1С это переименовать/убрать колонку в отчете) а вот сделать новые колеса с 0? даже при наличии всех инструментов |
|||
37
dsdred
03.07.15
✎
15:22
|
(35) У тебя имена параметров в макете на 4 строке
а область почему то 5 строка Иди уже домой... |
|||
38
dsdred
03.07.15
✎
15:25
|
(37) да в запросе Организация пропала, ее наверное выводить тоже лень
|
|||
39
progaoff
03.07.15
✎
15:29
|
у меня и имена параметров и область данные в одной строке...
|
|||
40
progaoff
03.07.15
✎
15:30
|
ой! не тот макет
|
|||
41
progaoff
03.07.15
✎
15:32
|
||||
42
ВРедная
03.07.15
✎
15:35
|
(41) не расшарен
|
|||
43
progaoff
03.07.15
✎
15:36
|
готово
|
|||
44
dsdred
03.07.15
✎
15:42
|
(39) Вот тебе гамно-код но рекомендую сменить вид деятельности.
ОблШапка = Макет.ПолучитьОбласть("R1:R3"); ТабДок.Вывести(облШапка); ОбластьДанных = Макет.ПолучитьОбласть("R4"); Пока Выборка.Следующий() Цикл ОблСтрока.Параметры.Организация = Строка(Организация); ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры,Выборка); ТабДок.Вывести(ОбластьДанных); КонецЦикла; ТабДок.Показать(); |
|||
45
progaoff
03.07.15
✎
15:52
|
спасибо конечно за говна код, с видом деятельности я как нибудь сам разберусь. код я не просил я просто просил сказать то не так. и тут началось колеса, виды деятельности и все остальное - кроме критики и тупых намеков с подвохами от вас толку больше нет. спасибо большое за учатие
|
|||
46
Garykom
гуру
03.07.15
✎
15:53
|
(44) как бы на "ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры,Выборка);" большинство юнлингов сломаются а если поймут то потом когда будет
"ОбластьДанных.Параметры.Наименование = "123";" не поймутс |
|||
47
Garykom
гуру
03.07.15
✎
15:55
|
(45) ... с возу .... легче
|
|||
48
dsdred
03.07.15
✎
15:56
|
(46) в примере
ОблСтрока.Параметры.Организация = Строка(Организация); И ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры,Выборка); Просто данный типец реально не хотел думать. Вот когда я начинал мне так не подсказывали... |
|||
49
progaoff
03.07.15
✎
16:00
|
(48) то есть ты хочешь сейчас сказать, что ты сел включил комп и сразу зарядил 1с?
|
|||
50
Garykom
гуру
03.07.15
✎
16:05
|
(49) ну да... а после >15 лет кодинга начиная с МК-61 почему бы и нет?
|
|||
51
ВРедная
03.07.15
✎
16:05
|
(49) мы хотим сказать, что если ты думать не хочешь и учиться не хочешь, то никто тебе не поможет.
В печати ты не разобрался ни на йоту, хотя материалов сейчас *опой жуй, не то что в наше время (с) |
|||
52
progaoff
03.07.15
✎
16:07
|
так вот и пытаюсь учится, я не прошу дайте мне готовый код, я просто по просил подсказать что не так я делаю.
|
|||
53
progaoff
03.07.15
✎
16:08
|
и тут понеслось...
|
|||
54
Garykom
гуру
03.07.15
✎
16:11
|
(51) да уж сидеть и методом перебора/экспериментов выяснять что из наличествующего в СП как работает...
ЗЫ встроенный хелп с примерами виде синтаксис-помощника в 1С 77 это была сила |
|||
55
Serg_1960
03.07.15
✎
16:11
|
(52) Подсказываю (сам спрашиваю - сам отвечаю):
Вот у тебя в коде(0) зачем-то указана строка "ТабДок = Новый ТабличныйДокумент;" - а зачем она там? Наверное чтобы создать табличный документ? А зачем он нужен? Наверное чтобы туда что-то выводить? Что выводить? Может быть "ОбластьДанных"?... |
|||
56
Garykom
гуру
03.07.15
✎
16:13
|
(55)+ а откуда взять эту ОбластьДанных? а может из макета получить, заполнить данными и уже с данными в ТабДок и вставить?
|
|||
57
Serg_1960
03.07.15
✎
16:16
|
Макет - это, грубо говоря, как бланк - разлинован, но пустой. А таб.документ - это, грубо говоря, чистый лист. Куда надо выводить области, полученные из макета. Области в которых параметры макета предварительно заполняются нужными значениями.
|
|||
58
Serg_1960
03.07.15
✎
16:26
|
progaoff выпал в осадок надолго.
Наверное, вместо "Макет.Вывести" и "Макет.Показать" подставил "ТабДок", получил то, что ему надо и теперь молча сидит, любуется на свой первый отчет :) |
|||
59
progaoff
03.07.15
✎
16:30
|
Еще нет))))
|
|||
60
Serg_1960
03.07.15
✎
16:46
|
Ну естественно, что "нет" :) Надо ещё поименовать шапку таблицы в макете, чтобы можно было её потом вывести на печать :)
|
|||
61
progaoff
03.07.15
✎
16:52
|
Это я уже...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |