Текущее время: Пн, авг 25 2025, 00:41

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: хитрый запрос
СообщениеДобавлено: Пн, июн 04 2007, 15:01 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
Привет всем!

Можно ли сделать такой запрос (будет выводиться в WEB, поэтому рабочая книга и VBA не подходит)

<материал> <остаток> <остаток:вид движ1> <остаток:вид движ2> <остаток:вид движ...> <остаток:вид движN> <остаток на конец дня>

пока вижу такой выход: сделать user-exit переменные по количеству видов движений, в user-exit их заполнять, а в запросе указать, что если в столбце все нули, то его скрывать...

Пугает только количество видов движений = 150 штук... + user-exit наименования этих столбцов = 150 штук + немного надо на вырост = 100 штук...

Может, как то можно малыми потерями обойтись?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Пн, июн 04 2007, 15:45 
Директор
Директор

Зарегистрирован:
Сб, мар 11 2006, 14:59
Сообщения: 1259
Пол: Мужской
Vitaly V.V. написал(а):
<материал> <остаток> <остаток:вид движ1> <остаток:вид движ2> <остаток:вид движ...> <остаток:вид движN> <остаток на конец дня>
...
Может, как то можно малыми потерями обойтись?

В смысле он должен быть динамическим (типа автоматом выстраивать все виды движения)? Если можно статикой, то можно руками ограничить показатель и в коце добавить показатель, где вид движения not in (перечислить все вбитые ранее) - для контроля за появлением новых видов (в столбце значение появится). А вообще еще можно в строки кинуть "материал", а в столбцы кинуть вид движения и под него - "остаток", тогда его раскидает по видам,а в "итого" получим общий остаток. Непонятно только, что за "остаток на конец дня". А чем он отличается от "остаток"?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Пн, июн 04 2007, 15:59 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
Road Runner написал:
В смысле он должен быть динамическим (типа автоматом выстраивать все виды движения)? Если можно статикой, то можно руками ограничить ...
А вообще еще можно в строки кинуть "материал", а в столбцы кинуть вид движения и под него - "остаток", тогда его раскидает по видам,а в "итого" получим общий остаток. Непонятно только, что за "остаток на конец дня". А чем он отличается от "остаток"?


Получается, что в середине отчета нужно разбить суммы по всем видам движений. Проблема в том, что присутствуют суммы, которые не нужно раскидывать по видам движения. Т.е. просто структурой не обойтись.

Статика не подойдет, т.к. руками ограничивать нельзя - об этом уже меня предупредили - сказали, что в ближайшее время будут новые виды.

остаток - это остаток перед отчетом, остаток на конец дня - остаток на последнюю дату периода отчета. Это просто суммы, которые не нужно раскидывать по видам движения.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Пн, июн 04 2007, 18:43 
Директор
Директор

Зарегистрирован:
Сб, мар 11 2006, 14:59
Сообщения: 1259
Пол: Мужской
Vitaly V.V. написал(а):
Получается, что в середине отчета нужно разбить суммы по всем видам движений. Проблема в том, что присутствуют суммы, которые не нужно раскидывать по видам движения. Т.е. просто структурой не обойтись.

Имхо, для 3.5 и без программирования - либо все показатели разложены по видам, либо никакие. Либо вручную. Это в общем случае.

В Вашем же случае мы имеем все же, что просто "остатки", вероятно, равны сумме остатков по каждому из видов (а уж поместить результат можно и не слева, а справа - это настраивается). И тогда мы получим остаток на конец периода и далее - раскладку по видам движения. Все портит
Vitaly V.V. написал(а):
остаток - это остаток перед отчетом, остаток на конец дня - остаток на последнюю дату периода отчета.

Кстати - по названиям я подумал было наоборот. ;) Тем не менее, трудности в реализации этого отчета возникают из-за того, что это - не очень правильно, мешать текущие данные и данные за период. Ну зачем постоянно получать остаток на конец периода, если он не будет меняться? Разве только период тоже все время сдвигается на день, тогда будет меняться, конечно. Но тогда в чем соль этих данных рядом? Посчитать на калькуляторе, сколько было отпущено за текущий день? Может сразу и сделать такой отчет? ;) В общем - я бы попытался провести с заказчиком переговоры о том, чтобы уточнить у него - что все таки он хочет получить, не исключено, что он хочет что-то совсем иное и что его устроят, на самом деле, два отчета - по периоду и на текущий момент, причем оба - с раскладкой по видам.

Vitaly V.V. написал(а):
Это просто суммы, которые не нужно раскидывать по видам движения.

Ну, в общем виде решить такую задачу, я думаю, невозможно (если мы не программируем пост обработку отчета). Но можно попробовать решить эту частную задачу:
Делаем в справочнике видов (возможно - делаем отдельный специальный признак "вид движения" именно для этого отчета) движения два фиктивных вида движения с текстами "По всем видам, на конец периода" и "По всем видам, текущий момент", при этом, назначаем им идентификаторы так, чтобы при сортировке по идентификатору они были расположены так, как нам нужно (если клиент хочет виды сортировать по алфавиту, то возможно придется поизвращаться с перекодированием ай-ди или всякими лидирующими "спец" символами типа подчеркивания, пробелов и т.д.). Далее делаем три куба - в одном наши обычные данные с правильным типом движения, в другом - те же самые данные, но каждая строка имеет тип движения "по всем видам", а в третьем - текущие данные, вид движения, естественно, "по всем видам, на текущий момент". Все три куба объединяем в один мульти-провайдер и дальше строим отчет, разбивая все остатки по виду движения и включив подавление результата для этого признака (скрывать результат - всегда).
Если я себе все правильно представил, то из второго куба мы получим сумму всех остатков на конец периода, из первого - остатки по видам (в смысле - по реальным видам), а из третьего - остатки на текущий момент.

Но все равно это изврат. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Вт, июн 05 2007, 08:22 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Vitaly V.V. написал(а):
Привет всем!

Можно ли сделать такой запрос (будет выводиться в WEB, поэтому рабочая книга и VBA не подходит)

<материал> <остаток> <остаток:вид движ1> <остаток:вид движ2> <остаток:вид движ...> <остаток:вид движN> <остаток на конец дня>

Может, как то можно малыми потерями обойтись?

Привет.
Если нет желания мутить WEB приложение то вариант один. Создать ещё один провайдер с такой же структурой, но без видов движения. Затем объединить их мультом, а в отчете по столбцам создаешь структуру в которой 3 "Выбора", в крайних показатель берешь из провайдера остатков, а в центральном из обычного, ну и ограничение на даты там-же наложить. Под структурой надо разместить признак вид движения. Загрузку в такой провайдер можно проводить из того-же источника. Если есть внедренный FI-AA то обрати внимание на 0FIA_MDS1, там как раз виды движения :) только для ОС, можно будет потренироваться.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Вт, июн 05 2007, 08:48 
Директор
Директор

Зарегистрирован:
Сб, мар 11 2006, 14:59
Сообщения: 1259
Пол: Мужской
EvgenySA написал(а):
Если нет желания мутить WEB приложение то вариант один. Создать ещё один провайдер с такой же структурой, но без видов движения. Затем объединить их мультом, а в отчете по столбцам создаешь структуру в которой 3 "Выбора", в крайних показатель берешь из провайдера остатков, а в центральном из обычного, ну и ограничение на даты там-же наложить. Под структурой надо разместить признак вид движения.

Интересно. А в этом случае разве не каждый из выборов структуры будет развернут по всем видам движения (т.е. получим n*3 столбцов)?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Вт, июн 05 2007, 09:46 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
Спасибо большое, Road Runner и EvgenySA!

Направление я понял.

Только вот засада - на экране выбора есть параметр - вид движения. Все показатели должны быть ограничены выбранными видами движения.

+ заказчик добавил еще 2 параметра в середину отчета - сумма прихода и расхода, их тоже не нужно бить по движениям...

Также заказчик стоит на своем - ему нужен отчет именно такого вида...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Вт, июн 05 2007, 10:04 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Road Runner написал:
Интересно. А в этом случае разве не каждый из выборов структуры будет развернут по всем видам движения (т.е. получим n*3 столбцов)?

Нет, именно для этого и нужен провайдер остатков без видов движения. В отчёте будет выводится заголовок в две строки в первой надпись типа "Остаток на начало", а ниже вместо вида движения "Не присвоено", далее в первой строке "Остатки по видам движения", ниже пачка ячеек с видами движений, а вот остаток на конец надо тоже брать из провайдера остатков ибо сумма "Остаток на начало" и "Остатки по видам движения" как раз даст развёртку по видам движений. Я это на 0FIA_MDS1 проверял.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Вт, июн 05 2007, 10:10 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Vitaly V.V. написал(а):
Спасибо большое, Road Runner и EvgenySA!

Направление я понял.

Только вот засада - на экране выбора есть параметр - вид движения. Все показатели должны быть ограничены выбранными видами движения.

+ заказчик добавил еще 2 параметра в середину отчета - сумма прихода и расхода, их тоже не нужно бить по движениям...

Также заказчик стоит на своем - ему нужен отчет именно такого вида...


Ну ты попал, сочувствую.
Провайдер остатков тут не поможет. Можно попробовать сделать сервисный куб на тот провайдер, который есть сейчас, а в модуле АБАПом схлопывать записи, убирая вид движения.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Вт, июн 05 2007, 17:20 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
:)

Уговорил разделить на 2 отчета. Ура! Еще поживем! :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Ср, июн 06 2007, 09:43 
Директор
Директор

Зарегистрирован:
Сб, мар 11 2006, 14:59
Сообщения: 1259
Пол: Мужской
EvgenySA написал(а):
Road Runner написал:
Интересно. А в этом случае разве не каждый из выборов структуры будет развернут по всем видам движения (т.е. получим n*3 столбцов)?

Нет, именно для этого и нужен провайдер остатков без видов движения. В отчёте будет выводится заголовок в две строки в первой надпись типа "Остаток на начало", а ниже вместо вида движения "Не присвоено", далее в первой строке "Остатки по видам движения", ниже пачка ячеек с видами движений, а вот остаток на конец надо тоже брать из провайдера остатков ибо сумма "Остаток на начало" и "Остатки по видам движения" как раз даст развёртку по видам движений. Я это на 0FIA_MDS1 проверял.

Интересно. Как только у меня появится возможность - попробую проверить. Конкретно я спрашиваю, потому что, на мой взгляд, у меня абсолютно схожая ситуация:
Есть первый провайдер с показателем "сумма по договору" и с ссылкой на "валюта по договору" и есть второй провайдер с показателем "сумма по счету", с ссылкой на "валюта по счету". Оба провайдера были объеденены в мультипровайдере. Нужен был отчет, чтобы сумма по договору была разбросана по валютам (какие есть в инфо-провайдере), а сумма по счету - пересчитана в указанную. Так вот попытка бросить признак "валюта по договору" под структуру с показателями привела к следующему:
Code:
|Сумма по дог.||Сумма по счт.|
|RUB|EUR|USD|#||RUB|EUR|USD|#|
| 5 | 30| 20|0|| 0 | 0 | 0 |9|

Хотя по аналогии с Вашим примером (во втором провайдере нет ссылки на признак "валюта по договору") в первом показателе не должно было бы быть #, а во втором - должна была бы быть только #. Единственно, смущает два отличия (или есть еще и я просто не вижу?) - структуру я не создавал, а была та, которая "создается автоматически" для показателей и второй момент - все же валюта не полноценный признак (не участвует в ключе куба, вроде бы... во всяком случае - явно) и обрабатывается как-то по особенному.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Ср, июн 06 2007, 09:50 
Директор
Директор

Зарегистрирован:
Сб, мар 11 2006, 14:59
Сообщения: 1259
Пол: Мужской
Vitaly V.V. написал(а):
:)
Уговорил разделить на 2 отчета. Ура! Еще поживем! :)

Поздравляю, имхо это единственный неизвратный вариант (да и нечего этим данным вместе делать).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Ср, июн 06 2007, 10:25 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Road Runner написал:
Интересно. Как только у меня появится возможность - попробую проверить. Конкретно я спрашиваю, потому что, на мой взгляд, у меня абсолютно схожая ситуация:
Есть первый провайдер с показателем "сумма по договору" и с ссылкой на "валюта по договору" и есть второй провайдер с показателем "сумма по счету", с ссылкой на "валюта по счету". Оба провайдера были объеденены в мультипровайдере. Нужен был отчет, чтобы сумма по договору была разбросана по валютам (какие есть в инфо-провайдере), а сумма по счету - пересчитана в указанную. Так вот попытка бросить признак "валюта по договору" под структуру с показателями привела к следующему:
Code:
|Сумма по дог.||Сумма по счт.|
|RUB|EUR|USD|#||RUB|EUR|USD|#|
| 5 | 30| 20|0|| 0 | 0 | 0 |9|

Хотя по аналогии с Вашим примером (во втором провайдере нет ссылки на признак "валюта по договору") в первом показателе не должно было бы быть #, а во втором - должна была бы быть только #. Единственно, смущает два отличия (или есть еще и я просто не вижу?) - структуру я не создавал, а была та, которая "создается автоматически" для показателей и второй момент - все же валюта не полноценный признак (не участвует в ключе куба, вроде бы... во всяком случае - явно) и обрабатывается как-то по особенному.


Упс :oops: забыл сказать что я ещё и скрытие нулей делал в свойствах структуры.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: хитрый запрос
СообщениеДобавлено: Ср, июн 06 2007, 15:37 
Директор
Директор

Зарегистрирован:
Сб, мар 11 2006, 14:59
Сообщения: 1259
Пол: Мужской
EvgenySA написал(а):
Упс :oops: забыл сказать что я ещё и скрытие нулей делал в свойствах структуры.

Наверно действительно из-за этого ! :) Полезный совет, спасибо!

З.Ы. "Ну, кроме чалмы еще, вот, сковорода нужна!" (с) Ералаш


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 08 2007, 10:56 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Таки осилил создание сервисного куба, теперь можно свою обработку данных делать в АБАП 8)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB