|
Присоединить() не получается, помогите.. | ☑ | ||
---|---|---|---|---|
0
AugustBlack
13.10.11
✎
08:39
|
сабж, не получается правильно вывести пересечение областей,вот мой макет с областями:
http://imglink.ru/show-image.php?id=ec10cadd610c81c802091d3e0921801d вот код: //---получение областей---/// ОбластьСодержаниеСправки = Макет.ПолучитьОбласть("СодержаниеСправки"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьДанныеТаблицы = Макет.ПолучитьОбласть("ДанныеТаблицы"); ОбластьСодержаниеСправки2 = Макет.ПолучитьОбласть("СодержаниеСправки2"); ОбластьТаблицаИтогов = Макет.ПолучитьОбласть("ИтогиПоСправке"); ОбластьКопирования = Макет.ПолучитьОбласть("Область1|Область2"); ОбластьКопирования2 = Макет.ПолучитьОбласть("ДанныеТаблицы|Область2"); //---получение областей---/// ВыборкаПоГоду = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ПоГоду"); Пока ВыборкаПоГоду.Следующий() Цикл ОбластьКопирования.Параметры.Год = Год(ВыборкаПоГоду.ПоГоду); ТабДок.Присоединить(ОбластьКопирования); ВыборкаДетальныеЗаписи = ВыборкаПоГоду.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьКопирования2.Параметры.Дни = ВыборкаДетальныеЗаписи.ДнейВсего; ОбластьКопирования2.Параметры.Сумма = ВыборкаДетальныеЗаписи.СуммаВсего; ТабДок.Вывести(ОбластьКопирования2); КонецЦикла; //ТабДок.Вывести(ОбластьТаблицаИтогов); КонецЦикла; что получается, вот сам вывод: http://imglink.ru/show-image.php?id=7fefc9c0c9360724483181c06f3afa2d последовательность нарисовал стрелочками нужно так: http://imglink.ru/show-image.php?id=8dd7833a2717a4338398cdf085f28100 как правильно присоединять пересечение ОбластьКопирования2 чтобы было как на последнем скрине? |
|||
1
vmv
13.10.11
✎
08:40
|
я не буду это смотреть, увы слишком много, а ошибка наверняка пустяковая
|
|||
2
vmv
13.10.11
✎
08:42
|
ТабДок.Присоединить() вижу а Вывести*() не вижу перед ним при начала вывода документа - как-то странно
|
|||
3
AugustBlack
13.10.11
✎
08:45
|
(2)т.е вы имеете ввиду эту часть кода:
ОбластьКопирования.Параметры.Год = Год(ВыборкаПоГоду.ПоГоду); ТабДок.Присоединить(ОбластьКопирования); добавить: ТабДок.Вывести(ОбластьКопирования); ТабДок.Присоединить(ОбластьКопирования); ? |
|||
4
НЕА123
13.10.11
✎
08:46
|
(0)
сначала,отдельно, шапку делай. |
|||
5
vmv
13.10.11
✎
08:47
|
(3) ну да - как можно присоединить что-то, если еще ничего не выведено - я прям теряюсь, как гимназистка на первом свидании и краснею.
так можно да, дяденька? |
|||
6
AugustBlack
13.10.11
✎
08:47
|
(4) шапку я еще до этого кода вывожу
|
|||
7
vmv
13.10.11
✎
08:49
|
(6) и код в этом методе обладает нанотехнологией и это понимает телепатически?
|
|||
8
AugustBlack
13.10.11
✎
08:49
|
(5) дык просто вот что получается:
http://imglink.ru/show-image.php?id=de447c18afef3b325cea210490b0d58d |
|||
9
AugustBlack
13.10.11
✎
08:51
|
если делать без вывести,а через присоединить но не выводить ОбластьКопирования2 тогда почти нормально выводит:http://imglink.ru/show-image.php?id=c695766967c8cb73e650f5e9678d7ae2
|
|||
10
НЕА123
13.10.11
✎
08:52
|
(6)
речь про шапку таблицы. судя по картинке дальше будет трахома раскидывания данных по клеточкам отчета. |
|||
11
catena
13.10.11
✎
08:52
|
Когда делаешь присоединить, надо выводить построчно. Не получится присоединять столбец.
У тебя "года" в столбцах должныбыть? Сортируй выборку по годам и делай "вывести" как год сменился, а все остальное "присоединить". Только обработать пустые надо будет. |
|||
12
AugustBlack
13.10.11
✎
20:54
|
ну не понимаю это, хоть убейся,с горя начал разбирать примеры из справки..
обьясните мне почему это так: А1 А2 А3 10 20 30 40 50 60 http://imglink.ru/show-image.php?id=65ddd662ee9639f7bdb854192dcda2a4 мне нада сделать вот так: А1 А2 А3 10 40 20 50 30 60 код: ТабДок = Новый ТабличныйДокумент; Для К=1 По 3 Цикл Секция = ТабДок.ПолучитьОбласть("R1C1"); Секция.Область().Текст = "А"+К; Секция.Область().ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право; ТабДок.Присоединить(Секция,2,"Группа 2",Истина); КонецЦикла; Цена = 10; Итог = Цена; Для К=1 По 3 Цикл Секция = ТабДок.ПолучитьОбласть("R1C1"); Секция.Область().Текст = Цена; ТабДок.Вывести(Секция,2,"Группа 2",Истина); Цена = Цена + 10; Итог = Итог + Цена; КонецЦикла; Для К=1 По 3 Цикл Секция = ТабДок.ПолучитьОбласть("R1C2"); Секция.Область().Текст = Цена; ТабДок.Вывести(Секция,2,"Группа 2",Истина); Цена = Цена + 10; Итог = Итог + Цена; КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуКолонок(); ТабДок.ИтогиСправа = Истина; ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Ложь; ТабДок.Показать("Пример"); |
|||
13
MaxS
13.10.11
✎
21:22
|
на СКД это можно сделать?
|
|||
14
vmv
13.10.11
✎
21:29
|
(12) поименуй области для начала нормально, тогда все срастется. непонятки лезут от плохой идентификации сначала в голову, потом в код, потом наружу
|
|||
15
vmv
13.10.11
✎
21:40
|
почитай описание
ВставитьОбласть(<ИсходнаяОбласть>, <ОбластьПриемник>, <Сдвиг>, <ЗаполнятьПараметры>) в такой реализации поможет |
|||
16
catena
14.10.11
✎
05:09
|
(12)Я тебе еще раз говорю - нельзя присоединить столбец!
|
|||
17
AugustBlack
14.10.11
✎
08:30
|
Q_Q щас попробуй через вставить область
|
|||
18
AugustBlack
14.10.11
✎
08:43
|
*попробую*
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |