Добавлена возможность при описании связи со справочником указывать lookup-поля.
Добавлена возможность при описании связи со справочником указывать lookup-поля.
Добавлена возможность для настройки дерева групп по той же таблице использовать lookup-поля.
добавлена возможность использования нескольких иерархических списков ("деревьев") для группировки.
Для табличных форм реализован вариант использования
серверного фильтра, при котором этот фильтр используется только для
первоначальной выборки данных или при обновлении, но не учитывается при
корректировке и добавлении записей. Примером такого варианта является
массовая корректировка записей, удовлетворяющих определенному условию. После
внесения изменений в запись условие перестает выполняться, но необходимо,
чтобы запись не исчезала из выборки, как переставшая удовлетворять условиям
отбора записей.
Для табличных форм, у которых в описании установлен флажок при
открытии запрашивать условия фильтрации для серверного фильтра
,
в диалог установки фильтра добавлен дополнительный флажок: учитывать фильтр только при выборке данных:
Если этот флажок установлен, при коррекции отобранных записей или добавлении в выборку новых записей первоначальные условия отбора не учитываются. Новый флажок становится недоступным и неотмеченным, если хотя бы для одного условия пользователь установил вариант "входит в строку" или "похоже на".
В форму списка элементов экранной формы, которая выводится на экран вызовом пункта меню Форма / Элементы... добавлено поле, в котором отображается формула.
Также в эту форму добавлена кнопка Сведения, при нажатии на которую на экран выводится список элементов, у которых имеется формула или текст бизнес-процедуры.
В форме выбора бизнес-процедур для импорта записи отсортированы по алфавиту.
В язык бизнес-процедур
добавлен класс Transaction. Класс
предназначен для управления транзакциями в бизнес-процедурах. При завершении
работы процедуры, если транзакция остается открытой, происходит
автоматический откат транзакции. Если транзакция была открыта до вызова
бизнес-процедуры (внешним кодом), то работа класса никак не влияет на
транзакцию.
Свойства:
Database (только чтение) - имя псевдонима BDE
InTransaction (только чтение) - признак того, что БД находится в
транзакции
Методы:
- Конструктор может принимать один параметр
с именем псевдонима БД. При вызове без параметров базой данных считается "KOMPAS"
-
Start - начало транзакции
- Commit - завершение транзакции
-
Rollback - откат транзакции
В язык бизнес-процедур для работы с электронной почтой добавлен класс PopMail.
Свойства:
Subject ("строка") – Тема сообщения
Body ("строка") – Текст сообщения
Sender ("строка") – Имя отправителя. Если это свойство указывается до первого вызова Next, то является условием фильтра, иначе в этом поле находится имя отправителя сообщения.
Address ("строка")– Электронный адрес отправителя
Date (дата) – Дата сообщения
DateBegin (дата) - Начальная дата (фильтр)
DateEnd (дата) - Конечная дата (фильтр)
Eof – Возвращает true если нет сообщений для обработки. До первого вызова Next свойство всегда возвращает false.
Методы:
PopMail (Recipients, Attachments) – Инициализирует сессию с MAPI, а так же загружает mapi32.dll. Recipients и Attachments - объекты типа ListBox, в которые будет возвращаться список получателей и список прикреплённых файлов для сообщения. Если Attachments не передан, то при чтении сообщения не обрабатываются вложения, что приводит к значительному ускорению работы
Next – Получает следующее сообщение и возвращает true, если сообщение получено и false в противном случае. После вызова Next сообщение доступно через свойства класса. Данный метод, при получении сообщения должен реагировать на значения фильтров, указываемых через поля DateBegin, DateEnd и Sender.
UnreadOnly – Указывает, что необходимо получить только непрочитанные сообщения
Пример использования класса:
Recipients = ListBox
Attachments = ListBox
letter = PopMail(Recipients, Attachments)
letter.DateBegin = “01.11.2009”
letter.DateEnd = “05.11.2009”
‘ Цикл пока есть сообщения
while not letter.Eof
‘ Получаем сообщение
if letter.Next() then
‘ Выводим тело сообщения
print letter.Body
end if
end
В язык бизнес-процедур добавлена функция String2SQL, которая позволяет преобразовать строку к виду, пригодному для использования в SQL-предложениях, в частности, одинарные кавычке в строке удваиваются.
Параметры:
1. Текст: исходная строка;
2. Логический: следует ли заключать строку во внешние кавычки.
В методы Open, Save и SaveAs класса объектов Текстовый файл (TTextFile) добавлен необязательный параметр с двумя возможными значениями: "WIN" (умолчание) и "DOS". Значение этого параметра указывает, в какой кодировке будет интерпретироваться текст (win1251 или cp866). Текст внутри класса всегда интерпретируется как "WIN". Поэтому следующая конструкция:
Text = TTextFile
Text.Open "XXXXXXXX.TXT", "DOS"
Text.SaveAs "XXXX_DOS.TXT"
Text.Close
загрузит файл в кодировке DOS, но сохранит в WIN.
В язык бизнес-процедур добавлена функция GenUniqFileName("путь к файлу"), которая по заданному имени возвращает имя файла с уникальным суффиксом.
Для использования в модуле "Управление персоналом" добавлена функция Normativ с помощью которой можно получить значение норматива для указанного месяца, отдела, категории персонала.
Параметры:
1. Текст: обозначение норматива;
2. Текст: месяц в формате «ггггмм»;
3. Текст: номер отдела. По умолчанию – пусто;
4. Число: код категории персонала. По умолчанию – ноль;
5. Число: режим работы. По умолчанию – ноль. При ненулевом значении этого параметра учитываются только нормативы, заданные для указанного месяца. При нулевом значении параметра норматив может быть взят из ближайшего предыдущего месяца, в котором данный норматив указан.
Обязательными являются первые два параметра. Если номер отдела не задан или пуст, используются только значения норматива, общие для всех отделов. Если код категории персонала не задан или равен нулю, используются значения норматива, общие для всех категорий персонала.
Возвращаемое значение: числовое.
В язык бизнес-процедур добавлена функция Sleep (число), позволяющая выполнить задержку на заданное количество миллисекунд.
В язык бизнес-процедур добавлена функция InsCount (без параметров): позволяет узнать число отмеченных строк.
В язык бизнес-процедур добавлена функция ClearIns (без параметров): снимает отметки со всех строк.
Дополнена функция
WaitBox("строка"), которая выводит окно
ожидания (если строка не задана - скрывает).
Теперь в функции WaitBox можно использовать второй параметр:
WaitBox("текст", "текст")
Если второй параметр задан, окно мониторинга имеет кнопку "Отмена", при нажатии на которую выдается сообщение, текст которого задан вторым параметром. Если оператор подтвердил нажатие кнопки, устанавливается признак того, что кнопка нажата, (можно проверить с помощью функции WaitClicked). Если второй параметр пуст, подтверждение не запрашивается, а сразу устанавливается признак того, что кнопка была нажата. Обратите внимание: для того, чтобы нажатие на кнопку обработалось, необходимо время от времени обновлять вторую строку окна мониторинга с помощью функции WaitBox2 (WaitBox2 "строка" - позволяет изменить вторую строчку окна ожидания).
В язык бизнес-процедур добавлена новая функция GetDir, которая позволяет вывести диалог по выбору папки.
Параметры:
1. Текст: путь к исходной папке;
2. Текст: текст сообщения на форме выбора.
Оба параметра необязательны. Функция возвращает полный путь к выбранной папке или пустую строку, если оператор нажал кнопку "Отмена".
В язык бизнес процедур для использования в модуле "Управление персоналом" добавлена функция RV_OTDEL. Функция не имеет параметров и возвращает номер отдела, выделенного в дереве расчетной ведомости. Если расчетная ведомость не открыта или в ней выделена верхняя ветка дерева, функция возвращает пустую строку.
В язык бизнес процедур для использования в модуле "Управление персоналом" добавлена функция GetAbsenceList() для получения списка видов неявок, исключаемых из стажа. Параметры:
1. Строка: табельный номер;
2. Целое: код трудовых отношений;
3. Дата: дата начала рабочего периода;
4. Дата: дата окончания рабочего периода;
5. Целое: код условий труда (необязательный).
Возращаемое значение - строка со списком видов неявок через запятую.
Доработана функция
CalcSumm, используемая в модуле "Управление
персоналом": если пятый параметр содержит символ 2, то при отсутствии
заработка в расчетном периоде информация об этом включается в протокол
расчета. Кроме того, в этом случае не выводится предложение ввести дневной
тариф, если расчет должен производиться из тарифа, а дневной тариф не задан.
ОБРАТИТЕ ВНИМАНИЕ! Если функция
вызывается из бизнес-процедуры, получение текста,
включенного в протокол, должно производиться с помощью новой функции
GetRVProt. Функция имеет 1 параметр - объект класса
"Список", в который будет добавлен новый текст.
Пример использования этой функции см. в бизнес-процедуре
MASS_R_OT.
В язык бизнес процедур для использования в модулях кадрово-зарплатного блока добавлена функция для расчета остатка отпуска и заполнения таблицы периодов GetOtpOstAndFill .
Параметры:
1. Строка: табельный номер;
2. Целый: вид отпуска;
3. Дата: дата расчета остатка;
4. Целый: код трудовых отношений;
5. Целый: признак расчета;
6. Набор данных: таблица PERIOD_PARTS (необязательный).
Возвращаемое значение: вещественный -- остаток отпуска.
В языке бизнес-процедур к классу TForm добавлено свойство IsOpen - возвращает true, если табличная форма открыта, и false - если закрыта.
Добавлена функция XFileEx: XFileEx([Псевдоним таблицы], [Имя ключевого поля], [Значение ключевого поля], [Имя поля файла], [Действие], [Имя файла])
Параметры:
1. [Псевдоним таблицы] - псевдоним таблицы с файлом;
2. [Имя ключевого поля] - имя ключевого поля таблицы с файлом (для идентификации строки);
3. [Значение ключевого поля] - значение ключевого поля таблицы с файлом (для идентификации строки);
4. [Имя поля файла] - имя поля, в котором хранится файл, если пустая строка, то определяется автоматически;
5. [Действие] - код действия (0 - Открыть файл, 1 - Сохранить в файл на диск, 2 - Сохранить файл в БД, 3 - Удалить файл из БД);
6. [Имя файла] - если выполняется действие 1, то папка для сохранения файла (например 'c:\my dir\') или пустая строка (тогда будет диалог с пользователем). Если выполняется действие 2, то путь к файлу (например 'c:\autoexec.bat'). Для других действий игнорируется.
В классе TForm добавлены свойства: CalendarView (вид календаря), Calendar1Date (дата в первом календаре), Calendar2Date (дата во втором календаре).
CalendarView может принимать значения от 0 до 4:
0 = Один день;
1 = Рабочая неделя (5 дней);
2 = Неделя;
3 = Месяц;
4 = Два календаря.
Добавлена функция SetNULL, предназначенная для задания полю пустого значения.
Пример использования:
a=TFORM"<имя ТФ>"
a.SetNULL("DATA_D")
(DATA_D - поле таблицы)
В класс Набор данных добавлен метод GetCheckIns, имеющий один параметр типа "список". Метод заполняет параметр списком уникальных ключей для отмеченных строк набора данных. Метод заполняет список только в том случае, если набор данных является табличной формой на основе компонентов TTfWndForm или TTfCtl. В остальных случаях переданный список очищается.
В запросной форме добавлена возможность вызвать бизнес-процедуру при нажатии кнопки на панели инструментов. Настройка производится в мастере запросов на закладке Инструменты:
Выберите в раскрывающемся списке значение Бизнес-процедура. Нажмите кнопку
в соседнем поле и выберите бизнес-процедуру из общего списка бизнес-процедур.
В форме выбора запросов для импорта записи отсортированы по алфавиту.
Добавлена возможность
подключить отчет к запросной форме. В мастере запросов на страницу
Общие сведения добавлена кнопка Шаблоны отчетов.... При
нажатии на эту кнопку на экран выводится форма для выбора шаблонов отчетов.
В запросной форме при нажатии на кнопку
, если к
форме подключен хотя бы один отчет, на экран выводится форма для выбора
печатаемого отчета, в т.ч. стандартный отчет по запросной форме.
В связи с добавлением возможности создания, редактирования и печати шаблонов с помощью редактора OpenOffice Writer при создании нового шаблона добавлена возможность выбора шаблона Документ OpenOffice:
Если редактор OpenOffice Writer не установлен, возможность выбора Документа OpenOffice недоступна.
Если редактор Microsoft Office Word не установлен, или отключена поддержка печати с его помощью, выбрать возможность Документ WinWord нельзя.
При наличии обоих редакторов (OpenOffice Writer и Microsoft Office Word) для редактирования существующего шаблона автоматически открывается тот редактор, с помощью которого этот шаблон был создан.
При установленном OpenOffice Writer и отсутствии Microsoft Office Word шаблоны, созданные с помощью MS Word и имеющие расширение .DOC, редактируются с помощью редактора OpenOffice Writer, при этом при открытии шаблона производится его автоматическая конвертация из формата .DOC в формат .ODT.
При наличии шаблонов в формате .ODT и отсутствии установленного редактора OpenOffice Writer их редактирование не производится. Печать может быть осуществлена с помощью любого редактора, работающего с форматом .ODT.
Добавлена возможность поиска в формулах документа:
Добавлена возможность просмотреть зависимости между формулами документа в виде иерархии.
Добавлена возможность устанавливать для колонки флажок По колонкам, даже если не задано условие объединения в одну строку. В такой колонке выводится сумма по колонкам текущей строки.
Добавлена функция FormatFloat для преобразования чисел в строку по определённому формату. С описанием функции и рекомендациями по ее использованию можно ознакомиться здесь.
Добавлена функция DAY_PROPIS / ДЕНЬ_ПРОПИСЬЮ (группа "Прочие").
Параметры:
1. Целое: номер дня месяца (1..31). Если значение выходит за эти пределы, вместо номера дня возвращается текст "______".
2. Строка: род ("m" или "м" / "a" или "с") - мужской / средний.
3. Строка: падеж ("im" или "им" / "rd" или "рд") - именительный / родительный.
4. Строка: язык ("rus" или "рус" / "eng" или "анг") - русский / английский.
Для использования в модуле "Управление персоналом" добавлена функция НОРМАТИВ (Normativ) с помощью которой можно получить значение норматива для указанного месяца, отдела, категории персонала.
Параметры:
1. Текст: обозначение норматива;
2. Текст: месяц в формате «ггггмм»;
3. Текст: номер отдела. По умолчанию – пусто;
4. Число: код категории персонала. По умолчанию – ноль;
5. Число: режим работы. По умолчанию – ноль. При ненулевом значении этого параметра учитываются только нормативы, заданные для указанного месяца. При нулевом значении параметра норматив может быть взят из ближайшего предыдущего месяца, в котором данный норматив указан.
Обязательными являются первые два параметра. Если номер отдела не задан или пуст, используются только значения норматива, общие для всех отделов. Если код категории персонала не задан или равен нулю, используются значения норматива, общие для всех категорий персонала.
Возвращаемое значение: числовое.
Для использования в модуле "Управление персоналом" при печати валютной ведомости в язык формул и форм включены новые функции:
ПРОПИСЬ (PROPIS) – сумма прописью (расширенная).
Параметры:
1. Число: исходная сумма;
2. Текст: код валюты. По умолчанию – пусто. Если параметр пуст, используются рубли;
3. Число: опции. По умолчанию – ноль. В качестве ненулевых опций могут выступать следующие числовые значения или их сумма:
1 – не печатать копейки;
2 – нулевые копейки заменить словом «ровно» или соответствующим английским словом;
4 – формировать пропись на английском языке;
4. Логическое: начинать ли сумму прописью с заглавной буквы. По умолчанию – да.
Обязательным является один первый параметр. Возвращаемое значение: текстовое.
РУБ_КОП (RUB_KOP) – сумма рублей и копеек (расширенная).
Параметры:
1. Число: исходная сумма;
2. Текст: код валюты. По умолчанию – пусто. Если параметр пуст, используются рубли.
3. Число: опции. По умолчанию – ноль. В качестве ненулевых опций могут выступать следующие числовые значения или их сумма:
1 – не печатать копейки;
2 – нулевые копейки заменить словом «ровно» или соответствующим английским словом;
4 – формировать пропись на английском языке;
Обязательным является один первый параметр. Возвращаемое значение: текстовое.
Доработана функция транслятора GET_NAL_SUM (ОСТ_СТ_ГР), которая используется в модуле "Учет имущества" при расчете данных Налоговой декларации по налогу на имущество организаций (налогового расчета по авансовому платежу):
Возвращаемое значение: сумма остаточной стоимости по группе, числовое.
Параметры:
ID строки таблицы CA_NAL_IM - Налог на имущество (начальные данные), числовой, целый
Код группы, числовой, целый. 0 – по всем группам
Месяц, числовой, целый. Допустимые значения 0 – 13:
0 – возвращает среднюю остаточную стоимость;
1..12 - возвращает остаточную стоимость на 1 января...1 декабря;
13 - возвращает остаточную стоимость на на 1 января следующего года;
14 - возвращает остаточную стоимость на 31 декабря;
15 - возвращает среднюю остаточную стоимость с учетом 31 декабря.Пример: Round(GET_NAL_SUM(_FIELDS@ID,GR_1,1),0)
Для использования в модуле "Управление персоналом" добавлена функция ОТДЕЛ_РВ (RV_OTDEL). Функция не имеет параметров и возвращает номер отдела, выделенного в дереве расчетной ведомости. Если расчетная ведомость не открыта или в ней выделена верхняя ветка дерева, функция возвращает пустую строку.
В функцию ДОХОД_СТР (используется в модуле "Управление персоналом" для формирования отчета "Налоги и базы по НДФЛ" добавлены новые возможности, соответствующие следующим значениям 3-го параметра:
35,36 - исчисленный налог за месяц и с начала года,
37,38 - удержанный налог за месяц и с начала года,
54 - валовый доход с начала года,
55 - вычеты из отдельных доходов с начала года,
56 - общая сумма стандартных налоговых вычетов с начала года,
57 - общая сумма социальных налоговых вычетов с начала года,
58 - общая сумма имущественных налоговых вычетов с начала года,
59 - облагаемый доход с начала года.Значения указанных параметров соответствуют их описаниям вне зависимости от ставки налогообложения. Кроме того, значение функции для этих параметров всегда непустое, даже если работник в соответствующий месяц не имел доходов.