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

Скачать: 

В данной статье описывается Java Script, который является языком бизнес-логики системы "Дебет Плюс V12" и используется при работе с формами печати и отчетностью. Настройка проводок, калькуляций и различных схем регистрации документов также осуществляется на Java Script. На основаниии функциональной направленности элементы языка сгруппированы в соответствующие разделы: функции для работы с датами, строками, числами, функции форматирования и т.д.
Оглавление
Выражения и оператор присваивания
Выражения
Оператор присваивания
Системные константы
Функции для работы с датами
Глобальные функции
Функции объекта "Date" (Дата)
Свойства объекта "Date" (Дата)
Функции для работы со строками
Глобальные функции
Функции объекта "String" (Строка)
Функции для работы с числами
Глобальные функции
Функции объекта "Math"
Функции преобразования типов и форматирования
Функции сравнения и проверки
Функции для получения информации из базы данных
Функции для работы со справочниками
Функции для работы с документами
Функции для работы с проводками и балансом
Функции для работы с журналами регистрации
Функции для работы с ТМЦ
Функции для работы с заработной платой
Функции для работы с основными средствами

Выражения и оператор присваивания

Выражения

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

Арифметические операции:

Существуют такие виды арифметических операций:
Сложение (число+число)
var a = 3, b = 2
a + b // вернет 5
Вычитание (число-число)
var a = 3, b = 2
a - b // вернет 1
Умножение (число*число)
var a = 3, b = 2
a * b // вернет 6
Деление (число/число)
var a = 6, b = 2
a / b // вернет 3
Остаток от деления (число%число)
var a = 3, b = 2
a % b //вернет 1

Операция конкатенации:

Используется для присоединения одной строки к другой. Длина строки равна сумме длин строк, которые соединяются.
var a = "23", b = "may"
a + b // вернет "23may"

Логические операции:

Результатом сравнения двух операндов является логическое значение: "истина" или "ложь".
Операции сравнения
Больше (число>число; строка>строка)
var a = 10, b = 2
a > b //вернет "true"
var a = "10", b = "2"
a > b //вернет "false", т.к строки сравниваются посимвольно
Больше или равно (число>=число; строка>=строка)
var a = 10, b = 2
a >= b // вернет "true"
var a = 10, b = 10
a >= b // вернет "true"
var a = "A", b = "B"
a >= b // вернет "false"
Равно (число == число; строка == строка)
var a = 3, b = 3
a == b // вернет "true"
var a = "3", var b = "13"
a == b // вернет "false"
Не равно (число != число; строка != строка)
var a = 6, b = 2
a != b // вернет "true"
var a = "3", var b = "3"
a != b // вернет "false"
Меньше (число < число; строка < строка)
var a = 3, b = 21
a < b // вернет "true"
var a = "23", var b = "3"
a < b // вернет "true"
Меньше или равно (число<=число; строка<=строка)
var a = 4, b = 6
a <= b // вернет "true"
var a = "23", var b = "3"
a <= b // вернет "true"
Булевы операции
Конъюнкция (булево И)
var a = 10, b = 2, с = 1
a > b && a > c // вернет "true"
var a = 10, b = 2, с = 1
a > b && a < c // вернет "false"
Дизъюнкция (булево ИЛИ)
var a = 10, b = 2, с = 1
a < b || b > c // вернет "true"
var a = 10, b = 2, с = 1
a < b || a < c // вернет "false"
Логическое отрицание (булево НЕ)
var a = 10, b = 2, с = 1
!(a > b || a > c) // вернет "false"
var a = 10, var b = 2
!(a < b) // вернет "true"

Числовые константы

Числовые константы могут иметь следующий вид:
Целые числа (они могут быть выражены в десятичном (по основанию 10), шестнадцатеричном 9 (по основанию 16) или восьмеричном (по основанию 8) представлении.
5    123    0     -45
Числа с плавающей точкой.
5.4588973    54588973е-7    .54588973Е1

Строковые константы

Набор символов, ограниченный кавычками.
var a = "debet plus", b = "проспект Победы 48/4"

Строковые выражения

Строковым выражением может быть как отдельная строка, так и сочетание строковых констант, функций и операций.
var str1 = "ул. Зодчих", var str2 = "кв.12"
str = str1+str2 // вернет "ул. Зодчих кв.12"

Оператор присваивания

Оператор присваивает значение левому операнду, основанному на значении правого операнда.
Равенство (=)
var a = 10 // а приписывается значение 10
var b = "привет"    //b присваивается значение "привет"
Сложение (+=)
var a += 10    // означает а = а + 10
Вычитание (-=)
var a -= 10    // означает а = а - 10
Умножение (*=)
var a *= 10    // означает а = а * 10
Деление (/=)
var a /= 10    // означает а = а / 10
Остаток от деления (%=)
var a %= 10    // означает а = а % 10
Инкремент (++)
Оператор увеличивает его операнд и возвращает значение
var a = 10
b = a ++    // увеличивает a до 11 и присваивает b равное 10
var a = 10
b = ++ a    // увеличивает a до 11 и присваивает b равное 11
Декремент (--)
Оператор уменьшает его операнд и возвращает значение
var a = 3
b = a --    // уменьшает a до 2 и присваивает b равное 3
var a = 10
b = -- a    // уменьшает a до 2 и присваивает b равное 2

Системные константы

Внутренние константы:

today

сегодняшняя дата

d00

максимальная дата

d00min

минимальная дата

todayTime

текущая дата и время

sprOrg

код справочника организаций

ndsProc

% НДС

prmDecKol

знаков после запятой при работе с количеством

prmDecPr

знаков после запятой при работе с ценой

sprPodr

код справочника подразделений

sprMol

код справочника МОЛ

CURRENT_ORG

код текущей организации

   

Атрибуты организации

OFIRM

Название организации

OOKPO

Код ОКПО

OADDRES

Адрес

OPHONE

Телефон

OMFO

МФО

ORSC

Расчетный счет

OBANK

Название банка

OKODNDS

Код плательщика НДС

OREGIS

Номер свид. о регистр. плат. НДС

ONADMTXT

Название гос. налог. органа

ONADMCOD

Номер гос. налог. органа

OBOSS

Директор

OBUCH

Гл. бухгалтер

OCASS

Кассир

OBOSSID

Инд. код директора

OBUCHID

Инд. код гл. бухгалтера

OBOSSPHONE

Телефон директора

OBUCHPHONE

Телефон гл. бухгалтера

OCASSPHONE

Телефон кассира

ORGID

Код организации

OZIP

Почтовый индекс организации

OEMAIL

E-mail организации

OFAX

Факс организации

   

Функции для работы с датами

Одна из особенностей работы с типом даты, состоит в том, что тип даты существует в двух видах: в виде объекта JavaScript и в виде объекта Java (java.util.Date).JavaScript позволяет делать вычисления над датой, указанной в виде объекта. При взаимодействии с не JavaScript объектами (полями таблиц, объектами ввода), используются объекты Java. Преобразование из одного вида в другой осуществляется так:
jsDate = new Date(javaDate); // Преобразование в объект
javaDate = jsDate.getVarDate(); // Преобразование в java.util.Date

Приведенные ниже функции преобразования даты работают независимо от вида передаваемой в них даты.

Глобальные функции

date(<день>,<месяц>,<год>)

Вернуть дату. Можно использовать один, два или три параметра. Нумерация месяцев: 1 - январь, ...12 - декабрь.
Пример:
date(27) возвращает объект-дату 27 число текущего месяца и года: 27 апреля 2010
date(27,5) возвращает объект-дату 27 мая текущего года: 27 мая 2010
date(27,5,2011) возвращает объект-дату 27 мая 2011: 27 мая 2011

jan01(<дата>)

Вернуть дату первого января указанного года.
Пример:
jan01(date(11,2,2010)) возвращает объект-дату 1 января 2010

firstDay(<дата>)

Вернуть дату первого числа указанного месяца.
Пример:
firstDay(date(11,2,2010)) возвращает объект-дату 1 февраля 2010

lastDay(<дата>)

Вернуть дату последнего числа указанного месяца.
Пример:
lastDay(date(1,3,2010)) возвращает объект-дату 31 марта 2010

firstDayMonth(<дата>)

Вернуть дату первого дня месяца.
Пример:
firstDayMonth(date(11,3,2010)) возвращает объект-дату 1 марта 2010

lastDayMonth(<дата>)

Вернуть дату последнего дня месяца.
Пример:
lastDayMonth(date(11,3,2010)) возвращает объект-дату 31 марта 2010

goDay(<дата>,<смещение>)

Вернуть дату, смещенную от указанной на определенное количество дней.
Пример:
goDay(date(23,7,2010),2) возвращает объект-дату 25 июля 2010
goDay(date(23,7,2010),-2) возвращает объект-дату21 июля 2010

goMonth(<дата>,<смещение>)

Вернуть дату, смещенную от указанной на определенное количество месяцев.
Пример:
goMonth(date(23,7,2010),2) возвращает объект-дату 23 сентября 2010
goMonth(date(23,7,2010),-2) возвращает объект-дату 23 мая 2010

quarter_begin(<дата>)

Начало квартала.
Пример:
quarter_begin(date(23,8,2010)) возвращает объект-дату 1 июля 2010

quarter_end(<дата>)

Конец квартала.
Пример:
quarter_begin(date(23,8,2010)) возвращает объект-дату 30 сентября 2010

currentdate(<дата>)

Текущая дата и время.
Пример:
currentdate()) возвращает объект-дату Tue Apr 27 15:45:13 EEST 2010

day_difference(<дата1>,<дата2>)

По двум переданным датам-объектам возвращает разницу между ними в днях.
Пример:
day_difference(date(1,8,2010),date(4,9,2010)) возвращает значение 35 (дней)

day_differencemin(<дата1>,<дата2>)

По двум переданным датам-объектам возвращает разницу между ними в минутах.
Пример:
day_differencemin(date(1,8,2010),date(1,9,2010)) возвращает значение 44640 (минут)

month_difference(<дата1>,<дата2>)

По двум переданным датам-объектам возвращает разницу между ними в месяцах.
Пример:
month_difference(date(1,2,2010),date(1,8,2010)) возвращает значение 7

tmonth(month, cFormat)

Возвращает название месяца в нужном падеже. Месяц можно задавать как по номеру месяца, так и датой.
Пример:
tmonth(12, 1) - ''Декабрь''; tmonth(12, 2) - ''декабря''; tmonth(12, 4) - ''декабре''

dtoc(<дата>)

Преобразует дату в строку.
Пример:
dtoc(date(11,2,2010)) возвращает строку "11.02.2010"

getDaysInMonth(<дата>)

По переданному объекту-дате возвращает количество дней в месяце.
Пример:
getDaysInMonth(date(1,2,2010)) возвращает значение 28 (дней)

getDayAsWeekName(<дата>)

По переданному объекту-дате возвращает день недели.
Пример:
getDayAsWeekName(date(6,4,2010)) возвращает "Вторник"

getShortNameVsDate(<дата>)

По переданному объекту-дате возвращает день недели (сокращенное название).
Пример:
getShortNameVsDate(date(6,4,2010)) возвращает "Вт"

getTimeAsString(<дата>)

По переданому объекту-дате возвращает строку "час : минута".
Пример:
getTimeAsString(new Date()) возвращает значение 10:15 (текущее время)

setTime(<дата>,<часы>,<минуты>,<секунды>)

Для переданного объекта-даты устанавливает необходимое время.
Пример:
setTime(date(7,4,2010),21,50,19) возвращает объект-дату 7 апреля 2010 21:50:19

strToDate(<строка>)

Преобразует строку вида 01.01.2001 в дату.
Пример:
strToDate('01.02.2010') возвращает объект-дату 1 февраля 2010

strToDateFormat(str,format)

Преобразует строку в дату по указанному формату.
Пример:
strToDateFormat('10/04/07','yy/mm/dd') возвращает объект-дату

day(<дата>)

Получить по дате число.
Пример:
day(date(23,7,2010)) возвращает объект-дату 23

month(<дата>)

Получить по дате месяц.
Пример:
month(date(23,7,2010)) возвращает объект-дату 7

year(<дата>)

Получить по дате год.
Пример:
year(date(23,7,2010)) возвращает объект-дату 2010

tperiod(<режим>,<дата 1>, <дата 2>)

Возвращает описание периода <режим> = '' '' – полный формат вывода периода <режим> = ''s'' – без года.
Примеры:
tperiod('''',date(1,1,2002), date(31,2,2002)) == ''1-й квартал 2002 года''
tperiod('''',date(1,6,2002), date(31,12,2002)) == ''2-й квартал 2002 года''
tperiod('''',date(1,1,2002), date(30,9,2002)) == ''9 месяцев 2002 года''
tperiod('''',date(1,1,2002), date(31,12,2002)) == ''2002 год''
tperiod('''',date(2,3,2002), date(15,9,2002)) == ''2 марта – 15 сентября 2002 года''
tperiod('''',date(2,3,2001), date(15,9,2002)) == ''2 марта 2001 года – 15 сентября 2002 года''
tperiod(''s'',date(1,1,2002), date(31,2,2002)) == ''1-й квартал''

d00ToNull(<дата>)

Для пустой даты (01.01.3000) возвращает null.
Пример:
d00ToNull('01.01.3000') возвращает null

getBaseMonth(<дни>)

Находит базовый месяц расчета з/п.
Пример:
при today = (7,4, 2010) выражение getBaseMonth(30) вернет объект-дату март 2010 (от текущей даты отнимается указанное количество дней).

Функции объекта "Date" (Дата)

between(min,max)

Проверка попадания текущей даты в заданный диапазон дат.
Пример:
var dat = new Date(2010, 3, 8)
var dat1 = new Date(2010, 2, 8)
var dat2 = new Date(2010, 4, 8)
dat.between(dat1,dat2) возвращает "true"

getDate()

Получить по дате число (с 1 до 31).
Пример:
var dat = new Date(2010, 3, 28)
dat.getDate() возвращает 28

getMonth()

Получить месяц (с 0 до 11).
Пример:
var dat = new Date(2010, 4, 8)
dat.getMonth() возвращает 4. Нумерация месяцев: "январь" - 0, ... "декабрь" - 11

getDay()

Получить день недели (с 0 до 6).
Пример:
var dat = new Date(2010, 4, 8)
dat.getDay() возвращает 6. Нумерация дней недели: "воскресенье" - 0, ..., "суббота" - 6

getFullYear()

Получить год (четыре знака).
Пример:
var dat = new Date(2010, 4, 8)
dat.getFullYear() возвращает 2010

getHours()

Получить время в часах (с 0 до 23).
Пример:
var dat = new Date()
dat.getHours() возвращает значение 16 часов (текущее время)

getMinutes()

Получить время в минутах (с 0 до 59).
Пример:
var dat = new Date()
dat.Minutes() возвращает значение 51 минут (текущее время)

getSeconds()

Получить время в секундах (с 0 до 59).
Пример:
var dat = new Date()
dat.getSeconds() возвращает значение 42 секунд(текущее время)

getMilliseconds()

Получить миллисекунды. (с 0 до 999).
Пример:
var dat = new Date()
dat.getMilliseconds() возвращает значение 640 миллисекунд(текущее время)

getTime()

Получить время в миллисекундах, начиная с 1 января 1970.
Пример:
var dat = new Date()
dat.getTime() возвращает значение 1270735410437 миллисекунд

getYear()

Получить количество лет, начиная с 1900г.
Пример:
var dat = new Date(2010, 2, 8)
dat.getYear() возвращает значение 110

setDate()

Установить число месяца (от 1-31).
Пример:
var dat = new Date()
dat.setDate(25) меняет число в объекте dat на 25

setDay()

Установить день недели (с 0 до 6).
Пример:
var dat = new Date()
dat.setDay(2) меняет день недели в объекте dat на 2 (вторник)

setFullYear()

Установить год (четыре знака).
Пример:
var dat = new Date()
dat.FullYear(2009) меняет год в объекте dat на 2009

setHours()

Установить часы (с 0 до 23).
Пример:
var dat = new Date()
dat.setHours(15) меняет часы в объекте dat на 15

setMilliseconds()

Установить миллисекунды (с 0 до 999).
Пример:
var dat = new Date()
dat.setMilliseconds(100) меняет миллисекунды в объекте dat на 100

setMinutes()

Установить минуты (с 0 до 59).
Пример:
var dat = new Date()
dat.setMinutes(36) меняет секунды в объекте dat на 36

setMonth()

Установить месяц (с 0 до 11).
Пример:
var dat = new Date()
dat.setMonth(8) меняет месяц в объекте dat на 8 (сентябрь)

setSeconds()

Установить секунды (с 0 до 59).
Пример:
var dat = new Date()
dat.setSeconds(31) меняет секунды в объекте dat на 31

setTime()

Установить дату и время, начиная с 1января 1970.
Пример:
var dat = new Date(5645683497609)
dat.setTime(31) меняет дату и время в миллисекундах в объекте dat на 5645683497609

setYear()

Установить год (с 1900г).
Пример:
var dat = new Date(5645683497609)
dat.setYear(100) меняет год в объекте dat на 2000

Свойства объекта "Date" (Дата)

Свойства объекта позволяют возвращать и устанавливать необходимую дату и время.

date

Получить или установить день месяца (с 1 до 31)).
Пример:
var dat = new Date(2010, 4, 9)
dat.date возвращает число месяца 9
dat.date=13 меняет число в объекте dat на 13

month

Получить или установить месяц (с 0 до 11)).
Пример:
var dat = new Date(2010, 2, 8)
dat.month возвращает месяц 2
dat.month=3 меняет месяц в объекте dat на 3

year

Получить или установить год.
Пример:
var dat = new Date(2010, 2, 8)
dat.year возвращает год 2010
dat.year=2011 меняет год в объекте dat на 2011

time

Получить или установить время в миллисекундах, начиная с 1 января 1970.
Пример:
var dat = new Date()
dat.time возвращает 1270735410437 миллисекунд
dat.time=1470735410015 меняет дату и время в объекте dat на 1470735410015

hours

Получить или установить часы (с 0 до 23).
Пример:
var dat = new Date()
dat.hours возвращает часы 16
dat.hours=17 меняет часы в объекте dat на 17

minutes

Получить или установить минуты (с 0 до 59).
Пример:
var dat = new Date()
dat.minutes возвращает минуты 46
dat.minutes=47 меняет минуты в объекте dat на 47

seconds

Получить или установить секунды (с 0 до 59).
Пример:
var dat = new Date()
dat.minutes возвращает секунды 22
dat.minutes=43 меняет секунды в объекте dat на 43

Функции для работы со строками

Глобальные функции

allt(<строка>)

Возвращает строку, убирая пробелы слева и справа.
Пример:
allt(' 3455 ') вернет значение '3455'

cleanSpace(<строка>)

Убирает пробелы слева и справа, количество пробелов между символами в строке сокращает до одного.
Пример:
cleanSpace (' 3   45  51 ') вернет '3 45 51'

chrtran(<строка>, <подстрока1>, <подстрока2>)

Функция производит замену символов в <строке> в соответствии с переданными <подстрокой 1>, <подстрокой 2>.
Пример:
chrtran("1234","321","ab") возвращает "ba4" ("3"->"a","2"->"b","1"->"","4" ни на что не меняется)

corectDbfTxt(<строка>)

Заменяет в тексте украинскую "i" на латинскую.
Пример:
corectDbfTxt('іndex') заменит украинскую букву "і" латинской

cutspace(<строка>)

Замена всех непрерывных последовательностей пробелов в один (аналог функции cleanSpace).
Пример:
cutspace(' 3   45  51 ') вернет '3 45 51'

equals(<строка1>, <строка2>)

Сравнивает две строки с учетом регистра.
Пример:
equals('ааа', 'ааа') возвращает "true"
equals('Ааа', 'ааа') возвращает "false"

equalsIgnoreCase(<строка1>, <строка2>)

Сравнивает две строки без учета регистра.
Пример:
equalsIgnoreCase('Ааа', 'ааа') возвращает "true"

initials(<фамилия имя отчество>)

Получить по полному ФИО фамилию и инициалы.
Пример:
initials("Кукушкин Кирилл Ульянович") возвращает "Кукушкин К.У." Требует подключение servis/initials.js

left(<строка1>, <количество символов>)

Позволяет получить в строке подстроку с заданным количеством символов (отсчет слева).
Пример:
left('1234', 3) возвращает значение 123

ltrim(<строка>)

Возвращает строку, убирая пробелы слева.
Пример:
ltrim(' 3455 ') вернет значение '3455 '

nvl(<выражение>,<значение>)

возвращает <значение2>, если вычисление <выражения> дает значение null.
Пример:
nvl('345','-') вернет значение 345
nvl('','-') вернет значение '-'

replace(<строка>,<подстрока1>,<подстрока2>)

Ищет совпадение между строкой и подстрокой 1, а после этого замещает совпавшую подстроку подстрокой 2.
Пример:
replace('12 мая','12','25') вернет '25 мая'

replicate(<символ>,<количество символов>)

Повторяет данную строку указанное количество раз.
Пример:
replicate('0', 4) вернет "0000"

right(<строка1>, <количество символов>)

Позволяет получить в строке подстроку с заданным количеством символов (отсчет справа).
Пример:
right('1234', 3) возвращает значение 234

rtrim(<строка>)

Возвращает строку, убирая пробелы справа.
Пример:
rtrim(' 3455 ') вернет значение ' 345 5'

strcmp(<строка1>,<строка2>)

Сравнение строк без учета пробелов (используется в накладных). Если <строка1>=<строка1> вернет 0; <строка1> > <строка2> вернет 1; <строка1> < <строка2> вернет -1.
Пример:
strcmp('45','46') возвращает значение "-1"

strlen(<строка>)

Считает количество символов в строке.
Пример:
strlen('петренко') возвращает значение 8

strtok(<строка>,<конечный символ>)

Возвращает подстроку заданной длины. Конец подстроки задается конкретным символом.
Пример:
strtok('189-97','-') вернет значение 189

substr(<строка>,<№ начального символа>,<количество символов>)

Позволяет получить заданную подстроку в строке.
Пример:
substr('2013547648',2,3) вернет значение 135 (первый символ имеет индекс 0)
Доступиться к символам строки можно как к элементам массива
Пример:
substr('3456',[3]) вернет значение 6 (первый символ имеет индекс 0)

upper(<строка>)

Привести строку к верхнему регистру.
Пример:
upper("Иванов") возвращает "ИВАНОВ"

val(<строка>)

Возвращает числовое значение по строковому значению, содержащему число.
Пример:
val('185.6 a') вернет значение 185.6

Функции объекта "String" (Строка)

charAt(<индекс>)

Возвращает символ строки по заданному индексу. Индекс первого символа равен 0, индекс последнего символа строки с названием StringName равен StringName.length - 1. Если индекс не входит в диапазон, то вернется пустая строка.
Пример:
var str = "document"
str.charAt(3) вернет символ "u"

charCodeAt(<индекс>)

Возвращает Unicode-значение символа, который задан с помощью специального индекса.
Пример:
var str = "document"
str.charCodeAt(3) вернет символ 117 ( Unicode-значение символа "u")

cleanSpace()

Убирает пробелы слева и справа, количество пробелов между символами в строке сокращает до одного.
Пример:
var str = "  do   cume   nt "
str.cleanSpace() вернет "do cume nt"

concat(<строка1>,<строка2>,...)

Объединяет строки и возвращает новую строку. Строка(строки), указанные в качестве параметров, добавляются в конец текущего строкового объекта.
Пример:
var str = "document"
str.concat("1","2") вернет строку "document12"

endsWith(<строка>)

Проверяет, заканчивается или нет строка определенной последовательностью символов.
Пример:
var str = "privet"
str.endsWith("et") вернет "true"
str.endsWith("d") вернет "false"

equals(<строка>)

Сравнивает строки с учетом регистра.
Пример:
var str = "privet"
str.equals("Privet") вернет "false"

equalsIgnoreCase(<строка>)

Сравнивает строки без учета регистра.
Пример:
var str = "privet"
str.equals("Privet") вернет "true"

String.fromCharCode(<значение1>,<значение2>....)

Возвращает строку, созданную с использованием специфицированной последовательности Unicode-значений.
Пример:
String.fromCharCode(65,66,67) вернет строку "ABC"

indexOf(<строка>,<индекс>)

Проверка вхождения одной строки в другую. Возвращает индекс первого появления заданной подстроки (-1, если значение не найдено). Вторым параметром (<Индекс>) можно указать место, с которого будет начинаться поиск (целое число от 0 до длины строки, по умолчанию имеет значение 0).
Пример:
var str = "Петренко Петр"
str.indexOf("ет") вернет 1
str.indexOf("ет",5) вернет 10
str.indexOf("345",5) вернет -1
str.indexOf("Ет") вернет -1 (учитывается регистр)

lastIndexOf(<строка>,<индекс>)

Проверка вхождения одной строки в другую. Возвращает индекс последнего появления заданной подстроки (-1, если значение не найдено). Вторым параметром (<Индекс>) можно указать место, до которого будет осуществляеться поиск (целое число от 0 до длины строки, по умолчанию имеет значение 0).
Пример:
var str = "Петренко Петр"
str.lastIndexOf("е")
вернет 10
str.lastIndexOf("t")
вернет -1
str.lastIndexOf("e",7)
вернет 4
str.lastIndexOf("E",7) вернет -1 (учитывает регистр)

left(<количество символов>)

Возвращает строку с указанным количеством символов (отсчет с левого края строки).
Пример:
var str = "Vsem privet"
str.left(6) вернет "Vsem p"

leftTrim()

Убирает пробелы слева.
Пример:
var str = "    Vsem privet"
str.left(6) вернет "Vsem privet"

length

Свойсво объекта String - длина.
Пример:
var str = "privet"
str.length вернет 6

match(<регулярное выражение>)

Разбивает строку на массив строк в соответствии с заданным регулярным выражением.
Пример:
var str="проспект Освободителей"
str.match(/ос/) вернет "ос"
str.match(/ос/gi) вернет "ос","Ос"(i - без учета регистра, g - все строки)

replace(<регулярное выражение>,<строка>)

Ищет совпадение между подстрокой (регулярным выражением) и строкой и после этого замещает совпавшую подстроку новой подстрокой.
Пример:
var str = "May 23"
str.replace(23,"31") вернет "May 31"

right(<количество символов>)

Возвращает строку с указанным количеством символов (отсчет с правого края строки).
Пример:
var str = "debet-kredit"
str.right(6) вернет "kredit"

rightTrim()

Убирает пробелы слева.
Пример:
var str = "debet-kredit   "
str.right() вернет "debet-kredit"

split(<символ>)

Разбивает строку по заданному символу на массив строк.
Пример:
var str = "debet-kredit   "
str.split("-") вернет "debet","kredit"

startsWith(<строка>)

Проверяет, начинается ли строка определенной последовательностью символов.
Пример:
var str = "privet"
str.startsWith("pr") вернет "true"
str.startsWith("pre") вернет "false"

split(<символ>)

Разбивает строку по заданному символу на массив строк.
Пример:
var str = "debet-kredit   "
str.split("-") вернет "debet","kredit"

substr(<№ начального символа>,<количество символов>)

Возвращает заданное количество символов строки, начиная отсчет с указанного символа.
Пример:
var str = "10042010"
str.substr(2,5) вернет "04201"

substring(<начальный индекс>,<конечный индекс>)

Возвращает заданное количество символов строки, начиная отсчет от начального индекса и до конечного (не включительно).
Пример:
var str = "document"
str.substr(0,5) вернет "docum"

toLowerCase()

Приводит строку к нижнему регистру.
Пример:
var str = "Петренко С.Г."
str.toLowerCase() вернет "петренко с.г."

toUpperCase()

Приводит строку к верхнему регистру.
Пример:
var str = "Петренко С.Г."
str.toUpperCase() вернет "ПЕТРЕНКО С.Г."

Функции для работы с числами

Глобальные функции

round(<значение>,<знаков после запятой>)

Округляет переданное значение до указанного количества знаков после запятой.
Пример:
round(3.4567, 2) возвращает значение 3.46
round(3.56, 0) возвращает значение 4
round(3.1, 0) возвращает значение 3
round(3572, -1) возвращает значение 3570
round(3572, -2) возвращает значение 3600

max(<значение1>,<значение2>...)

Возвращает максимальное из переданных значений.
Пример:
max(35,41,90,64) возвращает значение 90
max(-35,-41,-90,-64) возвращает значение -35

min(<значение1>,<значение2>...)

Возвращает минимальное из переданных значений.
Пример:
min(35,41,90,64) возвращает значение 35
min(-35,-41,-90,-64) возвращает значение -90

Функции объекта "Math"

abs(<значение>)

Возвращает абсолютное значение числа.
Пример:
Math.abs(-9) вернет 9

ceil(<значение>)

Приводит к большему целому числу.
Пример:
Math.ceil(8.45) вернет 9
Math.ceil(-8.45) вернет 8

floor(<значение>)

Округляет до меньшего целого числа.
Пример:
Math.floor(3.95) вернет 3
Math.ceil(-3.95) вернет 4

max(<значение1>,<значение2>...)

Возвращает большее из значений.
Пример:
Math.max(35,51,63) вернет 63
Math.max(-35,-45) вернет -35

min(<значение1>,<значение2>...)

Возвращает меньшее из значений.
Пример:
Math.max(35,51,63) вернет 35
Math.max(-35,-45) вернет -45

round(<значение>)

Округляет до целого числа.
Пример:
Math.round(35.51) вернет 36
Math.round(35.41) вернет 35
Math.round(-35.51) вернет -36
Math.round(-35.41) вернет -35

Функции преобразования типов и форматирования

d00ToNull(<дата>)

Для пустой даты (01.01.3000) возвращает null.
Пример:
d00ToNull('01.01.3000') возвращает null

day_month(<дата>)

Преобразует дату в строку в определенном формате (число.месяц).
Пример:
day_month(date(11,2,2010)) возвращает "11.02"

d_m_y(<дата>)

Преобразует дату в строку в определенном формате (число.месяц.год).
Пример:
d_m_y(date(11,2,2010)) возвращает "11.02.2010"

dtoc(<дата>)

Преобразует дату в строку.
Пример:
dtoc(date(11,2,2010)) возвращает строку "11.02.2010"

format(<формат>,<значение>)

Функция вывода значения в указанном формате.
Пример:
Для типа даты:
format("Сегодня d mmm yyyy г.", date) вернет "Сегодня 1 января 2001 г."
format("dd/mm/yy",date) вернет "01/01/01"
format("Месяц № m", date) вернет "Месяц № 1"
Для типа числа:
format("# рублей 00 копеек", 4.078) вернет "4 рублей 08 копеек"
format("00 рублей 00 копеек", 4.078) вернет "04 рублей 08 копеек"
format("#.### литров",4.1002) вернет "4.1 литров"
При использовании SUM,CENA, KOL количество знаков после запятой зависит от установленных пользователем значений в параметрах системы ("Настройки/Параметры системы/Печать/Количество дробных знаков") для суммы, цены и количества соответственно.
format("SUM",4.12) вернет "4.12 " (2 знак после запятой)
format("CENA",4.12) вернет "4.12000 "(5 знака после запятой)
format("KOL",4.12) вернет "4.120 " (3 знака после запятой)
Время, переданное числом (в часах) или датой. Если ничего не передано - текущее время
format("th часов tm минут ts секунд", 12.5) вернет "12 часов 30 минут 00 секунд"
format("th:tm:ts", 3.123) вернет "3:07:23"
format("th:tm:ts") вернет "16:22:05" //текущее время

getTimeAsString(<дата>)

По переданому объекту-дате возвращает строку "час : минута".
Пример:
getTimeAsString(new Date()) возвращает значение 10:15 (текущее время)

month_year(<дата>)

Преобразует дату в строку в определенном формате (месяц.год).
Пример:
day_month(date(11,2,2010)) возвращает "022010"

parseFloat(<строка>)

Преобразует строку в число (с плавающей точкой).
Пример:
parseFloat('12.5 грн 15 копеек') возвращает 12

parseInt(<строка>)

Преобразует строку в целое число.
Пример:
parseFloat('12.5 грн 15 копеек') возвращает 12

strToDate(<строка>)

Преобразует строку вида 01.01.2001 в дату.
Пример:
strToDate('01.02.2010') возвращает объект-дату 1 февраля 2010

strToDateFormat(<строка>,<формат>)

Преобразует строку в дату по указанному формату.
Пример:
strToDateFormat('10/04/07','yy/mm/dd') возвращает объект-дату

tint(<число>)

Возвращает только целое числовое значение прописью. Требует подключения TMoney.js
Пример:
tint("123.65") возвращает значение "сто двадцять три"

TMoney(<число>,<валюта>)

Возвращает числовое значение прописью (с копейками). Второй параметр - валюта, который устанавливается из справочника "Видов валют" (по умолчанию - национальная валюта). Требует подключения TMoney.js
Пример:
TMoney("123.65") возвращает Сто двадцать три грн. 65 коп
TMoney("45.56",1) возвращает Сорок пять USD 56 USD

tmonth(<месяц>, <формат>)

Возвращает название месяца в нужном падеже. Месяц можно задавать как по номеру месяца, так и датой. Нумерация месяцев: 1 - январь, 2 - февраль, ... 12 - декабрь.
Пример:
tmonth(12, 1) - ''Декабрь''; tmonth(12, 2) - ''декабря''; tmonth(12, 4) - ''декабре''

tperiod(<режим>,<дата 1>, <дата 2>)

Возвращает описание периода <режим> = '' '' – полный формат вывода периода <режим> = ''s'' – без года.
Пример:
tperiod('''',date(1,1,2002), date(31,2,2002)) вернет ''1-й квартал 2002 года''
tperiod('''',date(1,6,2002), date(31,12,2002)) вернет ''2-й квартал 2002 года''
tperiod('''',date(1,1,2002), date(30,9,2002)) вернет ''9 месяцев 2002 года''
tperiod('''',date(1,1,2002), date(31,12,2002)) вернет ''2002 год''
tperiod('''',date(2,3,2002), date(15,9,2002)) вернет ''2 марта – 15 сентября 2002 года''
tperiod('''',date(2,3,2001), date(15,9,2002)) вернет ''2 марта 2001 года – 15 сентября 2002 года''
tperiod(''s'',date(1,1,2002), date(31,2,2002)) вернет ''1-й квартал''

tsaySc(<режим>,<счет>,<субсчет>,<статья>,<аналитика1>,<аналитика2>,<аналитика3>)

Возвращает счет/субсчет/статью/ан1/ан2/ан3 в заданной формате.
Пример:
tsaySc("",63,631,0,12,0,0) возвращает "63/631/0/12"
tsaySc("+",63,631,0,12,0,0) возвращает "Сч:63/631/0/12"

val(<строка>)

Возвращает числовое значение по строковому значению, содержащему число.
Пример:
val('185.6 a') возвращает значение 185.6

Функции сравнения и проверки

differ(<значение1>, <значение 2>)

Сравнение значений. Возвращает "1", если значение 1 больше значения 2, "-1" если значение 1 меньше значения 2, "0" если значения равны.
Обладает следующим свойством: если рассматривать возвращаемое значение как булевское, то false соответствует тому, что значения равны, true – значения не равны. Рекомендуется использовать для сравнения выражений типа даты (или в случае, когда нельзя предсказать, какие типы будут сравниваться), т.к. сравнение двух равных дат оператором == возвращает ложь.
Пример:
differ(date(1,4,2010), date(10,4,2010)) возвращает значение 1

inList(<значение>,<элемент 1>, <элемент 2>, …)

Функция, определяющяя, находится ли значение в списке элементов.
Пример:
var doc = "NK"
inList(doc, "PN", "NK", "SA", "CP") вернет true

iif(<условие>,<значение1>,<условие2>,<значение2>,....<конечное значение>)

Возвращает значение, исходя их условия. Имеет динамический набор параметров, где нечетный параметр - условие, четный - возвращаемое значение, если условие "истина". Последний параметр - значение, которое вернется, если ни одно условие не сработало.
Пример:
var a = 100
iif(a<10, 2, a<20, 3, a < 40, 4, a < 120, 5, 6) вернет 5
iif(a<10, 2, a<20, 3, a < 40, 4, a < 90, 5, 6) вернет 6

ucase(<исходное значение>,<значение>,<результат>,....<конечный результат>)

Сравнивает некое исходное значение поочередно с четными параметрами (значение), если они идентичны, то возвращает нечетный параметр (результат). Последний параметр(конечный результат) - значение, которое вернется, если ни одно условие не сработало.
Пример:
var a = 100
ucase(a, 80, 1, 100, 2, 120, 3, 4) вернет 2

switch(<исходное значение>,<значение>,<результат>,....<конечный результат>)

Функция аналогична вышеописанной функции ucase

Функции для получения информации из базы данных

Функции для работы со справочниками

codval(<сокращенное наименование валюты>)

Вернуть код валюты в справочнике видов валют по сокращенному наименованию.
Пример:
codval("USD")
Получить код валюты с сокращенным название "USD": 1

getFieldByID(<поле>,<таблица>, <идентификатор строки>,<идентификатор>)

Получить значение любого поля в любой таблице.
<поле> - имя поля
<таблица> - имя таблицы
<идентификатор строки> - идентификатор необходимой строки
<идентификатор> - поле-идентификатор (по умолчанию - FWID)
Пример:
getFieldByID("FSUBSCHET","^CL_SCHET",3107,"FWID")
Получить субсчет ("FSUBSCHET") с идентификатором 3107 (значением FWID) в таблице ^CL_SCHET: 126

getIDFromCod(<код элемента>,<код справочник>)

Возвратить идентификатор элемента справочника.
Пример:
getIDFromCod(1,10)
Получить идентификатор элемента (код 1) 10-го справочника: 7595

getCodByID(<идентификатор элемента>)

Получить код элемента справочника аналитики.
Пример:
getCodByID(7595)
Получить код элемента справочника с идентификатором 7595: 45

getTxtByID(<идентификатор элемента>)

Получить наименование элемента справочника аналитики.
Пример:
getTxtByID(43591)
Получить наименование элемента справочника с идентификатором 43591: "Склад"

gt_rassc(<режим>,<счет>,<МФО>)

Получить информацию из справочника расчетных счетов.
<режим> - возвращаемый параметр
"RASSC" - расчетный счет
"MFO" - МФО
"BNK_NAZV" - название банка
"SCH_NAZV" - код валюты
"NOMRR" - номер расчетного счета
"ID" - идентификатор
<счет> - расчетный счет
<МФО> - МФО
Пример:
gt_rassc("BNK_NAZV","27002351232","301958")
Получить название банка ("BNK_NAZV")по р/с (27002351232) и МФО (301958): АКБ "АЛЬЯНС"
gt_rassc("MFO")
Получить МФО ("MFO") текущего счета: 309547

orgCat(<организация>)

Определить категорию контрагента (0 - юридическое лицо, 1 - физическое лицо).
Пример:
orgCat("HORG")
Если HORG является физическим лицом, то вернется 1

rs(<расчетный счет>,<идентификатор>,<поле>)

Получить расчетный счет.
<расчетный счет> - номер расчетного счета, по умолчанию основной
<идентификатор> - ID контрагента, по умолчанию текущая организация
<МФО> - МФО
Пример:
gt_rassc("BNK_NAZV","27002351232","301958")
Получить название банка ("BNK_NAZV")по р/с (27002351232) и МФО (301958): АКБ "АЛЬЯНС"
gt_rassc("MFO")
Получить МФО ("MFO") текущего счета: 309547

sctype(<счет>,<субсчет>,<статья>)

Вернуть тип счета для заданных счета, субсчета, статьи. Используется для счетов складского учета и влияет на формирование проводок в зависимости от их настроек.
Пример:
sctype(28,282)
Получить тип счета 28/2821/0: "o"
sctype(28,285,2)
Получить тип счета 28/285/2: "t"

sval(<дата>,<валюта1>,<сумма>,<валюта2>,<курс1>,<курс2>)

Перевод валюты по курсу.
<дата> - дата для перевода
<валюта1> - валюта, которую необходимо перевести (задается кодом или сокращенным названием)
<сумма> - сумма для перевода
<валюта2> - валюта, в которую необходимо перевести
<курс1> - курс <валюты1>, относительно гривны
<курс2> - курс <валюты2>, относительно гривны
Пример:
sval(dat1,"USD",100)
Перевести 100 долларов ("USD")в гривны по курсу валют из справочника: 792.59
sval(dat1,1, 100,"EVR",7.923900,11.020797)
Перевести 100 долларов (1) в евро ("EVR"),курс доллара 7.923900, курс евро 11.020797: 71.89951870087073

tcl(<метка>,<режим>,<параметр1>,<параметр2>,<параметр3>,<параметр4>,<параметр5>,<параметр6>)

Получить атрибуты справочника.
Получить код справочника можно при помощи функции getPar(<метка справочника>), где <метка справочника>:
"CODPLAT" - поставщики
"CODPERS" - сотрудники
"CODMOL" - материально-ответственные лица
"CODPODR" - подразделения
"CODDOL" - должности
"CODKAT" - категории
"CODZVAN" - квалификации (звания)
"CODCOUNTRY" - страны
"CODREGION" - области
"CODAREA" - районы
"CODLOCATE" - населенные пункты
"CODKPK" - КПК
"CODKEKV" - КЕКВ
"CODKKD" - ККД
"CODDOG" - договора
"CODMO" - мемориальные ордера
Пример:
getPar("CODMOL")
Получить код справочника "Материально-ответственные лица": 11
Есть несколько вариантов использования функции tcl:
tcl("CL","",<справочник>,<№ элемента справочника>)
Получить наименование элемента справочника.
Пример:
tcl("CL","",24,5)
Получить из справочника "Должности для зарплаты в пенсионный фонд" (24) наименование элемента 5 ("Заместитель главного бухгалтера").
tcl("CLCL","",<справочник>)
Получить название справочника.
<режим>
"" - получить название справочника
"VID" - получить вид справочника
Пример:
tcl("CLCL","",7)
Получить название справочника с кодом 7: "Учредители"
tcl("CLCL","VID",12)
Получить вид справочника: 2
tcl("EDI",<режим>,<единица измерения>)
Получить атрибуты единицы измерения.
<режим>
"TXT" - сокращенное наименование
"TXTF" - полное наименование
"TXT2" или "TXTF2" - второе наименование
"=" - возвращается код единицы измерения
Пример:
tcl("EDI","TXT",5)
Получить сокращенное наименование единицы измерения с кодом 5: "т"
tcl("EDI","TXTF",5)
Получить полное наименование единицы измерения с кодом 5: "тонна"
tcl("HOMO",<режим>,<справочник>,<код физического лица>)
Получить атрибуты элемента справочника физических лиц.
<режим>
"TXT" - ФИО физического лица
"CITY" - адрес проживания: город
"ADDR" - адрес проживания: улица
"BLD" - адрес проживания: номер дом
"LETTER" - адрес проживания: буква в номере дома
"CORP" - адрес проживания: корпус
"APART" - адрес проживания: квартира
"ZIP" - адрес проживания: индекс
"INDNUM" - индивидуальный налоговый номер
"DOCSER" - серия паспорта
"DOCNOM" - номер паспорта
"DOCOWN" - кем выдан
"DOCDAT" - когда выдан
"ORIGDAT" - дата рождения
"VISLDAT" - дата для выслуги лет
"ORIGADDR" - место рождения
"PHONE" - домашний телефон
"MPHONE" - мобильный телефон
"EMAIL" - электронный адрес
"WEB" - WEB адрес
"SEX" - пол (true - жен, false - муж )
"WRKDAT" - дата приема на работу
"WRKPHONE" - рабочий телефон
"REM" - примечание
"NUM_BNK" - код банка для начисления заработной платы
Пример:
tcl("HOMO","INDNUM",getPar("CODPERS"),4)
Получить индивидуальный налоговый номер физического лица с кодом 4: "2651455289"
tcl("HOMO","CITY",getPar("CODPERS"),4)
Получить название города, в которм проживает физическое лица с кодом 4: "Киев"
tcl("HOMO","WRKDAT",getPar("CODPERS"),4)
Получить дату приема на работу физического лица с кодом 4: "2009-03-03"
tcl("NMK",<режим>,<номенклатура>)
Получить атрибут по указанной номенклатуре.
<режим>
"TXT=+" - наименование номенклатуры вместе с номенклатурным номером (в "Параметры системы/Учет ТМЦ" надо поставить "галочку" в поле "Выводить в названии номенклатурный номер")
"TXT" - наименование номенклатуры
"EDI" - сокращенное наименование единицы измерения
"EDI1" - сокращенное наименование дополнительной единицы измерения
"KF1" - коэффициент перевода из дополнительной единицы измерения в основную
"VID" - вид номенклатуры (возвращает для услуг - "S",тары - "R",ТМЦ - "")
"RAZR" - разрез ведения номенклатуры (возвращает: "POST" - ведется по поставщикам, "PN" - по приходам, "POSTPN" - по поставщикам и приходам
"ARTICUL" - артикул
"OUTID" - внешний идентификатор
"LINECOD" - штрихкод
"NDS" - процент НДС
"COD" - номенклатурный номер
"GROUP" - наименование номенклатурной группы
Пример:
tcl("NMK","TXT=+",RTNMK)
Получить номенклатурный номер и название: "001.0002: Сахар ванильный"
tcl("NMK","EDI",RTNMK)
Получить сокращенное наименование единицы измерения указанной номенклатуры (RTNMK): "гр."
tcl("NMK","RAZR",RTNMK)
Если номенклатура ведется в разрезе поставщиков, то получим строку "POST"
tcl("NMK","GROUP",RTNMK)
Получить название группы, в которую входит номенклатура(RTNMK): "Продукты"
tcl("ORG",<режим>,<организация>)
Получить атрибуты организации.
<режим>
"TXT" - полное название организации
"TXTS" - сокращенное название организации
"FCAT" - категория (1 - физическое лицо, 0 - юридическое лицо)
"MFO" - МФО
"BNK" - название банка
"RSC" - расчетный счет текущий
"OKP" - ЕГРПОУ
"CODNDS" - код плательщика НДС
"UADR" - полный адрес (страна, область, район, насел. пункт, улица ... квартира)
"ADR" - полный почтовый адрес и телефон (индекс, страна, область, район, насел. пункт, улица ... телефон, факс)
"FADR" - адрес для налоговых накладных (улица, № дома, № офиса, город (населенный пункт), район (если населенный пункт не является райценторм), область (если город не является областным центром), почтовый индекс)
"MADR" - индекс и адрес без указания страны и телефонов (индекс, область, район, насел. пункт, ... квартира )
"YURADDR" - юридический адрес
"NDSADDR" - адрес для накладных
"ZIP" - почтовый индекс
"COUNTRY" - страна
"REGION" - область
"AREA" - район
"LOCATE" - город
"ADDR" - улица
"BLD" - номер дом
"APART" - квартира
"CALLCOD" - код междугороднего (международного) доступа
"FULLPHONE" - телефонный номер, возвращает строку "тел.: (0567) 258-69-15"
"PHONE" - телефон
"FULLFAX" - факс, возвращает строку "факс: (0567) 567-58-18"
"FAX" - факс
"EMAIL" - электронный адрес
"WEB" - WEB адрес
"REM" - вид деятельности
"DOD" - дополнительные реквизиты
"REGIS" - номер свидетельства о регистрации
"PLATNDS" - является или нет плательщиком НДС (возвращает: true - является, false - нет )
"NAL" - ставка налогообложения
"TBOSS" - ФИО директора
"TBUH" - ФИО главного бухгалтера
"TCAS" - ФИО кассира
"DOCNOM" - номер паспорта для физических лиц
"DOCSER" - серия паспорта для физических лиц
"DOCOWN" - наименование органа выдачи паспорта для физических лиц
"DOCDAT" - дата выдачи паспорта для физических лиц
Пример:
tcl("ORG","TXT",HORG)
Получить название организации: "ООО "Абрис-К""
tcl("ORG","RSC",HORG)
Получить расчетный счет организации, установленный текущим: "26054687002"
tcl("ORG","MADR",HORG)
Получить адрес организации с индексом: "02192, Киевская обл, Обуховский р-н, Украинка, ул. 8 Марта, д.45, кв.6"
tcl("ORG","LOCATE",HORG)
Получить наименование города: "Украинка"
tcl("ORG","PHONE",HORG)
Получить номер факса указанной организации: "256-39-45"
tcl("ORG","TBOSS",HORG)
Получить ФИО директора организации: "Шевченко Виктор Викторович"
tcl("ORG","DOCNOM",HORG)
Получить номер паспорта (в карточке контрагента указана "категория лица: физическое"): "584155"
tcl("REC","TXT",<номер рецепта>)
Получить наименование рецепта из справочника рецептов.
Пример:
tcl("REC","TXT",1)
Получить название рецепта с кодом 1: "Торт Светлана"
tcl("SC",<режим>,<счет>,<субсчет>,<статья>,<аналитика1>,<аналитика2>,<аналитика3>)
Получить текст по счету/субсчету/статье/аналитике.
<режим>
"" - получить текст по указанному счету, субсчету, статье или по последней указанной аналитике
"CL1" - получить текст по указанному счету, субсчету, статье 1-й справочник аналитики из плана счетов
"CL2" - получить текст по указанному счету, субсчету, статье 2-й справочник аналитики из плана счетов
"CL3" - получить текст по указанному счету, субсчету, статье 3-й справочник аналитики из плана счетов
Пример:
tcl("SC","",63,632)
Получить из плана счетов название 63 счета, 632 субсчета: "Расчеты с иностранными партнерами"
tcl("SC","",63,632,0,12,18)
Получить наименование элемента с кодом 18 из справочника аналитики, закрепленным в качестве второй аналитики за 63 счетом, 632 субсчетом, 0 статьей: "Договора на поставку"
tcl("SC","CL2",62,621,1)
Получить код второго справочника аналитики, закрепленого за 62 счетом, 621 субсчетом, 1 статьей: 8 (справочник "Договора")
tcl("VAL",<режим>,<валюта>)
Получить по указанной валюте атрибут (валюта может быть указана как кодом, так и сокращенным названием).
<режим>
"" - сокращенное наименование
"F" - полное наименование
"COM" - международный код валюты
Пример:
tcl("VAL","",0)
Получить сокращенное наименование валюты с кодом 0: ГРН
tcl("VAL","F","EUR")
Получить полное наименование валюты, валюта указана сокращенным названием EUR: "Евро"

tcont(<организация>,<должность>,<режим>)

Получить информацию из добавленных вручную контактных особ контрагентов по внутреннему идентификатору контактной особы. Если передан только один параметра, то функция возвращает ФИО контактной особы.
<режим>
"FPHONE" - телефон
"FPOST" - должность
"PNOTE" - примечания
"FTAXNUM" - индивидуальный налоговый номер
"FBIRTH" - дата рождения
"FEMAIL" - электронная почта
"FSEX" - пол
"FMANAGER" - код менеджера
Пример:
tcont(66318)
Получить ФИО контактной особы с FWID 66318: "Мельникова Светлана Викторовна"
tcont(66318,"FPOST")
Получить должность контактной особы с FWID 66318: "бухгалтер"

tcontacts(<организация>,<должность>,<режим>)

Получить информацию из добавленных вручную контактных особ контрагентов по коду контрагента и должности контактной особы. Если переданы только два параметра, то функция возвращает ФИО контактной особы.
<режим>
"FPHONE" - телефон
"FPOST" - должность
"PNOTE" - примечания
"FTAXNUM" - индивидуальный налоговый номер
"FBIRTH" - дата рождения
"FEMAIL" - электронная почта
"FSEX" - пол
"FMANAGER" - код менеджера
Пример:
tcontacts(HORG,"продавец")
Получить ФИО продавца заданной организации: "Петренко Игорь Васильевич"
tcontacts(HORG,"директор","FSEX")
Получить пол директора заданной организации: "м"

tfcl("",<справочник>,<№ элемента справочника>)

Получить наименование элемента справочника.
Пример:
tfcl("",24,5)
Получить из справочника "Должности для зарплаты в пенсионный фонд" (24) наименование элемента 5 ("Заместитель главного бухгалтера").

tfclcl("",<справочник>)

Получить название справочника.
<режим>
"" - получить название справочника
"VID" - получить вид справочника
Пример:
tfclcl("",7)
Получить название справочника с кодом 7: "Учредители"
tfclcl("VID",12)
Получить вид справочника: 2

tfedi(<режим>,<единица измерения>)

Получить атрибуты единицы измерения.
<режим>
"TXT" - сокращенное наименование
"TXTF" - полное наименование
"TXT2" - второе наименование
"TXTF2" - второе наименование
"=" - возвращается код единицы измерения
Пример:
tfedi("TXT",5)
Получить сокращенное наименование единицы измерения с кодом 5: "т"
tfedi("TXTF",5)
Получить полное наименование единицы измерения с кодом 5: "тонна"

tfnmk(<режим>,<номенклатура>)

Получить атрибут по указанной номенклатуре.
<режим>
"TXT=+" - наименование номенклатуры вместе с номенклатурным номером (в "Параметры системы/Учет ТМЦ" надо поставить "галочку" в поле "Выводить в названии номенклатурный номер")
"TXT" - наименование номенклатуры
"EDI" - сокращенное наименование единицы измерения
"EDI1" - сокращенное наименование дополнительной единицы измерения
"KF1" - коэффициент перевода из дополнительной единицы измерения в основную
"VID" - вид номенклатуры (возвращает для услуг - "S",тары - "R",ТМЦ - "")
"RAZR" - разрез ведения номенклатуры (возвращает: "POST" - ведется по поставщикам, "PN" - по приходам, "POSTPN" - по поставщикам и приходам
"ARTICUL" - артикул
"OUTID" - внешний идентификатор
"LINECOD" - штрихкод
"NDS" - процент НДС
"COD" - номенклатурный номер
"GROUP" - наименование номенклатурной группы
"CENAPR" - цена реализации
"1CENA" - цена поставщика
Пример:
tfnmk("TXT=+",RTNMK)
Получить номенклатурный номер и название: "001.0002: Сахар ванильный"
tfnmk("EDI",RTNMK)
Получить сокращенное наименование единицы измерения указанной номенклатуры (RTNMK): "гр."
tfnmk("RAZR",RTNMK)
Если номенклатура ведется в разрезе поставщиков, то получим строку "POST"
tfnmk("GROUP",RTNMK)
Получить название группы, в которую входит номенклатура(RTNMK): "Продукты"

tforg(<режим>,<организация>)

Получить атрибуты организации.
<режим>
"TXT" - полное название организации
"TXTS" - сокращенное название организации
"MFO" - МФО
"BNK" - название банка
"RSC" - расчетный счет текущий
"OKP" - ЕГРПОУ
"CODNDS" - код плательщика НДС
"UADR" - полный адрес (страна, область, район, насел. пункт, улица ... квартира)
"ADR" - полный почтовый адрес и телефон (индекс, страна, область, район, насел. пункт, улица ... телефон, факс)
"FADR" - адрес для налоговых накладных (улица, № дома, № офиса, город (населенный пункт), район (если населенный пункт не является райценторм), область (если город не является областным центром), почтовый индекс)
"MADR" - индекс и адрес без указания страны и телефонов (индекс, область, район, насел. пункт, ... квартира )
"YURADDR" - юридический адрес
"NDSADDR" - адрес для накладных
"ZIP" - почтовый индекс
"COUNTRY" - страна
"REGION" - область
"AREA" - район
"LOCATE" - город
"ADDR" - улица
"BLD" - номер дом
"APART" - квартира
"CALLCOD" - код междугороднего (международного) доступа
"FULLPHONE" - телефонный номер, возвращает строку "тел.: (0567) 258-69-15"
"PHONE" - телефон
"FULLFAX" - факс, возвращает строку "факс: (0567) 567-58-18"
"FAX" - факс
"EMAIL" - электронный адрес
"WEB" - WEB адрес
"REM" - вид деятельности
"DOD" - дополнительные реквизиты
"REGIS" - номер свидетельства о регистрации
"PLATNDS" - является или нет плательщиком НДС(возвращает: true - является, false - нет )
"NAL" - ставка налогообложения
"TBOSS" - ФИО директора
"TBUH" - ФИО главного бухгалтера
"TCAS" - ФИО кассира
"DOCNOM" - номер паспорта для физических лиц
"DOCSER" - серия паспорта для физических лиц
"DOCOWN" - наименование органа выдачи паспорта для физических лиц
"DOCDAT" - дата выдачи паспорта для физических лиц
Пример:
tforg("TXT",HORG)
Получить название организации: "ООО "Абрис-К""
tforg("RSC",HORG)
Получить расчетный счет организации, установленный текущим: "26054687002"
tforg("MADR",HORG)
Получить адрес организации с индексом: "02192, Киевская обл, Обуховский р-н, Украинка, ул. 8 Марта, д.45, кв.6"
tforg("LOCATE",HORG)
Получить наименование города: "Украинка"
tforg("PHONE",HORG)
Получить номер факса указанной организации: "256-39-45"
tforg("TBOSS",HORG)
Получить ФИО директора организации: "Шевченко Виктор Викторович"
tforg("DOCNOM",HORG)
Получить номер паспорта (в карточке контрагента указана "категория лица: физическое"): "584155"

tfrec("TXT",<номер рецепта>)

Получить наименование рецепта из справочника рецептов.
Пример:
tfrec("TXT",1)
Получить название рецепта с кодом 1: "Торт Светалана"

tfsc(<режим>,<счет>,<субсчет>,<статья>,<аналитика1>,<аналитика2>,<аналитика3>)

Получить текст по счету/субсчету/статье/аналитике.
<режим>
"" - получить текст по указанному счету, субсчету, статье или по последней указанной аналитике
"CL1" - получить текст по указанному счету, субсчету, статье 1-й справочник аналитики из плана счетов
"CL2" - получить текст по указанному счету, субсчету, статье 2-й справочник аналитики из плана счетов
"CL3" - получить текст по указанному счету, субсчету, статье 3-й справочник аналитики из плана счетов
Пример:
tfsc("",63,632)
Получить из плана счетов название 63 счета, 632 субсчета: "Расчеты с иностранными партнерами"
tfsc("",63,632,0,15,18)
Получить наименование элемента с кодом 18 из справочника аналитики, закрепленным в качестве второй аналитики за 63 счетом, 632 субсчетом, 0 статьей: "Договора на поставку"
tfsc("CL2",62,621,1)
Получить код второго справочника аналитики, закрепленого за 62 счетом, 621 субсчетом, 1 статьей: 8 (справочник "Договора")

tfval(<режим>,<валюта>)

Получить по указанной валюте атрибут (валюта может быть указана как кодом, так и сокращенным названием).
<режим>
"" - сокращенное наименование
"F" - полное наименование
"COM" - международный код валюты
Пример:
tfval("",0)
Получить сокращенное наименование валюты с кодом 0: ГРН
tfval("F","EUR")
Получить полное наименование валюты, валюта указана сокращенным названием EUR: "Евро"

xcl(<код справочника>,<код элемента справочника>, <метка расширения>)

Получить значение расширения для указанного элемента справочника по метке расширения.
Пример:
xcl(12,36,"CLVIP")
Получить значение расширение по метке ("CLVIP") для элемента с кодом 36 (контрагент "ООО Карат") из справочника с кодом 12 ("Контрагенты"): "VIP-клиент".

xnmk(<номенклатура>,<метка расширение>)

Получить по номенклатуре значения расширения.
Пример:
xnmk(RTNMK,"ART")
Получить значение расширение по метке ("ART") для указанного элемента справочника номенклатуры.

xorg(<код элемента справочника>,<метка расширения>)

Получить значение расширения организации для указанного элемента справочника аналитики по метке расширения.
Пример:
xorg(6,"KD")
Получить значение расширение по метке ("KD") для элемента с кодом 6: "35897".

Функции для работы с документами

getNalField(<идентификатор>,<поле>,<журнал>)

Получить налоговые атрибуты по идентификатору документа.
<идентификатор> - идентификатор документа (FWID...)
<поле> - поле документа
"HNKNOM" - номер налоговой налоговой
"HNKDAT" - дата налоговой накладной
"HISNOV1" - наличие налоговой накдладной
<журнал> - номер журнала налоговой регистрации ("S1_DEC","S2_DEC"...)
Пример:
getNalField(53336,"HNKDAT","S1_DEC")
Получить дату ("HNKDAT") накладной с идентификатором 53336 по журналу: 2009-03-25

HDC(<выражение>,<класс>,<операция>,<идентификатор>)

Получить информацию по документу.
<выражение> - выражение или переменная
<класс> - класс документа ("PN","NK"...)
<операция> - номер операции
<идентификатор> - идентификатор документа
Пример:
HDC("HDAT", "PN",1,47927)
Получить дату ("HDAT")приходной накладной ("PN") с идентификатором 47927 для 1 операции: 2009-03-25

nomDogByID(<идентификатор>)

Получить номер договора по идентификатору.
Пример:
nomDogByID(53336)
Получить номер договора с идентификатором 53336: 25B

tanf(<идентификатор>,<режим>)

Вернуть значение поля строки накладной.
<режим> - поле накладной (указывать без буквы "F")
"CENA" - учетная цена
"CENAPR" - цена прихода
"MOL" - материально-ответственное лицо
"KOL" - количество
"POST" - поставщик
"PODR" - подразделение
"SC" - счет и т.д.
Пример:
tanf(33587,"POST")
Получить код поставщика в накладной с идентификатором 33587: 4

tdc(<режим>,<умолчание>, <класс>,<операция>,<идентификатор>,<вид>)

Вернуть налоговые атрибуты по документу.
<режим>
"HNKDAT" - дата документа
"HNKNOM" - № налоговой накладной
"HPRCOND" - условие продажи
"HOPFORM" - форма оплаты
"HREG" - идентификатор журнала регистрации
<умолчание> - возвращаемое значение, если документ нигде не зарегистрирован
<класс> - класс документа ("PN","NK"...)
<операция> - номер операции
<идентификатор> - внутренний идентификатор документа
<вид> - вид журнала регистрации ("+" - журнал покупок,"-" - журнал продаж)
Пример:
tdc("HNKDAT",d00,"PN",2,56479,"+")
Получить дату налоговой накладной ("HNKDAT") для приходной накладной ("PN") операции 2 с идентификатором 56479 в журнале покупок ("+"): 23.08.2010. Если документ не буде найден, тогда вернется значение по умолчанию d00: Wed Jan 01 00:00:00 EET 3000.

tdoc(<идентификатор>,<операция>)

Получить название документа (в функции только один параметр) или операции.
Пример:
tdoc("PN")
Получить название документа с идентификатором "PN": "Приходование ТМЦ"
tdoc("PN",2)
Получить 2 операции с идентификаторм "PN": "Приход (товаров, материалов, МБП ) НДС 20%"

tdog(<идентификатор>,<поле>)

Получить информацию по договору.
<идентификатор> - идентификатор договора
<поле> - поле договора
"FBDAT" - дата начала действия договора
"FEDAT_DOG" - дата окончания действия договора
"FTXT" - предмет договора
"FSUM_DOG" - сумма договора
"FDOG_NUM" - номер договора и т.д.
Пример:
tdog(1514501,"FTXT")
Получить предмет договора ("FTXT") с идентификатором 1514501: "Информационно-консультационные услуги"

tflnk(<режим>,<документ>,<операция>)

Получить название операции по документу.
<режим>
"" - сокращенное название
"F" - полное название
"F+" - метка + название
Пример:
tflnk("F+","PN",1)
Получить метку и название ("F+") операции 1 для приходной накладной ("PN"): "(PN-1) Приход по импорту"

tnmkgrp(<идентификатор>)

Получить название группы номенклатуры.
Пример:
tnmkgrp("22.301")
Получить название группы по номенклатурному номеру "22.301": "Туалетная вода"
tnmkgrp(5687412)
Получить название группы по номенклатуре с идентификатором 5687412: "Туалетная вода"

Функции для работы с проводками и балансом

nnds(<режим>,<сумма>)

Работа с НДС. Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
"b" - база для начисления НДС
"n" - НДС
"s" - сумма с НДС
Пример:
nnds('bs',100)
Получить по базе (100) сумму: 120
nnds('nb',100)
Получить по НДС (100) базу: 500
nnds('sn',120)
Получить по сумме (120) НДС: 20

ob(<режим>,<дата>,<счет>,<субсчет>, <статья>, <аналитика1>,<аналитика2>, <аналитика3>)

Получить оборот за указанный период по заданному счету, субсчету/статье и аналитикам.
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
"+" - обороты по дебету счета
"-" - обороты по кредиту счета
Пример:
ob("+",dat1,dat2,63,631,3,9,0,0)
Рассчитать дебетовые обороты за период (dat1,dat2) по 63 счету, 631 субсчету, 3 статье и 3 аналитике.

ob_(<режим>,<начальная дата>, <конечная дата>,<валюта>, <дебет счет>, <кредит счет>, <Дт субсчет>, <Кт субсчет>,<Дт статья>, <Кт статья>, <Дт аналитика 1>, <Кт аналитика 1>, <Дт аналитика 2>, <Кт аналитика 2>, <Дт аналитика 3>, <Кт аналитика 3>)

Получить оборот за указанный период в указанной валюте по заданному счету, субсчету, ... или корреспонденции счетов.
Если кредитовый (дебетовый) счет нулевой, то функция возвратит дебетовый (кредитовый) оборот с дебета (кредита) указанного счета в кредит дебет) всех остальных счетов.
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
- режимы работы с суммами
"H" - в справочной валюте
- режимы работы с валютой
"V" - получить сальдо исходя из проводок только в указанной валюте
Пример:
ob_("",dat1,dat2,0,65,31,651,311,2,0,2,0,0,0,0,0)
Рассчитать обороты за период (dat1,dat2) в национальной валюте (0), корреспонденция счетов: дебет - 65 счет/651 субсчет/2 статья/2 аналитика; кредит - 31 счет/311 субсчет.

m_ob(<мемориальный ордер>,<дата1>,<дата2>)

Рассчитать обороты по мемориальному ордеру.
<мемориальный ордер> - код мемориального ордера в справочнике мемориальных ордеров
<дата1>,<дата2> - период расчета
Пример:
m_ob(2,dat1,dat2)
Получить обороты за период с dat1 - dat2 по мемориальному ордеру с кодом 2

sl(<режим>,<дата>, <счет>, <субсчет>,<статья>, <аналитика 1>, <аналитика2>, <аналитика 3>)

Рассчитать сальдо по сч/субсч/ст/ан1/ан2/ан3 на дату.
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
"+" - получить сальдо по дебету
"-" - получить сальдо по кредиту
Пример:
sl('-',dat1,65,651,2,2,0,0)
Получить кредитовое сальдо (-) на заданную дату (dat1) по 65 счету, 652 субсчету, 2 статье, 2 аналитике (код нужного элемента из справочника аналитики).

sl_(<режим>,<дата>, <валюта>, <счет>, <субсчет>,<статья>, <аналитика 1>, <аналитика2>, <аналитика 3>)

Рассчитать сальдо на начало/конец указанной даты в указанной валюте по сч/субсч/ст/ан1/ан2/ан3.
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
- Режимы получаемого сальдо
"D"/"K" - получить сальдо по дебету/кредиту
- Режимы дат расчета файла
"_" - на начало дня (существенно при расчете на дату, на которую введен начальный остаток)
- Режимы работы с суммами
"H" - в справочной валюте
- Режимы работы с валютой
"V" - получить сальдо исходя из начальных остатков и проводок только в указанной валюте
- Режимы вида счета
"+" - рассматривать счет как активный (=="D~sc")
"-" - рассматривать счет как пассивный (=="K~sc")
"%" - рассматривать счет как активно-пассивный, свернутый на статьи (=="~st")
"*" - рассматривать счет как активно-пассивный, свернутый на счете (=="~sc")
"~<уровень>" - рассматривать счет как активно-пассивный, свернутый на указанном уровне.
<уровень> может принимать одно из следующих значений:
"sc" - на счете
"su" - на субсчете
"st" - на статье
"a1"- на первой аналитике
"a2" - на второй аналитике
"a3" - на третьей аналитике (на нижнем уровне)
иначе - на уровне последнего переданного ненулевого параметра
иначе - определить тип счета по плану счетов
Пример:
sl_('K_',dat1,0,65,651,2,2,0,0)
Получить кредитовое сальдо на начало дня (K_) на заданную дату (dat1) в национальной валюте (0) по 65 счету, 652 субсчету, 2 статье, 2 аналитике (код нужного элемента из справочника аналитики).

Функции для работы с журналами регистрации

bnn_ob(<выражение>,<дата 1>, <дата 2>,<операция>,<условие>)

Рассчитать обороты по реестру налоговых накладных полученных (через "Журналы"или через документы NN – полученная налоговая накладная).
<выражение> - используются переменные "HN2", "HN5"... (колонки в реестре).
<дата1>,<дата2> - период расчета оборотов.
<операция> - номер операции (если необходимы обороты по конкретной папке налоговых накладных).
<условие> - условие для отбора документов (например, HISCOR==true - отбор только накладных на корректировку).
Пример:
bnn_ob('HN6',dat1,dat2,0,'HISCOR==true')
Получить обороты (общая сумма с НДС - 'HN6'), учитывая только полученные налоговые накладные на корректировку за период (dat1, dat2) по всем операциям (0).

rnalp(<выражение>,<корректировка>)

Рассчитать обороты по журналу покупок. Предварительно необходимо рассчитать реестр полученных налоговых накладных.
<выражение> - используются переменные "F_06", "F_07"... (колонки в рассчитанном реестре)
Если в функции указан только один параметр, тогда рассчитываются обороты по всем накладным. Иначе необходимо задавать условие.
<условие> - условие для отбора корректировок, например, HISCOR==true - отбор только накладных на корректировку).
"true" - отбираются только накладные на корректировку
"false" - отбираются все накладные, кроме корректировок
Пример:
rnalp('F_06',true)
Получить обороты (общая сумма с НДС - 'F_06'), учитывая только полученные налоговые накладные на корректировку.
rnalp('F_06')
Получить обороты (общая сумма с НДС - 'F_06')по всем налоговым накладным полученным

rnalv(<выражение>,<корректировка>)

Рассчитать обороты по журналу продаж. Предварительно необходимо рассчитать реестр выданных налоговых накладных.
<выражение> - используются переменные "F_06", "F_07"... (колонки в рассчитанном реестре)
Если в функции указан только один параметр, тогда рассчитываются обороты по всем накладным. Иначе необходимо задавать условие
<условие> - условие для отбора корректировок (например, HISCOR==true - отбор только накладных на корректировку)
"true" - отбираются только накладные на корректировку
"false" - отбираются все накладные, кроме корректировок
Пример:
rnalv("F_07", false)
Получить обороты (общая сумма с НДС - 'F_06') без учета выданных налоговые накладные на корректировку.
rnalv('F_06')
Получить обороты (общая сумма с НДС - 'F_06')по всем налоговым накладным выданным

Функции для работы с ТМЦ

cenapric(<цена>, <прайс>, <дата>,<номенклатура>)

Получить цену номенклатуры из прайса
<цена> - номер цены в прайсе(0,1,2...)
<класс> - тип прайс-листа (А, В ...)
<дата> - дата прайс-листа
<номенклатура> - ID номенклатуры
Пример:
cenapric(1,'B',dat1,51846)
Получить цену № 1 из прайса типа В на dat1 для номенклатуре с ID 51846: 46.58

nk_mtr(<режим>, <дата 1>, <дата 2>,<номенклатура>, <цена>, <подразделение>,<МОЛ>, <счет>, <субсчет>, <статья>, <поставщик>, <плательщик>)

Продажи за период.
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
"$" - в денежном выражении в учетных ценах
"$S" - в справочных ценах
"$O" - в отпускных ценах
"" - в количественном выражении
Пример:
nk_mtr("",dat1,dat2,12250,98.11000,2,4,28,282,0,11,15)
Получить объем продаж в количественном выражении за период (dat1,dat2) по номенклатуре (ID 12250) с ценой 98.11000, по заданным подразделению (2), МОЛ (4), счету (28), субсчету (282),поставщику (11) и плательщику (15).

ob_mtr(<режим>, <дата 1>, <дата 2>,<номенклатура>, <цена>, <подразделение>,<МОЛ>, <счет>, <субсчет>, <статья>, <поставщик>, <валюта>)

Рассчитать обороты по движению ТМЦ
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
- Вид оборотов
"Q" - обороты в количественном выражении
"$U" - обороты в денежном выражении в учетных ценах
- Вид движения:
"+" - приход
"#" - приход по перемещению
"*" - весь приход
"-" - расход
"=" - расход по перемещению
"=" - весь расход
Пример:
ob_mtr("Q",dat1,dat2,22105,45.67000,3,4,28,281,0,1,0,0,5,0)
Рассчитать количественные обороты ТМЦ за период (dat1,dat2) по номенклатуре с ID 22105 с ценой 45.67000 по заданным подразделению(3), МОЛ (4), счету/субсчету/статье/аналитике 1 (28/281/0/1), поставщику (5) в национальной валюте (0).

sl_mtr(<режим>,<дата>, <номенклатура>,<цена>,<подразделение>,<МОЛ>, <счет>, <субсчет>,<статья>,<поставщик>)

Рассчитать остатки ТМЦ на указанную дату по сч/субсч/ст/.
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
"$" - остаток в денежном выражении в учетных ценах
"$F" - остаток в денежном выражении в учетных ценах с учетом счетов-фактур
"" - остаток в количественном выражении
"F" - остаток в количественном выражении с учетом счетов-фактур
Пример:
sl_mtr('F',dat1,22150,45.11000,3,3,28,281,0,5)
Получить количественные остатки на дату (dat1) по номенклатуре (ID 22150) и ценой 45.11000, по заданным подразделению (3), МОЛ (3), счету (28), субсчету (281) и поставщику (5).

vr_mtr(<режим>, <дата 1>, <дата 2>,<номенклатура>, <цена>, <подразделение>,<МОЛ>, <счет>, <субсчет>, <статья>, <поставщик>, <плательщик>)

Возврат реализации.
Режимы работы задаются через наличие предопределенных значений в параметре <режим>:
"$" - в денежном выражении в учетных ценах
"$S" - в справочных ценах
"$O" - в отпускных ценах
"" - в количественном выражении
Пример:
vr_mtr("",dat1,dat2,12250,98.11000,2,4,28,281,0,11,15)
Получить возврат реализации в количественном выражении за период (dat1,dat2) по номенклатуре (ID 12250) с ценой 98.11000, по заданным подразделению (2), МОЛ (4), счету (28), субсчету (281),поставщику (11) и плательщику (15).

Функции для работы с заработной платой

Alim(<идентификатор>,<дата>,<сумма>)

Рассчитать алименты.
<идентификатор> - идентификатор табельного номера
<дата1> - дата для расчета
<сумма> - сумма для расчета
Пример:
Alim(44062,dat1,1000)
Рассчитать размер алиментов от суммы 1000 грн. для табельного номера с идентификатором 44062 на dat1: 250.

getCurDol(<таб.№>,<дата>)

Получить текущую должность по табельному номеру.
Пример:
getCurDol(3,dat1)
Получить текущую должность сотрудника с табельным номером 3: "главный бухгалтер"

getCurPodr(<таб.№>,<дата>)

Получить текущее подразделение по табельному номеру.
Пример:
getCurPodr(3,dat1)
Получить текущую подразделение, за которым закреплен сотрудник с табельным номером 3: "администрация"

getDaysOtp(<календарь>,<дата1>,<дата2>)

Количество дней отпуска из календаря за указанный период.
<календарь> - номер календаря
<дата1> - начальная дата
<дата2> - конечная дата
Пример:
getDaysOtp(1,dat1,dat2)
Получить количество отпускных дней за период (dat1,dat2) по календарю с номером 1: 24.

getLsNum(<поле ЛС>)

Возвращает номер поля лицевого счета по коду.
Пример:
getLsNum(366)
Получить номер поля лицевого счета с кодом 366: 4

getLsTxt(<поле ЛС>)

Возвращает название поля лицевого счета по коду.
Пример:
getLsTxt(366)
Получить название поля лицевого счета с кодом 366: "оклад (совместители)"

getOtpDays(<приказ>,<таб.№>,<режим>)

Количество дней отпуска.
<приказ> - идентификатор приказа
<таб.№> - идентификатор табельного номера
<режим> - "D" - количество дней отпуска; "P" - количество праздничных дней; "DP","PD",null - суммарное количество дней с учетом праздничных
Пример:
getOtpDays(44231,53283,"Р")
Получить количество отпускных праздничных дней ("Р") для табельного номера с идентификатором 53283: 2

getShtatExt(<расширение>,<идентификатор>)

Возвращает код записи справочника из расширений штатного расписания. Можно передавать два, три или четыре параметра:
<расширение>,<идентификатор> - идентификатор расширения и идентификатор записи штатного расписания
<расширение>,<идентификатор>,<дата> - идентификатор расширения, идентификатор записи сотрудника и дата, по которой определяем запись в штатном расписании
<расширение>,<идентификатор>,<дата1>,<дата2> - идентификатор расширения, идентификатор записи сотрудника и две даты, по которым определяем последнюю запись в штатном расписании
Пример:
getShtatExt("RANG",45936)
Получить значение расширения с меткой "RANG" для записи штатного расписания с идентификаторм 45936: 13
getShtatExt("RANG",45936,dat1)
Получить значение расширения с меткой "RANG" по идентификатору записи сотрудника 45936 на dat1: 14
getShtatExt("RANG",93562,dat1,dat2)
Получить значение расширения с меткой "RANG" по последней записи (dat1,dat2) сотрудника с идентификатором 93562: 15

getShtatInfo(<идентификатор>,<режим>)

Получить данные из штатного расписания.
<идентификатор> - идентификатор может задаваться как числом, так и выражением
<режим> - имя поля
"VOPL" - вид оплаты
"OKLAD" - оклад
"AVANS" - аванс
"REASON" - основание
"TABLE" - табл. подоходного налога
"TERM" - испытательный срок
"FEDAT" - дата ликвидации
"PENS" - пенсионер (является - true, нет - false)
"BDAT" - дата назначения
"SHPZ" - ШПЗ
"SEX" - пол (м - true, ж - false)
"INDNUM" - идентификационный код
Пример:
getShtatInfo(44607, "VOPL")
Получить вид оплаты ("VOPL") с идентификатором 44607 (значением FWID): 1000
getShtatInfo("FINDNUM=2651455289", "OKLAD")
Получить оклад ("OKLAD") для индивидуального налогового номера 2651455289 ("FINDNUM"): 45000

getShtatZvanTxt(<идентификатор>)

Возвращает текстовку квалификации/звания записи из штатного расписания. Можно передавать один, два и три параметра:
<идентификатор> - идентификатор записи штатного расписания
<идентификатор>,<дата> - идентификатор записи сотрудника и дата, по которой определяем запись в штатном расписании
<идентификатор>,<дата1>,<дата2> - идентификатор записи сотрудника и две даты, по которым определяем последнюю запись в штатном расписании
Пример:
getShtatZvanTxt(45936)
Получить звание для записи штатного расписания с идентификаторм 45936: "лейтенант"
getShtatZvanTxt(67382,dat1)
Получить звание по идентификатору записи сотрудника 67382 на dat1: "капитан"
getShtatZvanTxt(93562,dat1,dat2)
Получить звание по идентификатору записи сотрудника 93562, которая попадает в период dat1-dat2: "старший лейтенант"

getSumFond(<фонд>,<тип ЛС>, <дата>,<вид оплаты>, <табельный номер>)

Общая сумма базы начислений/удержаний по конкретному фонду, либо % начислений/удержаний
<фонд> - метка фонда
"PF" - пенсионный фонд
"PFI" - пенсионный фонд (инвалиды)
"SS" - фонд социального страхования
"SS1%" - соцстрах 1% (только для базы и % удержаний)
"SS0.5%" - соцстрах 0.5% (только для базы и % удержаний)
"FZ" - фонд занятости
"FZT" - фонд занятости по трудовому соглашению (только для базы и % начислений)
"FNS" - фонд страхования от несчастного случая
<тип> - тип поля лицевого счета
"+" - база начисления
"%+" - процент начисления
"-" - база удержания
"%-" - процент удержания
<дата> - месяц, за который идет расчет
<вид оплаты> - код вида оплаты
1000 - повременщики на окладе
4000 - сдельная З/П
8000 - совместители на окладе
8500 - по трудовым соглашениям
<табельный номер> - ID конкретного табельного номера
Пример:
getSumFond('PF','-%',dat1,0,44596)
Получить сумму удержаний (-%) в пенсионный фонд (PF) за заданный месяц (dat1) по табельному номеру с идентификатором 44596.
getSumFond('FZ','+',dat1,1000)
Получить базу для начисления (+) в фонд занятости (FZ) за заданный месяц (dat1) по всем повременщикам на окладе (код 4000).
getSumFond('SS1%','-%',dat1)
Получить за заданный месяц (dat1) общую сумму удержаний (-%) для всех, у кого размер взноса в фонд социального страхования равен 1% (SS1%).

getSumFondPeriod(<фонд>,<тип ЛС>, <дата1>,<дата2>,<вид оплаты>, <табельный номер>)

Общая сумма базы начислений/удержаний по конкретному фонду, либо % начислений/удержаний за период
<фонд> - метка фонда
"PF" - пенсионный фонд
"PFI" - пенсионный фонд (инвалиды)
"SS" - фонд социального страхования
"SS1%" - соцстрах 1% (только для базы и % удержаний)
"SS0.5%" - соцстрах 0.5% (только для базы и % удержаний)
"FZ" - фонд занятости
"FZT" - фонд занятости по трудовому соглашению (только для базы и % начислений)
"FNS" - фонд страхования от несчастного случая
<тип> - тип поля лицевого счета
"+" - база начисления
"%+" - процент начисления
"-" - база удержания
"%-" - процент удержания
<дата1>,<дата2> - период, за который идет расчет
<вид оплаты> - код вида оплаты
1000 - повременщики на окладе
4000 - сдельная З/П
8000 - совместители на окладе
8500 - по трудовым соглашениям
<табельный номер> - ID конкретного табельного номера
Пример:
getSumFondPeriod('PFI','+',dat1,dat2)
Получить сумму базы начислений (+) только для инвалидов в пенсионный фонд (PFI) за период (dat1,dat2).
getSumFondPeriod('FZ','-%',dat1,dat2,4000)
Получить общую сумму удержаний (-%) в фонд занятости (FZ) за период (dat1,dat2) только для вида оплаты 4000 (сдельная оплата труда).

getSumFot(<тип>,<дата>,<параметр>)

Отбор из лицевых счетов суммы по признаку ЛС "Вхождение в ФОТ"
<тип> может принимать следующие значения:
"-" - не входит
"+" - основн.ЗП
"к" - командировки
"*" - прочая доп.ЗП
"д" - надбавки и доплаты
"п" - систем.премии
"и" - инд.по срокам выпл.
"і" - инд.по ценам
"о" - отпускные
"в" - комп.за отпуск
"н" - поле для гос.обяз.
"#" - проч.поощр.выпл.
"m" - мат.помощь
"c" - инд.соц.льготы
"n" - неотр.время в поощр.выпл.
"б" - явл.полем больн.с/с
"bquot; - явл.полем больн.предпр.
"&" - по берем.,уход за реб.
"т" - поле для труд.согл.
<дата> - дата для расчета
<параметр> - если отсутствует, тогда считается сумма
"d" - считается сумма дней
"c"- считается сумма часов
Пример:
getSumFot('b',dat1)
Получить сумму мат. помощи по временной нетрудоспособности ("b").
getSumFot('SS',dat1,'d')
Получить количество дней ("d") больничного за счет фонда социального страхования.

getSumFotPeriod(<тип>,<дата1>,<дата2>,<параметр>)

Отбор из лицевых счетов суммы по признаку ЛС "Вхождение в ФОТ" за период
<тип> может принимать следующие значения:
"-" - не входит
"+" - основн.ЗП
"к" - командировки
"*" - прочая доп.ЗП
"д" - надбавки и доплаты
"п" - систем.премии
"и" - инд.по срокам выпл.
"і" - инд.по ценам
"о" - отпускные
"в" - комп.за отпуск
"н" - поле для гос.обяз.
"#" - проч.поощр.выпл.
"m" - мат.помощь
"c" - инд.соц.льготы
"n" - неотр.время в поощр.выпл.
"б" - явл.полем больн.с/с
"bquot; - явл.полем больн.предпр.
"&" - по берем.,уход за реб.
"т" - поле для труд.согл.
<дата1>,<дата2> - период для расчета
<параметр> - если отсутствует, тогда считается сумма
"d" - считается сумма дней
"c"- считается сумма часов
Пример:
getSumFotPeriod('b',dat1,dat2)
Получить сумму мат. помощи по временной нетрудоспособности ("b").
getSumFotPeriod('SS',dat1,dat2,'d')
Получить количество дней ("d") больничного за счет фонда социального страхования.

getSumPodNalByID(<идентификатор>,<дата1>,<дата2>)

Сумма подоходного налога по человеку.
<идентификатор> - идентификатор табельного номера
<дата1> - месяц, за который идет расчет
<дата2> - если нужна сумма за период, тогда третим параметром передаем дату окончания периода
Пример:
getSumPodNalByID(54192,dat1)
Получить сумму подоходного налога за месяц (dat1) для табельного номера с идентификатором 54192: 150.45
getSumPodNalByID(54192,dat1,dat2)
Получить сумму подоходного налога за период (dat1,dat2) для табельного номера с идентификатором 54192: 467.31

getVislProc(<дата>,<дата выслуги>,<справочник>)

Расчитать процент выслуги на дату по дате для выслуги из справочника аналитики.
<дата> - дата для расчета
<дата выслуги> - дата для выслуги
<дата2> - справочник аналитики
Пример:
getVislProc(dat1,dat2,22)
Получить процент выслуги на dat1 по дате для выслуги dat2 из 22 справочника: 20

getWorkDays(<календарь>,<дата1>,<дата2>)

Количество рабочих дней из календаря за указанный период.
<календарь> - номер календаря
<дата1> - начальная дата
<дата2> - конечная дата
Пример:
getWorkDays(1,dat1,dat2)
Получить количество рабочих дней за период (dat1,dat2) по календарю с номером 1: 19.

getWorkHours(<календарь>,<дата1>,<дата2>)

Количество рабочих дней в часах из календаря за указанный период.
<календарь> - номер календаря
<дата1> - начальная дата
<дата2> - конечная дата
Пример:
getWorkHours(1,dat1,dat2)
Получить количество рабочих часов за период (dat1,dat2) по календарю с номером 1: 24.

Podox_nal(<сумма>)

Расчёт подоходного налога
Пример:
Podox_nal(400)
Получить подоходний налог (15%) от 400: 65.55.

post_nal(<сумма>,<дата>)

Получить сумму почтового сбора на указанную дату согласно справочника "Почтовый сбор для алиментов".
Пример:
post_nal(1100,dat1)
Получить сумму почтового сбора для базовой суммы 1100 грн. на dat1: 13.2 грн.

svlcount(<дата>,<поле ЛС>)

Количество табельных номеров по заданному полю лицевого счета.
<дата> - есть два варианта вызова функции:
<дата1> - количество за месяц из <дата1>
<дата1>,<дата2> - количество за месяцы в периоде с <дата1> по <дата2>
<поле ЛС> - код поля лицевого счета
Пример:
svlcount(dat1,dat2,2)
Получить количество по полю ЛС "Оклад" (код поля 2) за месяцы в периоде с dat1 по dat2.

svls(<дата>,<поле ЛС>)

Общая сумма по заданному полю лицевого счета
<дата> - есть два варианта вызова функции:
<дата1> - считается сумма за месяц из <дата1>
<дата1>,<дата2> - считается сумма за месяцы в периоде с <дата1> по <дата2>
<поле ЛС> - код поля лицевого счета
Пример:
svls(dat1,dat2,2)
Получить сумму по полю ЛС "Оклад" (код поля 2) за месяцы в периоде с dat1 по dat2.

Функции для работы с основными средствами

getKolOS(<режим>,<инвентарный номер>,<дата>)

Количество основных средств
<режим> - true - используется список изменения стоимости по бухгалтерскому методу, false - используется список изменения стоимости по налоговому методу
<инвентарный номер> - инвентарный номер основного средства
<дата> - дата для расчета
Пример:
getKolOS("true","5",dat1)
Получить количество ОС из списка изменения стоимости по бух.методу на dat1 с инвентарным номером 5: 1.

getPrevMol(<инвентарный номер>,<дата>)

Из списка внутренних перемещений получить табельный номер последнего материально-ответственного лица, за которым закреплено основное средство.
<инвентарный номер> - инвентарный номер основного средства
<дата> - дата для расчета
Пример:
getPrevMol("2",dat1)
Получить табельный № материально-ответственного лица, за которым на dat1 закреплено ОС с инвентарным номером 2.

getCurMol(<инвентарный номер>,<дата>)

Из списка внутренних перемещений получить табельный номер предпоследнего материально-ответственного лица, за которым закреплено основное средство.
<инвентарный номер> - инвентарный номер основного средства
<дата> - дата, на которую необходимо получить информацию
Пример:
getCurMol("2",dat1)
Получить табельный № предпоследнего материально-ответственного лица, за которым на dat1 было закреплено ОС с инвентарным номером 2.

izos0b(<режим>,<инвентарный номер>, <поле>)

Получить значение поля в списке изменения стоимости по бух.учету.
<режим> - "P" - предпоследняя запись в списке, "" (или "L") - последняя запись
<инвентарный номер> - инвентарный номер основного средства
<поле> - имя поля
"ORIG_ALL" - первоначальная стоимость учетная
"IZNOS" - износ
"SROKADD" - срок службы
"GROUP" - группа
"BDAT" - начальная дата
"EDAT" - конечная дата
Пример:
izos0b("","2","BDAT")
Получить начальную дату ("BDAT") последнего изменения ("") первоначальной стоимости основного средства с инвентарным номером 2: 12.05.2010

izodat(<дата>,<инвентарный номер>, <поле>)

Получить значения любого поля в списке изменения стоимости по налоговому учету на определенную дату.
<дата> - дата, на которую необходимо получить информацию
<инвентарный номер> - инвентарный номер основного средства
<поле> - имя поля
"ORIG_ALL" - первоначальная стоимость учетная
"IZNOS" - износ
"SROKADD" - срок службы
"GROUP" - группа
"BDAT" - начальная дата
"EDAT" - конечная дата
Пример:
izosdat(dat1,"2","ORIG_ALL")
Получить первоначальную стоимость ("ORIG_ALL") на dat1 основного средства с инвентарным номером 2: 2200

izodatb(<дата>,<инвентарный номер>,<поле>,<таблица>)

Получить значения любого поля в списке изменения стоимости по бухгалтерскому учету (или в другой указанной таблице) на определенную дату .
<дата> - дата, на которую необходимо получить информацию
<инвентарный номер> - инвентарный номер основного средства
<поле> - имя поля
"ORIG_ALL" - первоначальная стоимость учетная
"IZNOS" - износ
"SROKADD" - срок службы
"GROUP" - группа
"BDAT" - начальная дата
"EDAT" - конечная дата
<таблица> - имя таблицы (если параметр не передан, то используется "Список изменения стоимости по бух. методу")
Пример:
izosdatb(dat1,"3","ORIG_ALL")
Получить первоначальную стоимость ("ORIG_ALL")на dat1 основного средства с инвентарным номером 2: 3500
izosdatb(dat1,"1","GROUP","OS0NDS")
Получить группу ("GROUP")на dat1 основного средства с инвентарным номером 1 в таблице "OS0NDS": 2

kf_am(<дата>,<группа>)

Получить коэффициент амортизации по группе основных средств.
Пример:
kf_am(dat1,12)
Получить коэффициент амортизации для 12 группы основных средств на заданную дату dat1: 10

tostxt(<режим>,<инвентарный номер>)

Получить наименование основного средства.
Пример:
tostxt("",12)
Получить название основного средства с инвентарным номером 12:"ГАЗ Газель 33021"

tvidos(<код ОС>)

Получить название вида основных средств.
Пример:
tvidos(4)
Получить название вида основных средств с кодом 4: "Машины и оборудование"