В язык бизнес-процедур для функции PrintReport
в варианте с параметрами отчета в виде объекта класса Список
добавлена возможность передать список макропараметров для запросов,
используемых в отчете.
Полный синтаксис функции в этом варианте теперь выглядит следующим образом:
PrintReport
<псевдоним>,<фильтр>,<параметры>[,формат[,макропараметры]]
Вариант
PrintReport <псевдоним>,<фильтр>[,параметр=значение[,параметр=значение...]]
является устаревшим и не рекомендуется к использованию.
Для реализации возможности
формирования отчетов из бизнес-процедур с сохранением файла отчета по
заданному пути с заданным именем в формате Excel без вывода на экран диалога
с пользователем доработаны функция PrintReport и класс
Report мастера бизнес-процедур:
1. В функции PrintReport <псевдоним>, <фильтр>, <параметры> [,формат]
четвертый параметр в этом случае задается в виде полного имени файла. Имя файла должно
быть нечисловым, так как числовое значение воспринимается как указание на
формат (1 – стандартный формат; 2 – формат MS Excel). В случае указания
только имени файла (без полного пути) используется каталог, заданный по
умолчанию для сохранения отчетов в формате Excel в Конфигурации.
2. Параметр метода Start класса
Report может быть
задан в виде полного имени файла. Имя файла должно отличаться от «Excel»,
так как значение «Excel» будет воспринимается только как указание на формат
отчета.
В обоих случаях отчет формируется в формате Excel, сохранение производится в
файл с заданным именем. Если имя файла не заканчивается символами “.xls”,
эти символы автоматически добавляются к имени файла. Добавление расширения
не производится, если имя файла уже имеет расширение, то есть заканчивается
точкой, за которой следует не более 3-х символов.
Диалог с пользователем по корректировке параметров на экран не выводится.
При этом все настройки, кроме имени файла, сохраняют значения по умолчанию.
Предусмотрена возможность указать имя страницы, в которую будет выгружаться
отчет. Имя страницы отделяется от имени файла с помощью вертикальной черты,
например: "ФайлОтчета.xls | Страница 2". Если вертикальной черты в тексте
параметра нет, используется имя "Страница 1". Если файл уже существует, в
него добавляется или замещается страница с указанным именем. Если файл не
существует, формируется новый файл с такой страницей.
Доработаны функции:TForm;
TLookupForm; Reestr. Расширен синтаксис
функций:
TForm <псевдоним ТФ>, <тип документа>, <фильтр>,
<режим>
TLookupForm <псевдоним ТФ>, <тип документа>, <фильтр>,
<режим>
Reestr <тип документа>, <фильтр>, <режим>
Все параметры, кроме первого, являются необязательными.
Параметр <тип документа> учитывается только для реестров и позволяет
обойти диалог по выбору типа документа для тех табличных форм, которые
связаны с несколькими типами документов. При нулевом значении второго
параметра табличная форма реестра открывается по общим правилам.
Строковый параметр <режим>
может принимать следующие значения или их
произвольное сочетание (например, «123»):
1 - задает режим установки фильтра (третий
параметр) как серверного. Это надо учитывать при
составлении текста для условия фильтрации. Во избежание двусмысленности
рекомендуется поля основной таблицы снабжать префиксом MAIN. С другой
стороны, в этом фильтре можно использовать сложные условия, которые
применимы только в SQL, например, вложенные SELECT и т.п.;
2 - перед открытием табличной формы выводится диалог
установки серверного фильтра. Если для табличной формы задан фильтр по
умолчанию, он сразу же используется для фильтрации записей с помощью
серверного фильтра, то есть табличная форма открывается без диалога. Следует
также учитывать, что во всех случаях фильтр, заданный третьим параметром,
действует одновременно с фильтром, заданным по F6;
3 - используется только для реестров и позволяет отключить
режим вывода реестра, заданный в описании типа документа (помесячно,
поквартально, по годам, реестр целиком). Следует учитывать, что при
использовании таких режимов после выполнения функции TForm в табличной форме
не будет ни одной записи, пока не будет выполнен метод Show, ShowModal или
ShowLookup. Параметр «3» позволяет преодолеть эту проблему, если в
бизнес-процедуре предполагается выполнять какие-либо действия с табличной
формой без ее показа или еще до показа. Параметр «3» рекомендуется
использовать в сочетании с тем или иным серверным фильтром, чтобы избежать
открытия большой таблицы реестра целиком;
0 - используется только для табличных форм LIC_CH (Лицевые
счета) и ESN_BASE (Налоговая база ЕСН и суммы налогов) и позволяет отменить
предварительный диалог по установке фильтра при открытии этих табличных форм
без отбора по табельному номеру или коду получателя. Параметр «0»
рекомендуется использовать в сочетании с тем или иным серверным фильтром,
чтобы избежать открытия большой таблицы целиком.
Новые возможности функции TForm неприменимы для табличных форм SHTRAS
(штатное расписание); NAZN (штатная расстановка); OTPUSK (журнал неявок); TABRAB
(табель учета рабочего времени); CH_70_S (расчетная ведомость); SPR_70 (свод по
заработной плате); LIC_CH (лицевой счет с отбором по одному работнику).
Следует напомнить, что для таких табличных форм функцию TForm вообще
нельзя использовать, так как для них эта функция только открывает табличную
форму в немодальном режиме, но получить доступ к табличной форме нельзя.
Если необходимо использовать такую табличную форму для выбора из
справочника, следует вместо функции TForm использовать функцию TLookupForm.
В класс Набор данных добавлены новые методы,
которые реально могут быть использованы только в том случае, если
набор данных является табличной формой:
1) PrintForm - формирование печатной формы по шаблону с последущим
диалогом.
Параметры: псевдоним печатной формы, число копий при печати.
По завершении процесса формирования документа производится стандартный
диалог с оператором. Процедура продолжает работу только после закрытия
диалогового окна;
2) MakeForm - формирование печатной формы и сохранение в заданном
файле.
Параметры: псевдоним печатной формы, полное имя файла.
По завершении процесса формирования документа окно мониторинга закрывается,
файл с указанным полным именем сохраняется, выполнение процедуры
продолжается.
Оба метода могут вызываться как для табличной формы, созданной функцией
TForm, так и для набора данных, являющегося текущим при выполнении
бизнес-процедуры по кнопке в табличной форме.
Доработан класс Отчет в языке бизнес-процедур: если в качестве параметра метода Start передать строку "Excel", отчет будет формироваться в формате MS Excel.
В язык бизнес-процедур добавлена функция SysLog. Функция добавляет запись о событии в системный протокол. Параметры: название события, текст сообщения с описанием события.
Функцию бизнес-процедур RunSQL можно использовать в выражении. Возвращаемое значение: число обработанных записей.
В функцию FormatImpExp() добавлен аргумент DatFileName, задающий имя файла для экспорта/импорта (по умолчанию - пуст). Если имя задано, то экспорт / импорт производится в указанный файл, иначе используется имя из шаблона, в котором описан формат данных.
Описание синтаксиса функции FormatImpExp с учетом дополнительного параметра:
FormatImpExp набор данных, флаг1, конфигурация, флаг2, заголовок, признак, имя файла - используется для экспорта и импорта произвольных данных в следующих форматах:
1) *.dbf - база данных FoxPro;
2) *.txt - текстовый файл без разделителей;
3) *.txt - текстовый файл с разделителями (табуляцией).
Параметры:
1. Набор данных, из которого осуществляется экспорт или в который осуществляется импорт.
2. Логический: следует ли выполнять импорт (истина) или экспорт (ложь).
3. Текст: имя файла конфигурации, в котором описан формат данных. Если значение параметра не указано или пусто, будет открыт стандартный диалог выбора файла конфигурации.
4. Логический: надо ли показывать протокол после завершения операции. Допустимые значения: "истина" - показывать протокол, "ложь" - не показывать протокол.
5. Заголовок окна просмотра протокола.
6. Признак, показывающий действия в случае, если при экспорте файл уже существует. Может принимать следующие значения:
0 - переспросить у оператора (умолчание);
1 - перезаписать файл (таблицу) новыми данными;
2 - дописать в конец файла (таблицы).
7. Имя файла – если указано, то задает имя файла, из которого производится импорт или в который производится экспорт данных. В этом случае имя файла, указанное в первой строке файла конфигурации, не учитывается.
Возвращаемое значение: числовое, признак успешного (0) или неуспешного (минус 1) завершения операции.
В язык бизнес-процедур для модуля "Управление персоналом" добавлена функция RefreshCache, которая обновляет кэшированные данные, используемые для открытой расчетной ведомости. Функция имеет один параметр: псевдоним таблицы, которую необходимо обновить в кэше. При пустом параметре (подразумевается по умолчанию) обновляется кэш для всех четырех таблиц (справочник видов оплаты KODTAB, кадровая картотека KADRY, штатная расстановка NAZN, табель учета рабочего времени TABRAB). Если табличная форма расчетной ведомости не открыта, функция ничего не делает.
Доработана функция транслятора GET_NAL_SUM (ОСТ_СТ_ГР), которая используется в модуле "Учет имущества" при расчете данных Налоговой декларации по налогу на имущество организаций (налогового расчета по авансовому платежу):
Возвращаемое значение: сумма остаточной стоимости по группе, числовое.
Параметры:
ID строки таблицы CA_NAL_IM - Налог на имущество (начальные данные), числовой, целый
Код группы, числовой, целый. 0 – по всем группам
Месяц, числовой, целый. Допустимые значения 0 – 13:
0 – возвращает среднюю остаточную стоимость;
1..12 - возвращает остаточную стоимость на 1 января...1 декабря;
13 - возвращает остаточную стоимость на на 1 января следующего года;
14 - возвращает остаточную стоимость на 31 декабря;
15 - возвращает среднюю остаточную стоимость с учетом 31 декабря.Пример: Round(GET_NAL_SUM(_FIELDS@ID,GR_1,1),0)