Шаблон Excel |
Пред. Начало След. |
Правила и особенности создания шаблона отчета.
1. Форматирование значений в ячейках
1.1. Автоподбор высоты. Нельзя включать свойство ячейки "автоподбор высоты строк" для объединений по высоте (объединены две или более строк). Если ячейки объединены в одной строке (несколько колонок), то автоподбор высоты разрешен.
1.2. Разный формат символов в текстовых ячейках. Используются теги: <b>..</b> - жирный <i>..</i> - наклонный
<sup>..</sup> - надстрочный <sub>..</sub> - подстрочный
Пример разного форматирования в одной строке, вывод корреспондента с ИНН (выводимые значения выделены синим цветом для наглядности). В шаблоне формула: >>"<b>ИНН</b> " & "<i>"& {ccorr1} & "</i>" & " " & "<ins>" & СЖПРОБЕЛЫ({corr_n1}) & "</ins>" Результат в отчете: ИНН 3000000000 Управление государственной службы Пример с двойным форматированием (жирный с наклоном, надстрочный с подчеркиванием), вывод кода БК. В шаблоне формула: >>"<b>"&"<i>"&{cexp}&"</i>"&"</b>"& " -- " & "<ins>"&"<sub>"&{exp_n}& "</sub>& "</ins>" Результат в отчете: 410 -- Бюджетные инвестиции
2. Имя поля в запросе. Длина имени поля (в запросах) не более 10 символов.
3. Итоговый показатель 3.1. Итоговые суммы. Формула MS Excel для вычисления итогов по группе/отчету, если нужно обработать несколько параметров : >>СУММ(<s_kass>) - СУММ(<s_retukass>)
Неправильно: >>СУММ(<s_kass> - <s_retukass>)
3.2 Итоговые суммы в пределах заданной группы. Функция СУММГРУПП() считает сумму абсолютных значений суммы, сгруппированной по какому-либо полю, в пределах той группировки отчета где она применена. Первый параметр - поле, по которому идет группировка, второй параметр - сумма, которую необходимо считать. Пример вызова: >>СУММГРУПП(<cexp>;<sy0>) в данном случае, в пределах текущей группировки, например, по всему отчету, по каждому значению поля cexp1 сосчитается сумма по полю sy0, затем сосчитается сумма абсолютных значений сумм, полученных на первом шаге. Например, данные на входе: 121 =100руб, 129=200 руб, 121=-300 руб. Тогда СУММГРУПП(<cexp>;<sy0>) в целом по отчету = |(100-300)|+|200| = 200+200 = 400 руб.
3.3 Итоговые строковые значения. Объединение строковых значений >>СУММСТР(<имя_поля>;". ") - где второй параметр является разделителем сложенных значений. Пример СУММСТР(<note1>;"# ") - сложение значений примечаний с разделителем # .
4. Значения зарезервированных ячеек шаблона.
Первая строка содержит общую информацию по отчету:
В формулах граф С и E применяются функции в нотации Visual FoxPro:
Разделительная линия шапки группы содержит свойства данной группы:
5. Пользовательские шаблоны на основе системных. При копировании системного шаблона для создания пользовательского, в копии нужно очистить ячейки H1-M1 (если они не пустые).
6. Функции, доступные для применения в пользовательских шаблонах
Номер по порядку. Если нужно в графе отчета вывести порядковый номер строки отчета, то следует воспользоваться одной из следующих формул : >>НОМЕРПП2([парам](1);признак) - вычисление номера по порядку по уникальному значению заданного параметра, в данном примере Link (документ). Подходит для отчетов, в которых по порядку нумеруется не каждая строка, а раздел отчета (например каждый документ). Значение первого параметра функции (в примере Link) индивидуален для каждого отчета.
Пример: >>НОМЕРПП2([Link](1);ИСТИНА)
>>НОМЕРПП([парам](2);конец;признак) - вычисление номера по порядку по уникальному значению заданного параметра, в данном примере Link (документ). Подходит для отчетов, в которых по порядку нумеруется не каждая строка, а раздел отчета (например каждый документ). Значение первого параметра функции (в примере Link) индивидуален для каждого отчета.
Пример: >>НОМЕРПП([Link](1))
=СТРОКА()-<начальный_номер> - каждая строка отчета нумеруется порядковым номером. Вместо <начальный номер> следует вписать конкретное число - номер строки, после которой начинается вывод строк табличной части отчета.
Дата в виде «31» марта 2017г. Пример Excel формулы для вывода текущей календарной даты: >>СИМВОЛ(171) & ЛЕВСИМВ(ДАТАПРОП(СЕГОДНЯ();4);2) & СИМВОЛ(187) & ПСТР(ДАТАПРОП(СЕГОДНЯ();0);3;100) & "г." где СИМВОЛ(171) - символ открывающей кавычки « , а СИМВОЛ(187) - закрывающей » .
Дата в виде 31 марта 2017г. Пример выражения для вывода даты проводки в различных вариантах:
Пример для даты окончания периода отчета:
Дата: месяц прописью март Пример для даты окончания периода отчета: >>МЕСЯЦПРОП(dDate2; ЛОЖЬ)
Дата: изменение даты на заданное число дней Пример для даты окончания периода отчета, увеличение даты на 1 день: >>"на " & ДАТАПРОП(ДОБАВИТЬДНИ(dDate2;1);0)
Число (сумма) прописью Общий вид функции ЧИСЛОПРОП(Число/переменная; признак "Выводить прописью"; признак "Учитывать падеж"; признак "Выводить 0 копеек") . Пример применения в шапке или концовке группы: >>>ЧИСЛОПРОП(СУММ(<summa>); ИСТИНА; ЛОЖЬ; ЛОЖЬ) в детализации >>>ЧИСЛОПРОП({summa}; ИСТИНА; ЛОЖЬ; ЛОЖЬ)
Место для вставки штампа ЭП #stamp_paste:П;З где П (параметр) - номер реквизита ЭЦП, число от 0 до 8; З (значение) - искомое значение заданного параметра. См описание по выводу штампа ЭП в отчетах. Например #stamp_paste:5;1 - вывести в ячейке ЭП 1 уровня (5 - "Уровень ЭП", 1 - искомое значение 5-го параметра).
Структурированный текстовый набор данных с разделителями Структура данных: набор1#набор2#.... , где набор имеет структуру поле1|поле2|... Пример: Иванов|бухгалтер|1999#Петров|водитель|1998
Функции: ПАРАМЕТР(find_ecp(<структурированный текст>;<номер поля>; <значение>); <номер поля>; "|") , где find_ecp возвращает искомый набор , содержащий заданное значение заданного поля, а ПАРАМЕТР возвращает значение заданного поля из требуемого набора. Пример 1: >>ПАРАМЕТР(find_ecp({otv_lic};2;"водитель"); 1; "|") --> При значении переменной otv_lic=[Иванов|бухгалтер|1999#Петров|водитель|1998] получим в отчете значение "Петров". Пример 2: >>ПАРАМЕТР(find_ecp({dopuk};1;"4.5"); 2; "|") --> При значении переменной dopuk=[2.5|Белый белый снег.#4.5|И на марсе будут цвести] получим в отчете значение "И на марсе будут цвести" .
7. Формулы Excel в шаблоне
В шаблоне можно использовать формулы Excel с префиксом ">>=". При этом для обращения к в другим ячейкам шаблона необходимо пользоваться функцией ДВССЫЛ с RC типом адресации. Примеры: Сумма левых двух ячеек в той же строке: >>=ДВССЫЛ("R[0]C[-1]"; ЛОЖЬ)+ДВССЫЛ("R[0]C[-2]"; ЛОЖЬ)
Результат деления значения ячейки в 5 строке того же столбца на 1000: >>=ДВССЫЛ("R5C[0]"; ЛОЖЬ)/1000
Сумма ячеек того же столбца от 5 строки до предыдущей строки >>=СУММ(ДВССЫЛ("R5C[0]:R[-1]C[0]";ЛОЖЬ)) |