0
Отвечен

Применение скриптовой функции в отчетах

Алексей Панчихин 2 года назад в Отчетность обновлен Гашков Николай (Эксперт) 2 года назад 11

Добрый день!

При формировании отчета, одну из колонок формирует скриптовая функция, которая по каждому ЛС вычисляет суммы с применением некого алгоритма по источникам и совместительствам. Ввиду того что перечень источников и совместительств в ЛС может быть разным, функция выдает результат в колонку текстовым списком. Естественно возникает желание аккумулировать в некой глобальной структуре суммы, вычисляемые функцией в разрезе источников/совместительств, чтобы вывести итоги в отчете. Есть какой-то вариант объявить глобальную переменную при открытии отчета, собрать в ней суммы с помощью функции, вывести итог при закрытии отчета?

На рассмотрении

Добрый день!

скриптовая функция, которая по каждому ЛС

Обычно в функцию передают параметрами источник и сов-во по которым нужна сумма..

функция выдает результат в колонку текстовым списком

на вкус и цвет все фломастеры разные... почему не вернуть сразу сумму?

чтобы вывести итоги в отчете.

Таблица умеет самостоятельно считать итоги по столбцу

Есть какой-то вариант объявить глобальную переменную при открытии отчета

В функции "Начало приема из ЛС"  можно прописать скриптовую функцию.. и в ней выполнить инициализацию глоб. переменной

вывести итог при закрытии отчета?

в функции ""Конец приема из ЛС"

З.ы. мне кажется вы изобретаете велосипед. Опишите задачу полностью...

У нас источников примерно 10 и еще совместительств может быть у некоторых более 2х, на эти комбинации зарезервировать колонки в отчете,  наверное не вариант! Попробую объявить глобальную переменную, спасибо!
Вложения:
a_g_panchihin.vcf

Почему нельзя организовать таблицу в таком виде?

(в отдельные  колонки вывести ист. и код должности)

Добрый день!

Это был бы вариант, если бы можно было вывести в таблицу отчета по ЛС строки со всеми комбинациями совместительство+источник, вне привязки к видам начислений, чтобы по каждой строке можно было получить сумму функцией:

CashSummProp(0,59,month,month,96,CL_COL|CL_SOURCE|CL_NACH|CL_MV,prop), где prop содержит comb и src из строки.

Тогда можно было бы по таблице строить фильтры и получать итоги, например по источнику.


Вложения:
a_g_panchihin.vcf
то был бы вариант, если бы можно было вывести в таблицу отчета по ЛС строки со всеми комбинациями совместительство+источник, вне привязки к видам начислений

В столбце 6 отметьте * нужные ключевые поля ( ТН, источник, сов-во) и программа "схлопнет"  вам данные

Извиняюсь, не понял, где отметить * поля и вообще как создать настроечную таблицу?

На рассмотрении

1)Отчеты -> Выборки -> F9

2)По F7 создаем отдельную таблицу ( за основу берем В9)

3)Пишем название новой таблицы, заходим внутрь

4)F9 - попали в настроечную таблицу 

5)двигаемся вправо до столбца 6

6) ставим * в ключевых колонках 

7)F10 - выходим с сохранением, формируем, проверяем..

Да, свертка таблицы получилась! спасибо!

Если позволите, в продолжение темы: Попробовал Вами предложенный вариант, сделал вывод - не подходит для задачи!

Для каждой таблицы, если я правильно понял, возможно применить обработчики событий Начало приема из ЛС и Конец приема из ЛС, где можно прописать скриптовый обработчик, если при начале приема объявить глобальную переменную, можно ее юзать в процессе и как-то применить при окончании, вопрос Как в рамках этой же таблицы? Намекните пожалуйста, или посоветуйте в какой из системных таблиц это можно посмотреть! Спасибо!

1)Объявляете глобальную переменную

2)в функции " Начало приема из ЛС" инициализируете ее

3)используете либо в самой таблице, либо в " Конец приема из ЛС"

4)пример можно посмотреть в "Работа -> Работа с Кассой -> Обмен с банками"

(Таблица "Открытие счетов в Промсвязьбанке" перед формированием запрашивает тип продукта и результат помещает в глоб.переменную tipProdukta)

если б описали задачу полностью - решение бы нашли быстрее

Сервис поддержки клиентов работает на платформе UserEcho