|
Отчет по кассе | ☑ | ||
---|---|---|---|---|
0
Rumpil
11.06.12
✎
11:08
|
Добрый день, господа. Я что то запутался с выведением областей макета.
Макет выглядит след. образом Приходы Расходы Статья Сумма Статья Сумма Если выводить область Строки, то одна из частей получается пустой, в результате форма приобретает след. вид: Приходы Расходы Статья1 500 Статья2 300 Статья3 600 Статья 4 150 то есть строки друг под другом, а мне нужно привести макет в вид: Приходы Расходы Статья1 500 Статья2 300 Статья3 600 Статья 4 150 Как это можно сделать ? Направьте плиз |
|||
1
Живой Ископаемый
11.06.12
✎
11:09
|
нужно не выводить, а присоединять...
либо переписать запрос, но это отдельная не сильно тривиальная задача |
|||
2
kible
11.06.12
✎
11:10
|
(0) 2 ТЗ?
|
|||
3
Rumpil
11.06.12
✎
11:15
|
(1) сорри, а как это присоединять ?
|
|||
4
Живой Ископаемый
11.06.12
✎
11:22
|
это слишком легко.. раскажи как выводишь
|
|||
5
Rumpil
11.06.12
✎
11:49
|
(4) вывожу так:
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; Макет = ПолучитьМакет("МакетВидОтчета1"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДвижениеДенегОстаткиИОбороты.Регистратор КАК ДокументОпл, | ДвижениеДенегОстаткиИОбороты.Статья КАК Ст, | ДвижениеДенегОстаткиИОбороты.СуммаПриход КАК СумПри, | ДвижениеДенегОстаткиИОбороты.Комментарий КАК Ком, | ДвижениеДенегОстаткиИОбороты.СуммаРасход КАК СумРас |ИЗ | РегистрНакопления.ДвижениеДенег.ОстаткиИОбороты(&прДатаНач, &прДатаКон, Авто, , ) КАК ДвижениеДенегОстаткиИОбороты |ГДЕ | ДвижениеДенегОстаткиИОбороты.Касса = &прКасса"; Запрос.УстановитьПараметр("прДатаНач", ДатаНач); Запрос.УстановитьПараметр("прДатаКон", КонецДня(ДатаКон)); Запрос.УстановитьПараметр("прКасса", Касса); Результат = Запрос.Выполнить(); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьСтроки = Макет.ПолучитьОбласть("Строки"); ОбластьИтогиПодвал = Макет.ПолучитьОбласть("ИтогиПодвал"); ТабДок.Очистить(); ОбластьШапка.Параметры.ДатаКон = ДатаКон; ТабДок.Вывести(ОбластьШапка); ВыборкаСтроки = Результат.Выбрать(); ОбСумПри = 0; ОбСумРас = 0; Пока ВыборкаСтроки.Следующий() Цикл Если ВыборкаСтроки.СумРас = 0 Тогда ОбластьСтроки.Параметры.Ст1 = ВыборкаСтроки.Ст; ОбластьСтроки.Параметры.Ком1 = ВыборкаСтроки.Ком; Если ВыборкаСтроки.СумПри=0 тогда ОбластьСтроки.Параметры.СумПри = "0"; Иначе ОбластьСтроки.Параметры.СумПри = ВыборкаСтроки.СумПри; КонецЕсли; ОбСумПри=ОбСумПри+ВыборкаСтроки.СумПри; КонецЕсли; Если ВыборкаСтроки.СумПри = 0 Тогда ОбластьСтроки.Параметры.Ст2 = ВыборкаСтроки.Ст; ОбластьСтроки.Параметры.Ком2 = ВыборкаСтроки.Ком; Если ВыборкаСтроки.СумРас=0 тогда ОбластьСтроки.Параметры.СумРас = "0"; Иначе ОбластьСтроки.Параметры.СумРас = ВыборкаСтроки.СумРас; КонецЕсли; ОбСумРас=ОбСумРас+ВыборкаСтроки.СумРас; СумНач = СумНач + ВыборкаСтроки.СумНач; СумКон = СумКон + ВыборкаСтроки.СумКон; КонецЕсли; ТабДок.Вывести(ОбластьСтроки); КонецЦикла; ОбластьИтогиПодвал.Параметры.ОбСумПри = ОбСумПри; ОбластьИтогиПодвал.Параметры.ОбСумРас = ОбСумРас; ТабДок.Вывести(ОбластьИтогиПодвал); |
|||
6
Живой Ископаемый
11.06.12
✎
11:55
|
Ну вот посмотри в СП ТабДок.Вывести(ОбластьСтроки);
и поищи рядом Присоединить |
|||
7
Живой Ископаемый
11.06.12
✎
11:56
|
стоп, ничего не выйдет.
только переписывать запрос. |
|||
8
Rumpil
11.06.12
✎
12:02
|
(7) а как переписывать, просто направь хотя бы ?
|
|||
9
Живой Ископаемый
11.06.12
✎
12:05
|
ну а что направлять - нужно чтобы у тебя в одной строке был Приход и Расход...
И в общем-то в частном случае, если они чередуются, может ничего специального и делать не придется.. Но если приходов 10, а расходов 20, что будешь делать? |
|||
10
Rumpil
11.06.12
✎
12:05
|
(9) как раз таки второй случай у меня (( ладно, спасибо, сейчас буду копаться
|
|||
11
Живой Ископаемый
11.06.12
✎
12:13
|
Наверное легче всего для понимания сделать так - отдельно запрос по приходу (но так, чтобы для была зарезервирована колонка для суммы расхода, в нее ставим 0 и статью расхода, в нее Null), отдельно запрос по расходу (но так, чтобы для была зарезервирована колонка для суммы прихода, в нее ставим 0 и статью прихода, в нее Null)
оба результата выгружаем в ТЗ, добавляем колонку НомерСтроки, потом их обе во Временные Таблицы., Третий запрос на полное соединение, соединяем по номеру строки. В итоге у тебя получается результат типа такого: 1. СтатьяПрихода1, СуммаПрихода1, СтатьяРасхода1, СуммаРасхода1 2. Null, 0, СтатьяРасхода2, СуммаРасхода2 3. Null, 0, СтатьяРасхода3, СуммаРасхода3 или 1. СтатьяПрихода1, СуммаПрихода1, СтатьяРасхода1, СуммаРасхода1 2. СтатьяПрихода2, СуммаПрихода2, Null, 0 3. СтатьяПрихода3, СуммаПрихода3, Null, 0 в зависмости от того, чего больше приходов или расходов |
|||
12
Живой Ископаемый
11.06.12
✎
12:14
|
ну и само собой можно запросом.. наверное
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |