Отчеты в Альта-ГТД, создание сценариев для автоматического создания отчетности: различия между версиями

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
(Новая страница: «Запуск выгрузки отчета с помощью файла сценария Запуск осуществляется командой: C:\Alta\Gt…»)
 
м (Картинки)
Строка 38: Строка 38:
 
Имя файла отчета можно увидеть в самом приложении при выборе нужного отчета
 
Имя файла отчета можно увидеть в самом приложении при выборе нужного отчета
 
   
 
   
 
+
[[:file:filename_of_report.jpg]]
 +
 
В разделе SaveTo необходимо указать путь и формат выгруки каждого отчета
 
В разделе SaveTo необходимо указать путь и формат выгруки каждого отчета
 
При необходимости, в разделе MailTo можно указать почту, на которую необходимо отправить выгруженный отчет.
 
При необходимости, в разделе MailTo можно указать почту, на которую необходимо отправить выгруженный отчет.
 
При этом нужно настроить параметры электронной почты в настройках приложения.
 
При этом нужно настроить параметры электронной почты в настройках приложения.
 
   
 
   
 +
[[:file:mail_settings.jpg]]
  
 
Если отправка отчета по электронной почте не нужна, соответствующий раздел в файле сценария можно не указывать.
 
Если отправка отчета по электронной почте не нужна, соответствующий раздел в файле сценария можно не указывать.
Строка 49: Строка 51:
 
Каталог с ключом {00000000-0000-0000-0000-000000000000} – это основной каталог.
 
Каталог с ключом {00000000-0000-0000-0000-000000000000} – это основной каталог.
 
Посмотреть ключ для нужного каталога можно в программе Альта ГТД. Необходимо открыть любой документ (например, ДТ), находящий в данном каталоге. Далее в меню ДТ(ГТД) – Информация о документе – скопировать данный ключ из параметра «GUID папки».
 
Посмотреть ключ для нужного каталога можно в программе Альта ГТД. Необходимо открыть любой документ (например, ДТ), находящий в данном каталоге. Далее в меню ДТ(ГТД) – Информация о документе – скопировать данный ключ из параметра «GUID папки».
 +
 +
[[:file:info.jpg]]
 
   
 
   
 
 
Строка 54: Строка 58:
 
Имена фильтров необходимо смотреть в файле отчета в разделе [Filters]
 
Имена фильтров необходимо смотреть в файле отчета в разделе [Filters]
 
   
 
   
 +
[[:file:filter_names.jpg]]
 +
 
Для фильтров типа Date есть возможность указания как конкретной даты, так и поименованного периода.
 
Для фильтров типа Date есть возможность указания как конкретной даты, так и поименованного периода.
 
Например:
 
Например:
Строка 64: Строка 70:
  
 
Фильтры EDDOCS, REGISTER, ENDRES – это дополнительные фильтры для ограничения выборки
 
Фильтры EDDOCS, REGISTER, ENDRES – это дополнительные фильтры для ограничения выборки
 +
 +
[[:file:filter_window.jpg]]
 
   
 
   
 
 
Строка 70: Строка 78:
 
Для выгрузки отчета по расписанию необходимо воспользоваться стандартным функционалом операционной системы Windows -  Планировщик заданий
 
Для выгрузки отчета по расписанию необходимо воспользоваться стандартным функционалом операционной системы Windows -  Планировщик заданий
 
В Планировщике необходимо добавить новую задачу, указав на вкладке «Действия» путь и параметры исполняемого файла.
 
В Планировщике необходимо добавить новую задачу, указав на вкладке «Действия» путь и параметры исполняемого файла.
 
  
 +
[[:file:"D:\ins_gtdw\ed-2\Отчетность сценарии\plan.jpg"]]
 
 
 
Если файл сценария нужно создавать динамически на основе каких-то данных, например, каждый день строить отчет за последние 3 дня относительно текущей даты, то для этого можно воспользоваться стандартным функционалом Windows – пакетным файлом (файл .bat)
 
Если файл сценария нужно создавать динамически на основе каких-то данных, например, каждый день строить отчет за последние 3 дня относительно текущей даты, то для этого можно воспользоваться стандартным функционалом Windows – пакетным файлом (файл .bat)
Строка 108: Строка 116:
  
 
rem Convert the date to Julian Day Number
 
rem Convert the date to Julian Day Number
 +
 
:DateToJDN dd.mm.yyyy jdn=
 
:DateToJDN dd.mm.yyyy jdn=
 +
 
setlocal
 
setlocal
 
set date=%1
 
set date=%1
Строка 117: Строка 127:
  
 
rem Convert Julian Day Number back to date
 
rem Convert Julian Day Number back to date
 +
 
:JDNToDate jdn dd.mm.yyyy=
 
:JDNToDate jdn dd.mm.yyyy=
 +
 
setlocal
 
setlocal
 
set /A l=%1+68569,n=(4*l)/146097,l=l-(146097*n+3)/4,i=(4000*(l+1))/1461001,l=l-(1461*i)/4+31,j=(80*l)/2447,dd=l-(2447*j)/80,l=j/11,mm=j+2-(12*l),yy=100*(n-49)+i+l
 
set /A l=%1+68569,n=(4*l)/146097,l=l-(146097*n+3)/4,i=(4000*(l+1))/1461001,l=l-(1461*i)/4+31,j=(80*l)/2447,dd=l-(2447*j)/80,l=j/11,mm=j+2-(12*l),yy=100*(n-49)+i+l

Версия 14:30, 16 апреля 2020

Запуск выгрузки отчета с помощью файла сценария


Запуск осуществляется командой: C:\Alta\GtdRep.exe /sC:\Temp\scen.ini где "C:\Alta\" – путь к каталогу, где установлена программа Альта ГТД "C:\Temp\scen.ini" – путь к файлу сценария

Формат файла сценария: [Count] Forms=Report1.dat,Report2.dat,... ; имена форм отчетов [SaveTo] Report1.dat=С:\отчет1.xls ; имена файлов куда сохранить Report2.dat=D:\отчет2.htm ... [MailTo] Report1.dat=test@test.ru Report2.dat=test@test.ru … [Folder] Report1. dat ={00000000-0000-0000-0000-000000000000} ;здесь указан основной каталог Report2. dat ={00000000-0000-0000-0000-000000000000} … [Filter.Report1.dat]; параметры фильтра 7_1.Date.From_Date=01-01-2020 7_1.Date.To_Date=31-12-2020 7_1.Post=10210100 REGISTER=1 EDDOCS=1 ENDRES=1 [Filter.Report2.dat] ...

  Подробное описание файла сценария В разделе Count указываются имена форм отчетов через запятую. Имя файла отчета можно увидеть в самом приложении при выборе нужного отчета

file:filename_of_report.jpg

В разделе SaveTo необходимо указать путь и формат выгруки каждого отчета При необходимости, в разделе MailTo можно указать почту, на которую необходимо отправить выгруженный отчет. При этом нужно настроить параметры электронной почты в настройках приложения.

file:mail_settings.jpg

Если отправка отчета по электронной почте не нужна, соответствующий раздел в файле сценария можно не указывать.   В разделе Folder необходимо указать каталог, по которому будет строиться отчет. Можно указывать несколько каталогов через запятую. Каталог с ключом {00000000-0000-0000-0000-000000000000} – это основной каталог. Посмотреть ключ для нужного каталога можно в программе Альта ГТД. Необходимо открыть любой документ (например, ДТ), находящий в данном каталоге. Далее в меню ДТ(ГТД) – Информация о документе – скопировать данный ключ из параметра «GUID папки».

file:info.jpg

  Для каждого отчета необходимо добавить свой раздел Filter с именем файла отчета (например, Filter.Report1.dat). Имена фильтров необходимо смотреть в файле отчета в разделе [Filters]

file:filter_names.jpg

Для фильтров типа Date есть возможность указания как конкретной даты, так и поименованного периода. Например: 7_1.Date = TODAY Тут возможны варианты: TODAY, YESTERDAY, CURWEEK, LASTWEEK, CURMONTH, LASTMONTH, CURYEAR, LASTYEAR (сегодня, вчера, тек. неделя, прошлая неделя, тек. месяц, прошлый месяц, тек. год, прошлый год) Либо конкретные даты: 7_1.Date.From_Date=01-01-2020 7_1.Date.To_Date=31-12-2020 Даты в формате [ДД-ММ-ГГГГ]

Фильтры EDDOCS, REGISTER, ENDRES – это дополнительные фильтры для ограничения выборки

file:filter_window.jpg

  Выгрузка по расписанию

Для выгрузки отчета по расписанию необходимо воспользоваться стандартным функционалом операционной системы Windows - Планировщик заданий В Планировщике необходимо добавить новую задачу, указав на вкладке «Действия» путь и параметры исполняемого файла.

file:"D:\ins_gtdw\ed-2\Отчетность сценарии\plan.jpg"   Если файл сценария нужно создавать динамически на основе каких-то данных, например, каждый день строить отчет за последние 3 дня относительно текущей даты, то для этого можно воспользоваться стандартным функционалом Windows – пакетным файлом (файл .bat) Т.е. необходимо разработать bat-файл, который будет генерировать файл сценария и запускать выгрузку отчета по этиму файлом сценария. В планировщик при этом необходимо будет добавлять задачу с указанием пути к данному bat-файлу. Пример такого bat-файла с генерацией файла сценария, запускающего построение отчета за последние 3 дня от текущей даты:

@echo off &SETLOCAL

SET "days=3" SET "report=report31.dat" SET "dir={00000000-0000-0000-0000-000000000000}" SET "saveto=C:\tmp1\report31.csv" SET "till=%date%"

CALL:DateToJDN %till% tillNo SET /a fromNo=tillNo-days+1 CALL:JDNToDate %fromNo% from

del "scen.ini" echo [Count] >>scen.ini echo Forms=%report% >>scen.ini echo [saveto] >>scen.ini echo %report%=%saveto% >>scen.ini echo [Filter.%report%] >>scen.ini echo GetDV.From_Date = %from% >>scen.ini echo GetDV.To_Date = %till% >>scen.ini echo REGISTER=1 >>scen.ini echo EDDOCS=1 >>scen.ini echo [folder] >>scen.ini echo %report%=%dir% >>scen.ini

TIMEOUT /T 1 start "" "c:\alta\GtdRep.exe" "/sc:\tmp1\testbat\scen.ini" GOTO:EOF

rem Convert the date to Julian Day Number

DateToJDN dd.mm.yyyy jdn=

setlocal set date=%1 set /A yy=%date:~-4%, mm=1%date:~-7,2% %% 100, dd=1%date:~-10,2% %% 100 set /A a=mm-14, jdn=(1461*(yy+4800+a/12))/4+(367*(mm-2-12*(a/12)))/12-(3*((yy+4900+a/12)/100))/4+dd-32075 endlocal & set %2=%jdn% exit /B

rem Convert Julian Day Number back to date

JDNToDate jdn dd.mm.yyyy=

setlocal set /A l=%1+68569,n=(4*l)/146097,l=l-(146097*n+3)/4,i=(4000*(l+1))/1461001,l=l-(1461*i)/4+31,j=(80*l)/2447,dd=l-(2447*j)/80,l=j/11,mm=j+2-(12*l),yy=100*(n-49)+i+l if %dd% lss 10 set dd=0%dd% if %mm% lss 10 set mm=0%mm% endlocal & set %2=%dd%.%mm%.%yy% exit /B

endlocal