Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
rebel25 Большой шоколадный орден

Зарегистрирован: 06.10.2008 Сообщения: 580 Откуда: Москва
|
Добавлено: Пт Мар 02, 2012 13:20 Заголовок сообщения: Параметры отчета |
|
|
Создал отчет, который берет данные из SP. При запуске из произвольных отчетов передаю параметры в SP. Но при запуске перед отчетом выводится запрос параметров. Ввожу их и получаю правильный отчет, иначе пустой отчет.
Скажите, что нужно сделать чтобы параметры передавались в процедуру и отчет при запуске их не запрашивал? |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Мар 02, 2012 14:44 Заголовок сообщения: |
|
|
Лучше не пользоваться ХП, это очень кривой функционал.
Лучше подготовить данные в промежуточной таблице типа Z_REP |
|
Вернуться к началу |
|
 |
rebel25 Большой шоколадный орден

Зарегистрирован: 06.10.2008 Сообщения: 580 Откуда: Москва
|
Добавлено: Пт Мар 02, 2012 18:54 Заголовок сообщения: |
|
|
Спасибо, теперь работает |
|
Вернуться к началу |
|
 |
Mike Большой шоколадный орден

Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Май 04, 2012 12:32 Заголовок сообщения: |
|
|
Добрый день,
Требуется помощь опытных людей =)
Код примерно вот такой:
Код: | Alias {App = 'Бухгалтер';
FIO = 'Маклагов И.В.'};
udf Z, "zrp_расч_компенс_04",auto_leave_,param_[''];
report USER_GUM_ЗАПИСКА_РАСЧЕТ_Т-61-2004.rpt,"Записка расчет при прекращении действия трудового договора",{st=curstation; leave_prm_ = param_; Appcr = App; FIOcr = FIO; },option_,,; |
Это вырезка из стандартной процедуры формирования Т-61 pr_prc_form_T61
Что я добавил:
Код: | Alias {App ='Бухгалтер';
FIO = 'Маклагов И.В.'}; |
и в параметры
Код: | Appcr = App; FIOcr = FIO; |
В свою очередь в сам отчет были добавлены поля parameter fields Appcr и FIOcr
Но при формировании отчета CR запрашивает два параметра, которые я добавил. Как можно сделать так, чтобы параметры не запрашивались?
Тут было отвечено, что:
Цитата: | Лучше не пользоваться ХП, это очень кривой функционал.
Лучше подготовить данные в промежуточной таблице типа Z_REP |
Что такое ХП или SP?
Значит ли это, что мне лучше сохранить данные по фио и должности в промежуточной таблице?
Спасибо
Последний раз редактировалось: Mike (Пт Май 04, 2012 13:03), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
DUCKKK Большой шоколадный орден

Зарегистрирован: 16.09.2009 Сообщения: 1688
|
Добавлено: Пт Май 04, 2012 12:46 Заголовок сообщения: |
|
|
Хранимая (серверная) процедура (шепотом) .... |
|
Вернуться к началу |
|
 |
Mike Большой шоколадный орден

Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Май 04, 2012 12:49 Заголовок сообщения: |
|
|
Ну вот я ХП не пользуюсь
У меня просто две переменные, которые передаются как параметры, но не передаются в итоге  |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
|
Вернуться к началу |
|
 |
Mike Большой шоколадный орден

Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Май 04, 2012 16:01 Заголовок сообщения: |
|
|
Цитата: | Добавлено: Ср Апр 04, 2012 14:05 Заголовок сообщения:
Для начала:
я бы не советовал так писать:
report user_mDoc.rpt,"Заголовок",{st = curstation;},0x0020,,Arial;
Delete from user_rep where st = curstation;
Имя переменной не должно совпадать с именем поля в таблице.
В вашем случае Вы получите после подстановки
Delete from user_rep where curstation = curstation;
Нужно:
В отчете создать переменную, например _ST
В процедуре ее объявить, тогда Crystal ee подцепит сам.
LOCAL _st := curstation;
report user_mDoc.rpt,"Заголовок",{},0x0020,,Arial;
Delete from user_rep where st = curstation; |
Извиняюсь, но я не понял, что значит "в отчете создать переменную"?
Создать поле parameter field с таким же именем или воспользоваться formula field и там в процедуре объявить одноименную переменную?
Что-то я не совсем понимаю этот момент.
Это правда, что если я объявлю как-то так:
Код: | LOCAL {App = 'Бухгалтер';
FIO = 'Маклагов И.В.'};
report USER_GUM_ЗАПИСКА_РАСЧЕТ_Т-61-2004.rpt,"Записка расчет при прекращении действия трудового договора",{},option_,,; |
То Кристал подтянет переменные App и FIO?
Спасибо |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Май 04, 2012 16:26 Заголовок сообщения: |
|
|
Подтянет. Если переменные будут объявлены как входные параметры в отчете. |
|
Вернуться к началу |
|
 |
Mike Большой шоколадный орден

Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Май 04, 2012 16:30 Заголовок сообщения: |
|
|
Вроде бы все ясно, спасибо.
буду пробовать |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Май 04, 2012 16:32 Заголовок сообщения: |
|
|
Для примера:
модуль "ШР"
диалог печати формы Т-3 (pr_dlg_rep_staff)
там тоже подписи передаются в отчет ...
-- Подписи
-- Переменные объявлены выше ..
-- LOCAL {rep_fio_0_; rep_app_0_; rep_fio_1_; rep_app_1_; rep_fio_2_; rep_app_2_;};
и т.д. |
|
Вернуться к началу |
|
 |
Mike Большой шоколадный орден

Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Май 04, 2012 16:34 Заголовок сообщения: |
|
|
Большое спасибо, что потратили время на объяснение |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Май 04, 2012 16:37 Заголовок сообщения: |
|
|
И еще:
в документах "по ГОСТу" инициалы идут вначале.
Для примера:
можно посмотреть вызов в х-процедуре hr_prc_signature
а там есть вызов серверной функции dbo.udf_getfullname |
|
Вернуться к началу |
|
 |
|