|
v7: Параметр отчета в другой отчет | ☑ | ||
---|---|---|---|---|
0
Юра22
18.10.13
✎
10:32
|
ЗиК!
Отчет среднесписочная численность. В нем рассчитывается среднесписочная численность работников. Я создал другой отчет самописный, таблицу в нем - где должно быть данное значение (среднесписочная численность). Вопрос: Чтобы мне код не "выдирать" из того отчета- как мне в коде нового отчета получить среднесписочную численность из того отчета??? Какие использовать методы, функции??? ПолучитьФорму(); ОткрытьФорму() и др.... Как это вообще реализовать? |
|||
1
2S
18.10.13
✎
10:34
|
а какая разница? на быстродействие это не влияет, код на самом деле тащить небольшой.
|
|||
2
2S
18.10.13
✎
10:35
|
перенести в свой отчет
|
|||
3
Юра22
18.10.13
✎
10:41
|
Код там очень большой!
Как передать параметр??? |
|||
4
Юра22
18.10.13
✎
10:42
|
Заставить в коде нового отчета выполнять тот отчет и вытягивать из него....??
Или по -другому? Хотя бы алгоритм действий подскажите! |
|||
5
Voronve
18.10.13
✎
10:43
|
Дерни код. Так тебе корежить 1 отчет. иначе - 2
|
|||
6
Chum
18.10.13
✎
10:48
|
Наверное, курить процедуру ПриОткрытии()
Например: Нужно из отчета1 вызвать отчет2, при этом в отчете2 что-то обработать и передать в отчет1. Реализация: В Отчет1 добавить вызов отчета2 через ОткрытьФорму(л_Контекст), причем, наверное лучше будет ОткрытьФормуМодально, тогда в следующей строке л_Контекст будет содержать переданное из отчет2 значение. В отчет2 в процедуре ПриОткрытии() анализировать Форма.Параметр Каким-то образом обработать данные, результат присвоить Форма.Параметр. //в отчет2 Процедура ПриОткрытии() Если ПУстоеЗначение(Форма.Параметр) = 0 Тогда Форма.Параметр = ОбработатьДанныеПолучитьРезультат(); СтатусВозврата() = 0; Возврат; КонецЕсли; //в отчет1 л_Список = СоздатьОбъект("СписокЗначений"); л_Список.ДобавитьЗначение(ывфыв1, "ваываыв1"); л_Список.ДобавитьЗначение(ывфыв2, "ваываыв2"); л_Список.ДобавитьЗначение(ывфыв3, "ваываыв3"); ОткрытьФормуМодально(ПутьКОтчету2, л_Список); //Далее л_Список - будет содержать возвращенное значение или объект из отчет2 |
|||
7
alexiv79
18.10.13
✎
11:02
|
(0) Лучше все-таки выдерни код оттуда- конфа не изменится, проще для обновления.Но есть проблемы - при изменении типового отчета придется видимо переписывать и свой - как вариант скопировать типовой отчет и в его немного допилить-например передавать тз в параметр и возвращать вычисленные данные и т.п. и вставлять в свой самописный отчет
|
|||
8
alexiv79
18.10.13
✎
11:02
|
+(7) Типовой отчет лучше не менять
|
|||
9
Юра22
18.10.13
✎
11:11
|
Так вот и в том то и дело , что будет внешний отчет ).
А конфа у нас и так изменена. Спасибо за ответы. На этом форуме хоть отвечают на вопросы- не то что на - devtrainingforum. |
|||
10
alexiv79
18.10.13
✎
11:13
|
(9) Ну даже внешний-вообще делали через СохранитьЗначение / ВосстановитьЗначение. обработка для расчетов процентов по кредитам - использовалась в отчетах. Из нужного отчета вызывалась, там вычислялись результаты, потом сохраняли Тз методом СОхранитьЗначение. Потом в начальном отчете восстанавливали значение в ТЗ
|
|||
11
Юра22
18.10.13
✎
11:13
|
Кстати, наткнулся в глобальном модуле на процедуру:
глПрочитатьПараметрыОтчетов(НомерСтроки = 0) Экспорт Еще ее не успел проанализировать, сразу решил написать сообщение ). Сейчас посмотрю. |
|||
12
alexiv79
18.10.13
✎
11:14
|
+(10) Вроде говорили люди что это извращение, но ничего лучше тогда не придумали
|
|||
13
alexiv79
18.10.13
✎
11:15
|
+(12) как вариант делали скрытую ТЗ на форме обработки, оттуда потом данные вытягивали
|
|||
14
Юра22
18.10.13
✎
11:16
|
alexiv79, твой ответ близок к истине!
Кажется это я мельком и встречал где-то в коде. |
|||
15
alexiv79
18.10.13
✎
11:20
|
(14) Не Алтайский край? г. Барнаул?
|
|||
16
NikVars
18.10.13
✎
11:30
|
(0) В копию отчета среднесписочная численность добавь свой функционал. Лишнее спрячь, свое навесь.
|
|||
17
Юра22
18.10.13
✎
11:47
|
Почему Барнаул?.
В любом случае - нет ) |
|||
18
monsterZE
18.10.13
✎
16:17
|
в сток отчет добавить выгрузку данных в файлик
в своем этот файлик подцепать и раскручивать |
|||
19
Morales
18.10.13
✎
17:27
|
как вариант:
В отчете из которого вызываешь: //--- спПараметров = СоздатьОбъект("СписокЗначений"); спПараметров.Установить("НачДата", НачДата); спПараметров.Установить("КонДата", КонДата); ОткрытьФорму("Отчет.НазваниеОтчета",спПараметров); В отчете который вызвал: //--- Процедура ПриОткрытии() Пар = Форма.Параметр; Если ТипЗначенияСтр(Пар) = "СписокЗначений" Тогда СтатусВозврата(0); НачДата = Пар.Получить("НачДата"); КонДата = Пар.Получить("КонДата"); Сформировать(); КонецЕсли; КонецПроцедуры //--- полученные результаты можно сохранить в глобальные переменные или тз в главном отчете прочитать значения и обнулить эти глобальные переменные |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |