Программы "Простой софт" www.prostoysoft.ru
http://prostoysoft.ru/phpBB3/

Свойства поля. Условие на значение. Формула
http://prostoysoft.ru/phpBB3/viewtopic.php?f=10&t=58757
Страница 1 из 1

Автор:  Uspenskiy [ 09.02.2017 23:39 ]
Заголовок сообщения:  Свойства поля. Условие на значение. Формула

Версия 2.528. SQL
При не прохождении проверки происходит возврат в форму, в введенное в поле значение ПРОПАДАЕТ (там пусто становится).
Есть ли возможность его оставить что бы пользователь его отредактировал, а не вводил заново.

Настройки см рисунок. Функция dbo.TestENP возвращает число либо 0 либо 1.

Вложения:
TestPolis.jpg
TestPolis.jpg [ 125.12 КБ | Просмотров: 22649 ]

Автор:  OMEN [ 10.02.2017 20:12 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

Попробуйте действие "выполнить скрипт"
Код:
MsgBox "ай-ай-ай"
SetControlValue "наименование_поля", <вн_имя_поля>

Автор:  Uspenskiy [ 11.02.2017 01:21 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

OMEN писал(а):
Попробуйте действие "выполнить скрипт"
Код:
MsgBox "ай-ай-ай"
SetControlValue "наименование_поля", <вн_имя_поля>


Не получилось. Нет строчки действия "Выполнить скрипт"
Версия программы 2.528, SQL. Знаю что нужно писать про актуальную версию. Но лиц. соглашение не позволяет после года с покупки использовать новые версии.
Попробовал "Выполнить процедуру" результат см. следующее сообщение

Создал процедуру типа VBScript в таблице tblProcedures:
MsgBox "Ошибка"

SetControlValue "Полис ОМС", PolisOms ' Так вводит в поле текст PolisOms
SetControlValue "Полис ОМС", <PolisOms> ' Так ничего не выводит
SetControlValue "Полис ОМС", <Значение>' Так вводит в поле текст <Значение>

И еще по идее программа должна зациклиться при выходе из поля, поскольку значение не проходит по условию.
Но выскакивает ТРИ сообщения (что в MsgBox) и затем курсор остается в поле "Полис ОМС".
При повторном выходе опять три сообщения. И так по циклу.
При нажатии кнопки "Отмена" на форме выскакивает ОДНО сообщение и курсор ВЫХОДИТ из поля "Полис ОМС". Попадает неизвестно куда. И можно мышкой войти в любое поле.
Такая вот не очевидность..

P.S. Скачал справку. Она как бы про "Учет пациентов", но картинки от "Учет клиентов". Это так задумано?

Автор:  OMEN [ 11.02.2017 16:17 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

Uspenskiy писал(а):
P.S. Скачал справку. Она как бы про "Учет пациентов", но картинки от "Учет клиентов". Это так задумано?
Да, т.к. вся начинка по сути одна и та же.
Надо смотреть на актуальной версии, т.к. в ней, возможно, уже многое по-другому.

Автор:  Uspenskiy [ 11.02.2017 19:42 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

OMEN писал(а):
Попробуйте действие "выполнить скрипт"
Код:
MsgBox "ай-ай-ай"
SetControlValue "наименование_поля", <вн_имя_поля>

В версии 2.654 работает. Но мне от этого не легче. В 2.528 скрипта нет.

Пробовал в процедуру (см. мой предыдущий пост) передать параметр ( Вызывать её QQQ(<PalisOms>) )
и там SettControlValue "Полис ОМС", objArgs(0)

MsgBox "Ошибка ввода в Полис ОМС!"
Dim objArgs, sParam
Set objArgs = WScript.Arguments
If objArgs.Count>=1 then
sParam = objArgs(0)
MsgBox "Параметр 1 = " & sParam
SettControlValue "Полис ОМС", sParam
End If

Ругается на WScript и в 528 и в 654 версиях. Хотя из Windows скрипт работает.

Есть способ передать в процедуру параметр?

Автор:  OMEN [ 11.02.2017 23:42 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

Uspenskiy писал(а):
Есть способ передать в процедуру параметр?
да:
Процедура(параметр1, параметр2)

Автор:  Uspenskiy [ 12.02.2017 11:32 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

OMEN писал(а):
Uspenskiy писал(а):
Есть способ передать в процедуру параметр?
да:
Процедура(параметр1, параметр2)

Это понятно. Я видимо не точно выразился.
Как ПРИНЯТЬ в процедуре (в той что в таблице tblProcedures) параметры с учетом нижеследующего
Uspenskiy писал(а):
OMEN писал(а):
Пробовал в процедуру (см. мой предыдущий пост) передать параметр ( Вызывать её QQQ(<PalisOms>) )
и там SettControlValue "Полис ОМС", objArgs(0)

MsgBox "Ошибка ввода в Полис ОМС!"
Dim objArgs, sParam
Set objArgs = WScript.Arguments
If objArgs.Count>=1 then
sParam = objArgs(0)
MsgBox "Параметр 1 = " & sParam
SettControlValue "Полис ОМС", sParam
End If

Ругается на WScript и в 528 и в 654 версиях. Хотя из Windows скрипт работает.

Автор:  OMEN [ 13.02.2017 15:49 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

передаете параметр Param при вызове:
Код:
MyProcedure 'Тест'

в теле процедуры:
Код:
Dim Param
MsgBox Param

Автор:  Ivan [ 13.02.2017 19:41 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

См. скриншот.

Вложения:
Pic1.JPG
Pic1.JPG [ 128.33 КБ | Просмотров: 22582 ]

Автор:  Uspenskiy [ 14.02.2017 00:32 ]
Заголовок сообщения:  Re: Свойства поля. Условие на значение. Формула

Ivan, спасибо. Параметры передавать научился.
Оказалось и не надо к слову. При выполнении процедуры в редактируемом поле ранее введенный текст остается (с этого и началась тема), а не удаляется. Соответственно в вызове SettControlValue надобность отпала.

Однако есть вопросы и недостатки мешающие использованию.

1. Как передать в процедуру значение редактируемого поля MyMes(<Значение>) не получилось. См. картинки. Если функцию вызываю MyMes('Привет'), то все хорошо.

2. Не корректное количество и результат вызовов процедуры. См. картинки. (что то в 654-ой косяков добавилось... см. еще тему про шаблоны)
При заполнении таблицы ввожу в поле такое значение, что dbo.TestENP возвращает 0 (все плохо). Дальше поведение разное в разных версиях.

Вложения:
FieldProperties.jpg
FieldProperties.jpg [ 183.09 КБ | Просмотров: 22572 ]
Message.jpg
Message.jpg [ 33.78 КБ | Просмотров: 22572 ]
Res.jpg
Res.jpg [ 256.28 КБ | Просмотров: 22572 ]

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/