Разработка шаблонов

Шаблон конкретного типа документа хранится в файле с расширением (*.rep. или *.dot), в котором отражается содержание и внешний вид документа. Каждый шаблон также содержит уникальный набор ключевых слов, который зависит от типа документа. Ключевое слово – это зарезервированное слово встроенного в программу языка программирования, имеющее уникальное имя.

В шаблоне используются ключевые слова двух видов, отличающиеся по виду и назначению. Ключевые слова первого вида начинается с символа # (решетка) и используется для задания начала и конца отдельных частей шаблона, например, #НАЧАЛО_ШАПКИ и #КОНЕЦ_ШАПКИ.

В готовом виде в шаблоне должны быть перечислены все элементы, отражающие структуру документа и являющиеся “общими” для всех документов данного типа. На основании одного шаблона создается множество документов данного типа (например, приказ о приеме сотрудника), отличающихся своим индивидуальным набором данных.

Второй вид ключевых слов используется для подстановки данных конкретного документа, их имена заключены в квадратные скобки "[ ]". При формировании отчета вместо этих ключевых слов генератор отчетов вставляет соответствующие значения из базы данных. Причем, перед закрывающей квадратной скобкой можно добавить любое число символов "пробел" (оставить пустое место). Реальное значение, подставляемое вместо ключевого слова в выходной документ, будет занимать в документе столько же печатных позиций, сколько их занимает ключевое слово (вместе с обрамляющими его квадратными скобками и всеми пробелами) в тексте шаблона.

НЕ нашли? Не то? Что вы ищете?

Размещение ключевых слов в шаблоне в формате Word осуществляется через механизм закладок (bookmarks), имена которых берутся из списка ключевых слов. Закладка – это элемент документа в формате Word, которому присвоено уникальное имя.

Структура шаблона

Файл шаблона состоит из нескольких частей, перечисленных в строго определенном порядке. Каждая часть содержит набор строк, характеризуется своим назначением и местоположением на шаблоне. Первая и последняя строки каждой части шаблона являются специальными, характеризуют назначение этой части, начинаются с символа # и служат для разделения различных частей друг от друга.

В общем случае шаблон может включать следующие составные части, расположенные обязательно в указанном порядке:

· Расчетная (формульная) часть – одна или несколько строк, содержащих описание формул.

Каждая формула описывается в отдельной строке расчетной части шаблона. Такая строка должна начинаться с латинской буквы "F", за которой указываются две цифры (номер формулы) и знак "равно" (=). Справа от знака "равно" записывается собственно формула. Например: F01=[R001]+[R002]. Расчетная часть содержится в шаблоне между строкой #НАЧАЛО_ФОРМУЛ и строкой #КОНЕЦ_ФОРМУЛ.

· Титульная часть – текст, который должен печататься один раз в начале документа между строкой #НАЧАЛО_ТИТУЛ и строкой #КОНЕЦ_ТИТУЛ. В нем могут содержаться ключевые слова и ссылки на формулы.

· Шапка (заголовок страницы) – часть текста, которая должна повторяться на каждой новой странице выходного документа (в отличие от титула). Шапка может содержать ключевые слова. Она содержится в шаблоне между строкой #НАЧАЛО_ШАПКИ и строкой #КОНЕЦ_ШАПКИ.

· Цикл (тело документа) – описание повторяющейся части документа.

Тело документа в файле шаблона расположено между строкой #НАЧАЛО_ЦИКЛА и строкой #КОНЕЦ_ЦИКЛА. В выходном документе эта часть будет повторена столько раз, сколько сотрудников или подразделе­ний (в случае сводной ведомости) будет перечислено в документе.

Все ключевые слова, являющиеся ссылками на формулы, в теле документа интерпретируются как обозначающие результат вычислений по конкретному сотруднику или подразделению.

· Подвал листа – нижняя часть листа, должна повторяться на каждой новой странице выходного документа.

Подвал листа документа может содержать ключевые слова, в том числе, ссылки на формулы. Он содержится в шаблоне между строкой #НАЧАЛО_ПОДВАЛА и строкой #КОНЕЦ_ПОДВАЛА.

Подвал листа может быть необходим, например, для того, чтобы формировать общие суммы выплат по каждой странице ведомости.

· Подвал документа – завершающая (нижняя) часть, которая служит для формирования аналитической части документа и подписей на последней странице.

Нижняя часть печатается всегда на последней странице. Документ разбивается постранично таким образом, чтобы на последнем листе обяза­тельно присутствовала "шапка" и хотя бы одна строка из повторяющейся части документа, а затем уже печатается нижняя часть документа.

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

Подвал документа расположен в шаблоне между строками #НАЧАЛО_ПОДВАЛА_ОТЧЕТА и #КОНЕЦ_ПОДВАЛА_ОТЧЕТА.

Шаблон может также содержать комментарии, т. е. поясняющий текст, содержащий одну или несколько строк, начинающихся со знаков "//". В выходной документ такие строки не переносятся. Комментарий может располагаться в любом месте файла-шаблона. Количество таких строк в шаблоне не ограничено. Файлы шаблонов, стандартно поставляемые в модуле "АиТ:\Зарплата", снабжены подробными комментариями, в которых описаны назначение и правила использования данного шаблона.

Синтаксис и макет документа

Содержащиеся в шаблоне расчетная часть, титульная часть, "шапка", цикл (тело) документа, подвал листа и подвал документа образуют макет выходного документа. В макете используются ключевые слова, вместо которых программа вставляет константы, указанные в настройке, значения сумм по определенному виду начислений или расчетные значения, полученные по описанным в шаблоне формулам.

Каждое ключевое слово должно быть заключено в квадратные скобки, причем перед закрывающей скобкой можно добавить любое число знаков пробела, т. е. пустых символов.

Внимание. Значение, подставляемое вместо ключевого слова в выходной документ, будет занимать столько же печатных позиций, сколько их занимает ключевое слово (вместе с обрамляющими его квадратными скобками и всеми пробелами) в тексте шаблона.

Приводимый список ключевых слов, которые допустимо использовать в шаблонах, не является исчерпывающим. Дополнительные разновидности ключевых слов описаны в комментариях к шаблонам, поставляемым вместе с программой.

8.2 .Использование формул в шаблоне

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

Чтобы указать место в выходном документе, куда следует подставить вычисленное по формуле значение, в файле шаблона используют специальную "ссылку на формулу", которая имеет вид [Fxx], где xx – номер формулы, не более трех знаков. В шаблоне ссылки на каждую формулу можно использовать сколько угодно раз в теле документа, но не более одного раза – в титульной части и подвале.

Формула может содержать:

· Арифметические операции (+, -,/, *), круглые скобки и числа;

· Ссылки на значения сумм по конкретному начислению (выражения типа Rxxx, где xxx – код вида начисления) и на значения других формул (выражения типа Fxx где xx – номер формулы);

· Ссылки на значения ключевых слов;

· Функции, аналогичные используемым функциям, при создании формул расчета начислений (в частности - if, int, round);

· Функцию fond(N), выдающую сумму начислений, входящих в учетный фонд fond(N), где N – номер фонда.

8.3. Имена электронных файлов

Согласно приказу ФНС России от 01.01.2001 г. № ММ-3-13/230@ изменился формат имени файла. Файлы, содержащие данные бухгалтерской и налоговой отчетности, представляемые налогоплательщиками (юридическими лицами) в электронном виде, должны иметь имя файла в формате: ОИИИИИИИИИИ_ККККККККК_ГГ_НННННН.txt, где

О – префикс, обозначающий данные форм бухгалтерской и налоговой отчетности налогоплательщиков-организаций (индивидуальных предпринимателей, налоговых агентов, физических лиц и т. д.);

ИИИИИИИИИИ – 10-разрядный ИНН юридического лица;

ККККККККК – 9-ти разрядный код причины постановки на учет (КПП);

ГГ – две последние цифры года, за который передается информация;

НННННН – порядковый номер файла в отчетном году по данному типу передаваемой информации.

Чтобы сформировался электронный файл с вышеуказанным именем, необходимо в шаблоне электронного документа заменить строку:

ИМЯ_ОТЧЕТА=O[ИНН5,5][ГОД2].[НОМ_Д3]

на строку

ИМЯ_ОТЧЕТА=O[ИНН1,10]_[КОД_ПРИЧИНЫ]_[ГОД2]_[НОМ_Д6].txt

8.4. Хранимая процедура (скрипт)

Программа предоставляет опытным пользователям широкие возможности по созданию отчетов, удовлетворяющих всевозможным запросам и индивидуальным потребностям пользователей, используя инструмент хранимых процедур.

Хранимая процедура – это набор предложений языка SQL, который выполняется (компилируется) один раз и хранится на сервере базы данных. Хранимая процедура создает в рабочей базе данных дополнительную таблицу и заполняет ее данными по выбранным параметрам. Состав подбираемых данных задается при составлении самой хранимой процедуры.

Дополнительная таблица, в отличие от основных таблиц базы данных, используется программным комплексом только для формирования отчета типа "хранимая процедура".

Для получения отчета по хранимой процедуре необходимо:

· разработать скрипт, на основании которого на сервере рабочей базы данных формируется хранимая процедура;

· откомпилировать скрипт с хранимой процедурой;

· разработать rep-шаблон и xls-шаблон документа.

Отчет, основанный на хранимой процедуре, позволяет отобразить даже такие данные, которые невозможно получить с помощью других видов отчетов. Операции по подготовке данных для построения отчета (документа) должны выполняться квалифицированными программистами или специалистами компании разработчика программы. Отображаемые в отчете данные зависят от кода (исходного текста) хранимой процедуры, написанной на языке SQL.

Внимание. При создании исходного кода хранимых процедур целесообразно обращаться за консультацией к специалистам компании "АиТ Софт", т. к. некорректно сформированные хранимые процедуры могут привести к потере данных в рабочей базе данных.

Скрипты для создания хранимых процедур

В программе "АиТ:\Зарплата" скрипты формируют в рабочей базе данных хранимую процедуру для получения Excel-отчета типа "хранимая процедура". Отчет формируется в генераторе налоговых справок на закладке "MS Excel".

Файл с расширение sql, содержащий скрипт, должен храниться в папке \aitclient\Config\. Скрипты для создания хранимых процедур, разработанные программистами компании "АиТ Софт", включены в пакеты обновления программы.

Ниже приведена структурная схема скрипта, создающего в базе данных хранимую процедуру. В тексте скрипта имеются строки с необходимыми комментариями, начинающиеся с символов "--".

-- оператор создания процедуры, список параметров обязателен

CREATE PROCEDURE <ИМЯ_ПРОЦЕДУРЫ> @id_user int, @mm1 int, @mm2 int, @yy int, @kf varchar(15)

AS

-- Тело создаваемой процедуры

<текст_процедуры …>

GO

-- предоставление прав на выполнение процедуры

GRANT EXECUTE ON <ИМЯ_ПРОЦЕДУРЫ> TO AitUsers

GO

-- блок операторов для создания в БД дополнительной таблицы

CREATE TABLE <ИМЯ_ДОПТАБЛИЦЫ>

GO

-- предоставление прав на созданную дополнительную таблицу

GRANT SELECT, INSERT, UPDATE, DELETE ON <ИМЯ_ДОПТАБЛИЦЫ> TO AitUsers

GO

-- конец блока создания дополнительной таблицы

-- конец скрипта

Наименование хранимой процедуры и перечень параметров должны быть заданы в формате, поддерживаемом MS SQL Server. Перечень параметров хранимой процедуры, их наименование и тип данных зарезервированы в режиме "Генератор налоговых справок" и не могут быть изменены:

@id_user (тип данных int) – служебный идентификатор пользовательского логина, примененного в данном сеансе работы с программным модулем. Значение параметра назначается программно без участия пользователя;

@mm1 (тип данных int) – порядковый номер месяца начала периода, заданного в генераторе налоговых справок;

@mm2 (тип данных int) – порядковый номер месяца окончания периода;

@yy (тип данных int) – порядковый номер года;

@kf (тип данных varchar(15)) – служебный идентификатор выборки сотрудников, выделенных в списке сотрудников в окне "Налоговые карточки". Значение параметра назначается программно без участия пользователя.

Чтобы можно было многократно использовать хранимую процедуру для построения отчета с различной настройкой скрипт с хранимой процедурой необходимо один раз откомпилировать.

Особенности файла с шаблоном для хранимых процедур

Для получения отчета по хранимой процедуре нужно создать шаблон документа, имеющий расширение rep и поместить его в папку \aitclient\zarplata\Form. К особенностям этих файлов относится то, что в расчетной (формульной) части указывается непустое имя хранимой процедуры и имя таблицы в базе данных. Кроме этого, формульная часть может содержать блок [ПАРАМЕТРЫ] с дополнительными настройками (не более 20) для формирования отчета. Например,

#НАЧАЛО_ФОРМУЛ

procedure_name=sp_spr_dohod

table_name=tbl_spr_dohod

........

[ПАРАМЕТРЫ]

param1=От даты увольнения

param2=Период работы с (ГГГГ-ММ-ДД)

param3=Период работы по (ГГГГ-ММ-ДД)

param4=Сумма ограничения годового дохода

......

param20=

#КОНЕЦ_ФОРМУЛ

Причем, если в шаблоне имеется блок [ПАРАМЕТРЫ], то при формировании отчета по хранимой процедуре открывается окно (рис. 8.1), в котором нужно ввести значения дополнительных параметров. В окне перечислено столько параметров, сколько их указано в блоке [ПАРАМЕТРЫ] файла с шаблоном.

Рис. 8.1

Компиляция скрипта с хранимой процедурой

После компиляции скрипта с хранимой процедурой ее можно многократно использовать для построения отчета с различной настройкой. Причем компиляция выполняется только один раз в модуле "АиТ:\Конфигурация".

Для этого в модуле "АиТ:\Конфигурация" системный администратор для рабочей базы данных выполняет следующие действия:

· открыть режим "Исполняемый SQL код" из пункта "I-sql" раздела "Режим" Главного меню программы;

· нажать на верхнюю кнопку , открывается стандартное окно "Найти" для выбора файла;

· выбрать нужный файл с расширением sql и нажать на кнопку "Открыть". В результате окно "Найти" закрывается, а код хранимой процедуры отображается в окне "Исполняемый SQL код" (рис. 8.2);

· запустить файл на выполнение, нажав на кнопку "Исполнить скрипт" . В нижней части окна появляется надпись "Исполнить скрипт";

· после выполнения скрипта на закладке "Результаты выполнения" появляется сообщение "Выполнение завершено" с указанием затраченного времени на выполнение операции.

Рис. 8.2

8.5. Ключевые слова

8.5.1. Ключевые слова для расчетных листков

Содержание темы:

1. Ключевые слова для секций и настроек

2. Специфические настройки EXCEL шаблонов расчетных листков

3. Ключевые слова в формулах

4. Ключевые слова в формулах и подвале

5. Ключевые слова в формулах, шапке и подвале

6. Ключевые слова в шапке

7. Ключевые слова в шапке и подвале

8. Ключевые слова в цикле

9. Ключевые слова в цикле и подвале

10. Ключевые слова в подвале

1. Ключевые слова для секций и настроек

1. Секция: #НАЧАЛО_ИСКЛ_КОДЫ_НАЧИСЛ 463;464;465;466 #КОНЕЦ_ИСКЛ_КОДЫ_НАЧИСЛ – позволяет указать список кодов начислений, строки которых не будут отображаться в расчетном листке. Суммы этих начислений также будут исключены из [Итого начислено]. Использовать только для начислений, которые ничем не облагаются, т. к. суммы налогов, облагаемого дохода и т. п. скорректированы не будут. Размещается после строки #КОНЕЦ_ФОРМУЛ.

2. Секция: #НАЧАЛО_ИСКЛ_КОДЫ_УДЕРЖ 996 #КОНЕЦ_ИСКЛ_КОДЫ_УДЕРЖ – аналогичная секция для удержаний. Размещается после строки #КОНЕЦ_ФОРМУЛ.

3. Настройка ПОЗИЦИЯ_ФОНДА=10 – указывается позиция, с которой будет напечатано название фонда. Настройка требуется для версии с многобюджетным учетом затрат для выдачи расчетных листков, в которых начисления и удержания группируются по фондам (установлен флаг "По фондам").

4.Настройка НЕ_ОБРЕЗАТЬ_КЛЮЧЕВЫЕ_СЛОВА – при включенной настройке значения, подставляемые вместо ключевых слов, не будут обрезаться (дополняться пробелами) для соответствия числу позиций, занимаемых ключевым словом. Используется в EXCEL версии расчетного листка, чтобы не нужно было отслеживать длину ключевых слов. В текстовом шаблоне использовать не нужно, это приведет к тому, что будет потеряно выравнивание.

2. Специфические настройки EXCEL шаблонов расчетных листков

1._ВЫСОТА_ЛИСТА:17 – указать количество строк в Excel шаблоне - нужно для копирования их из шаблона в готовый расчетный листок

2. КОЛИЧЕСТВО_СТРОК_В_СЕКЦИИ_EXCEL=17– используется при разбиении на печатные листы. Отличается от предыдущего значения в том случае, если мы, например, какую-то строку сильно раздвинули. Тогда с точки зрения занимаемого при печати места это будет не 1 строка, а несколько

3. _ШИРИНА_ЛИСТА:59 – количество Excel колонок, занимаемых шаблоном. Используется в случае, если печатаются по 2 экземпляра листков - второй просто копируется из первого.

4. КОЛИЧЕСТВО_РЛИСТОВ_НА_ЛИСТЕ_EXCEL=2 – указать, сколько листочков должно попасть на EXCEL лист: 1, 2 или все сотрудники (указать число, большее количества всех сотрудников предприятия - 99999).

5. _ВЫСОТА_СТРОКИ:7 – определяет, сколько строк будет соответствовать каждому начислению (сколько строк из шаблона будет скопировано при добавлении начисления). Например, чтобы строки начислений печатались не подряд, а через пустую строку, нужно добавить в шаблон пустую строку после строки, описывающей начисление, и указать в rep-шаблоне _ВЫСОТА_СТРОКИ:2. При формировании расчетных листков по фондам нужен отдельный шаблон с шапкой и подвалом для фондов. В этом случае настройка _ВЫСОТА_СТРОКИ обязательна, в ней нужно указать количество строк шаблона от шапки фонда до подвала фонда (включительно).

3. Ключевые слова в формулах

Ключевое слово

Описание

Rххх

обозначение суммы по виду начисления, где ХХХ - три цифры, соответствующих коду начисления по справочнику

4. Ключевые слова в формулах и подвале

НАЛ_ДР

подоходный налог по дополнительным шкалам

НПОДФЕД

начисленный подоходный федеральный налог

ОБЛ_ДР

облагаемый доход по дополнительным шкалам

5. Ключевые слова в формулах, шапке и подвале

[ДНИ]

рабочие дни, формат три цифры ###

[КУРС_СКВ], [СКВ]

курс пересчета валюты из настройки констант

[СКВ_ДОХОД]

доход в валюте

[ОКЛАД]

Берется значение оклада сотрудника из журнала перемещений на последний день расчетного месяца.

[ВСГД]

общий доход с начала года

[ОБЛ_ДОХОД]

облагаемый доход с начала года

[ПЕНСНАЛ]

пенсионный налог с начала года

[С_ПЕНС] нет

пенсионный налог всего

[НПОДНАЛ]

налог на доходы с начала года

[РЕГИОН]

сумма региональных надбавок с начала года

[НАЛОГ_РЕГИОН]

налог с региональных надбавок с начала года

[ТБУ_ ДНИ]

дни по рабочему времени, заданному в табеле

[ТБУ_ЧАСЫ]

часы по рабочему времени, заданному в табеле

[С_ЛЬГОТ]

сумма вычетов с начала года

[С_ВЫЧЕТОВ]

сумма вычетов с начала года

[ДОЛГ]

разница между суммами нарастающим итогом "Налог начислено" и "Налог удержано" в налоговой карточке

6. Ключевые слова в шапке

РАЗРЯД

разряд по тарифной сетке

СЕТКА

номер тарифной сетки

7. Ключевые слова в шапке и подвале

[ТН]

табельный номер

[Н]

номер по порядку

[ПОДР]

номер подразделения

[ФИО]

фамилия сотрудника

[ИМЯ]

имя сотрудника

[ОТЧЕСТВО]

отчество сотрудника

[ИО]

инициалы сотрудника

[ФАМИЛИЯ]

фамилия

[ПАСПОРТ]

данные паспорта

[ПАСС_ТИП]

тип паспорта

[ПАСС_СЕРИЯ]

серия паспорта

[ПАСС_НОМЕР] -

номер паспорта

[ПАСС_КЕМ]

кем выдан паспорт

[ПАСС_ДАТА]

дата выдачи паспорта

[МЕС]

расчетный месяц цифрой, 2 знака, например, 5

[МЕСЯЦ]

расчетный месяц наименованием, например, май

[ГОД]

год, 4 знака

[КАТ]

категория из персональной карточки

[МЖ]

адрес из персональной карточки (целиком)

[Л], [ЛЬГОТ]

число (базовых) вычетов всего из персональной карточки

[ОТДЕЛ]

номер отдела

[ОТДЕЛ ИМЯ]

название отдела

[ДОЛЖНОСТЬ]

название должности

[Д_Н_С]

дата начала стажа

[Д_Р]

дата рождения

[Д_П]

дата поступления

[Д_У]

дата увольнения

[ГРАФИК]

название графика из персональной карточки

[СТАТУС]

"рассчитывать", "на депонент" или "исключить из расчета"

[БЛОКНОТ*]

содержимое строки блокнота с номером (*)

[КОНСТ*]

величина константы с номером (*) из персональной карточки

ДЕТ

количество детей

ОКЛАД_КАРТ

оклад из персональной карточки сотрудника

Н_ИЖД

количество иждивенцев

[ДАТА_ПОСТ] **

дата приема

[ДАТА_УВОЛ] **

дата увольнения

[ИМЯ_ПОДР] **

название подразделения

[Н_ПОДР] **

номер (краткий код) подразделения

[ДОЛЖНОСТЬ] **

название должности

** – Символами ** обозначены ключевые слова, которые используются при начислении больничных, отпусков и средней.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36