![]() |
![]() |
![]() |
|
Обход готового табличного документа | ☑ | ||
---|---|---|---|---|
0
ProTeZ
18.09.07
✎
12:22
|
Граждане, подскажите. Есть готовый табличный документ после построителя отчета.
Нужно пройти по уровням табличного документа и изменить цифры в итогах по группам, как это сделать? Интересуют методы работы с табличным документом и его областями в синтаксис помощнике ни чего не могу найти :( |
|||
1
luns
18.09.07
✎
12:28
|
Никак... только если знаковое поле выводить со служебной инфой потом прятать. А вообще это изврат. Если такое понадобилось, то это значит неверно что-то ДО вывода отчета.
|
|||
2
Wladimir_spb
18.09.07
✎
12:34
|
Возможно, но довольно неудобно. Имхо, лучше запрос подправить.
ТабличныйДокумент (SpreadsheetDocument) Область (Area) Вариант синтаксиса: По имени Синтаксис: Область(<Имя области>) Параметры: <Имя области> (обязательный) Тип: Строка. Имя области или адрес в формате "R1C1:R2C2", где число после "R" обозначает номер строки, число после "C" - номер колонки, символом ":" (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как "<Имя области 1> | <Имя области 2>". Описание: Получает область табличного документа как область ячеек табличного документа, либо как рисунок с указанным именем. Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы. Используется для получения области табличного документа по имени. |
|||
3
IronDemon
18.09.07
✎
12:36
|
Макет = ДокументРезультат;
ТекущаяОбласть = Неопределено; Пока Истина Цикл ТекущаяОбласть = Макет.НайтиТекст("Заказ", ТекущаяОбласть, Макет.Область(), Истина, Истина, Истина, Ложь); Если ТекущаяОбласть <> Неопределено Тогда Поз = Найти(ТекущаяОбласть.Имя,"C"); НачСтрока=Число(Сред(ТекущаяОбласть.Имя,2,СтрДлина(ТекущаяОбласть.Имя)-Поз-1))+1; НачКолонка=Прав(ТекущаяОбласть.Имя,СтрДлина(ТекущаяОбласть.Имя)-Поз+1); Имя= "R"+Строка(Макет.ВысотаТаблицы-1)+Прав(ТекущаяОбласть.Имя,СтрДлина(ТекущаяОбласть.Имя)-Поз+1); ИмяОбласти="R"+НачСтрока+НачКолонка+":"+Имя; Макет.Область(ИмяОбласти).Защита=Ложь; Макет.Область(ИмяОбласти).ЦветФона = ЦветаСтиля.ЦветФонаКнопки; Макет.Область(ИмяОбласти).СодержитЗначение = Истина; Макет.Область(ИмяОбласти).ТипЗначения = ПолучитьОписаниеТиповЧисла(10,2); Иначе Прервать; КонецЕсли; КонецЦикла; |
|||
4
luns
18.09.07
✎
12:38
|
Дай угадаю - надо типой поправить который через "УниверсальныйОтчет" сделан?
|
|||
5
ProTeZ
18.09.07
✎
13:00
|
(4) неа. задачка следующая
Есть некий план оплат по периодам. Есть оплаты. В отчет должно выводиться следующее. запланировано: янв 10 000 февр 10 000 март 10 000 август 30 000 оплачено август 40 000 В отчет Янв 0 Февр 0 март 0 август 20 000 |
|||
6
ProTeZ
18.09.07
✎
13:01
|
может подскажете что можно с запросом натворить, чтобы всё ок стало
|
|||
7
ave-kuban
18.09.07
✎
13:15
|
Используй период - месяц
|
|||
8
ProTeZ
18.09.07
✎
13:18
|
Если соединять два запроса один с планом, другой с оплатоми, даже по периоду месяц. То не получу данные нужного вида :(
Будет что-то типа Январь 10 000 февраль 10 000 март 10 000 Август -10 00. А надо чтобы как выше написано. Уже весь моск сломал :(( |
|||
9
ProTeZ
18.09.07
✎
13:18
|
Даже русский язык забыл )
|
|||
10
IronDemon
18.09.07
✎
13:31
|
(5) А почему в августе 20 000
|
|||
11
IronDemon
18.09.07
✎
13:36
|
(10) Понял 60 000 - 40 000.
Соедини по периоду запланировано <= период оплаты |
|||
12
ProTeZ
18.09.07
✎
13:46
|
Непомогает :(
|
|||
13
ProTeZ
18.09.07
✎
14:16
|
Вот кусок текста запроса, который план и оплату отнимает. оборот.приход - это план, оборот.расход - оплаты
ВЫБРАТЬ СУММА(Обороты.СуммаПриход) КАК СуммаПриход, Обороты.Период КАК Период, Обороты.Проект КАК Проект, Обороты.ДоговорКонтрагента КАК ДоговорКонтрагента, Обороты.Организация КАК Организация, Обороты.Контрагент КАК Контрагент, Обороты.СтатьяЗатратПоПроекту КАК СтатьяЗатратПоПроекту, СУММА(Обороты.СуммаРасход) КАК СуммаРасход, СУММА(ВЫБОР КОГДА Обороты.СуммаПриход - Обороты.СуммаРасход < 0 ТОГДА 0 ИНАЧЕ Обороты.СуммаПриход - Обороты.СуммаРасход КОНЕЦ) КАК НУЖНАЯСУММА ИЗ (ВЫБРАТЬ ОбязательстваПоДоговорамОбороты.Период КАК Период, ОбязательстваПоДоговорамОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, ОбязательстваПоДоговорамОбороты.Контрагент КАК Контрагент, ОбязательстваПоДоговорамОбороты.Организация КАК Организация, ОбязательстваПоДоговорамОбороты.Проект КАК Проект, ОбязательстваПоДоговорамОбороты.СтатьяЗатратПоПроекту КАК СтатьяЗатратПоПроекту, СУММА(ОбязательстваПоДоговорамОбороты.СуммаПриход) КАК СуммаПриход, ОбязательстваПоДоговорамОбороты1.СуммаРасход КАК СуммаРасход ИЗ РегистрНакопления.ОбязательстваПоДоговорам.Обороты(&ДатаНач, &ДатаКон, Месяц, ) КАК ОбязательстваПоДоговорамОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОбязательстваПоДоговорам.Обороты(&ДатаНач, &ДатаКон, Месяц, ) КАК ОбязательстваПоДоговорамОбороты1 ПО ОбязательстваПоДоговорамОбороты.Проект = ОбязательстваПоДоговорамОбороты1.Проект И ОбязательстваПоДоговорамОбороты.СтатьяЗатратПоПроекту = ОбязательстваПоДоговорамОбороты1.СтатьяЗатратПоПроекту И ОбязательстваПоДоговорамОбороты.ДоговорКонтрагента = ОбязательстваПоДоговорамОбороты1.ДоговорКонтрагента И ОбязательстваПоДоговорамОбороты.Контрагент = ОбязательстваПоДоговорамОбороты1.Контрагент И ОбязательстваПоДоговорамОбороты.Период <= ОбязательстваПоДоговорамОбороты1.Период СГРУППИРОВАТЬ ПО ОбязательстваПоДоговорамОбороты.Организация, ОбязательстваПоДоговорамОбороты.Контрагент, ОбязательстваПоДоговорамОбороты.ДоговорКонтрагента, ОбязательстваПоДоговорамОбороты.Период, ОбязательстваПоДоговорамОбороты.СтатьяЗатратПоПроекту, ОбязательстваПоДоговорамОбороты.Проект, ОбязательстваПоДоговорамОбороты1.СуммаРасход) КАК Обороты СГРУППИРОВАТЬ ПО Обороты.Проект, Обороты.ДоговорКонтрагента, Обороты.СтатьяЗатратПоПроекту, Обороты.Контрагент, Обороты.Период, Обороты.Организация УПОРЯДОЧИТЬ ПО Период ИТОГИ СУММА(СуммаПриход), СУММА(СуммаРасход), СУММА(НУЖНАЯСУММА) ПО ОБЩИЕ, Период, ДоговорКонтрагента, Контрагент, Организация, Проект, СтатьяЗатратПоПроекту |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |