- В данной статье описывается 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: "Машины и оборудование"