Последняя версия DataExpress 3 beta от 1 сентября 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

j-функции

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

Модератор: Разработчики расширений

jurist23rus
Эксперт
Сообщения: 2647
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 13 раз

j-функции

Сообщение jurist23rus » Вс мар 26, 2017 8:22 pm

j-функции
Автор: Jurist23rus

DX Loger - служит для организации системы логирования (журнализирования) определённых действий пользователя в журнале событий вашей базы данных.
DX Хранилище файлов - модуль работы с файлами в базе данных.
Форматирование даты и времени - модуль содержит функции для представления даты и времени в нужном формате.

Модуль:j-modul
Версия: 7.1 от 27 октября 2017 г.
Описание: содержит функции.
Объединяет в одну строку значения столбца таблицы. Аналог штатной функции Merge, но в отличие от последней
позволяет фильтровать результат.

Код: Выделить всё

MergeIf ('ИмяДочернейФормы', 'ИмяПоля', ';', '[ИмяПоля]<>null')

Обновляет запрос расположенный на форме.

Код: Выделить всё

QueryUpdate ('ИмяЗапроса')

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

Код: Выделить всё

ABC ([Любое поле])

Можно забыть об этом:
nz (ABС ([Числовое поле]), 0)
ABC (cnum ([Текстовое поле]))
Функция сама сделает преобразования.

j_module v7.1.zip
(2.1 КБ) 239 скачиваний


Модуль: AutoCloseForm
Версия: 3.1 от 14 июля 2017 г.
Описание: содержит функцию AutoCloseForm.
Автоматически закрывает форму через установленный промежуток времени.

Код: Выделить всё

AutoCloseForm (120, 30, 'OffTimer')

AutoCloseForm v3.1.zip
(3.62 КБ) 76 скачиваний

AutoCloseForm v3.2.zip
(3.59 КБ) 218 скачиваний

Версия 3.2:
- в данной версии функция не сохраняет сделанных на форме изменений данных, а отменяет их, так как сохранение данных, в некоторых случаях приводило к ошибке.
Для тех кому важно сохранение данных, при закрытии функцией формы и на форме нет пустых обязательных полей как в этом примере может продолжать пользоваться версией 3.1

Версия 3.1:
- попытка закрыть предупреждающее окно комбинацией клавиш Alt+F4 не прервёт работу функции и будет равносильно нажатию второй кнопки в окне, то есть произойдёт отключение таймера либо его перезапуск, в зависимости от заданных параметров.
- оптимизирован и модернизирован код (внешне это никак не видно, но в будущем исключит возможные ошибки совместимости с другими функциями или скриптами).

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


Модуль: ExportToExcel
Версия: 1.1 от 19 ноября 2017 г.
Описание: содержит функцию ExportToExcel + действие для кнопки.
Экспортирует данные формы в Excel

Код: Выделить всё

ExpotToExcel ('', 'Поле1;Поле2;Поле3', '')

ExportToExcel v1.2.zip
(4.2 КБ) 76 скачиваний


v.1.0 - для DX версий до 12 ноября 2017 г., то есть версий без "активных кнопок"
v.1.1 - содержит графическую оболочку в виде действия в кнопке (см. скриншот), её можно устанавливать только на DX от 12 ноября 2017 г. и более поздние выпуски.

2017-11-19_22-09-09.png
2017-11-19_22-09-09.png (48.75 КБ) 5134 просмотра

Обсуждаем модули ТУТ
Destiny is a very convenient word for those who never take decisions.

jurist23rus
Эксперт
Сообщения: 2647
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: j-функции

Сообщение jurist23rus » Ср сен 19, 2018 4:53 pm

Обновил RecordEditor. Добавил туда две новых функции CreateRec и DBMERGEA. Думаю, они будут удобны для работы с ботом.
Destiny is a very convenient word for those who never take decisions.

Kiss
Интересующийся
Сообщения: 191
Зарегистрирован: Вт мар 14, 2017 11:41 am
Откуда: Гомель, Беларусь
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Re: j-функции

Сообщение Kiss » Чт окт 18, 2018 10:51 am

jurist23rus писал(а):Обновил RecordEditor. Добавил туда две новых функции CreateRec и DBMERGEA. Думаю, они будут удобны для работы с ботом.

Функции просто Огонь. Пользоваться очень удобно, мне сильно помогли. Спасибо!

jurist23rus
Эксперт
Сообщения: 2647
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: j-функции

Сообщение jurist23rus » Чт окт 18, 2018 11:44 am

Рад, что пригодилось.
Destiny is a very convenient word for those who never take decisions.

jurist23rus
Эксперт
Сообщения: 2647
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: j-функции

Сообщение jurist23rus » Чт янв 10, 2019 8:44 am

Обновил ExportToExcel для совместимости с DX от 08.01.2019 г.
Destiny is a very convenient word for those who never take decisions.

Аватара пользователя
Иван
Интересующийся
Сообщения: 85
Зарегистрирован: Сб дек 22, 2018 2:16 pm
Благодарил (а): 8 раз
Поблагодарили: 2 раза

Re: j-функции

Сообщение Иван » Ср мар 06, 2019 10:56 pm

Скриншот 2019-03-06 21.47.36.png
Скриншот 2019-03-06 21.47.36.png (23.49 КБ) 1585 просмотров
jurist23rus писал(а):Обновил RecordEditor. Добавил туда две новых функции CreateRec и DBMERGEA. Думаю, они будут удобны для работы с ботом.


Подскажите, с чем может быть связана ошибка.

Выдает запрос не найден, в таком случае (хотел скопировать данные из запроса на данной форме)
CreateRec ('Регистр всех задач', 'Идентификатор записи$~get("Запрос109","Идентификатор статуса")')

или ошибку на скрине в таком случае
CreateRec ('Регистр всех задач', 'Идентификатор записи$~DBGETBYID("Задачи","Идентификатор статуса",RECID("Задачи")) ')

Так же пробовал создавать через получение идентификатора по DBGETID. Хотя конечно значительно удобнее делать через простое копирование GET из запроса на данной форме, что получает данные перед сохранением по действию той же кнопки что и сохранение и CreateRec, это в теории тут должно работать?
.
.
.
Причину не выявил но получилось обойти с использованием переменных. Нажимая на кнопку Сохранить: сохраняем запись + присваиваем переменные всем полям что нужно логировать + присваивам наши переменные CreateRec форме + убиваем переменные через null. Вопрос можно считать решенным. Может кому пригодится, пример:

block(setvar('status',[Идентификатор статуса]), setvar('id',[id задачи]),setvar('Tms',[Время изменения]), setvar('USERr',[Пользователь]), setvar('Who',[Поручить|Ник]),

CreateRec ('Регистр всех задач', 'Идентификатор записи$~Getvar("status")#id задачи$~Getvar("id")#Время2819$~Getvar("Tms")#Пользователь$~Getvar("USERr")#Ответственный$~Getvar("Who")'),

setvar("status",null), setvar("id",null),setvar("Tms",null), setvar("USERr",null),setvar('Who',null),null)

Аватара пользователя
Гocть
Эксперт
Сообщения: 1583
Зарегистрирован: Пн ноя 27, 2017 8:02 am
Поблагодарили: 9 раз

Re: j-функции

Сообщение Гocть » Ср мар 06, 2019 11:44 pm

1. К вашему вопросу ещё приложить бы пример БД, как недостающее звено.
2. Что за доллар с гусеницей у вас в выражении?
Фрилансер. Разработка на заказ. Консультирование.

Palah
Заглянувший
Сообщения: 4
Зарегистрирован: Пт мар 01, 2019 3:25 pm

Re: j-функции

Сообщение Palah » Пн мар 11, 2019 9:31 am

"Удаляет записи в таблице согласно заданному фильтру. ВНИМАТЕЛЬНО читаем описание! Если вы плохо понимаете, что делаете или как работает функция не пользуйтесь ей! Удалённые записи нельзя восстановить!
Код: Выделить всё
TDeleteRec ('Сотрудники', '[Фамилия]="Иванов"', 'YesAccept', 'YesMsg')

В данном случае функция удалит из таблицы "Сотрудники" всех сотрудников с фамилией Иванов."

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

jurist23rus
Эксперт
Сообщения: 2647
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: j-функции

Сообщение jurist23rus » Пн мар 11, 2019 10:39 am

Возможно.
Destiny is a very convenient word for those who never take decisions.

lextrif
Интересующийся
Сообщения: 62
Зарегистрирован: Пн мар 26, 2018 5:09 pm

Re: j-функции

Сообщение lextrif » Вт май 28, 2019 10:15 am

Появилась ошибка после обновления приложения
Вложения
2019-05-28_12-14-34.png
2019-05-28_12-14-34.png (57.36 КБ) 1062 просмотра


Вернуться в «Расширения и плагины»