Последняя версия DataExpress 3 beta от 15 сентября 2020 года.

Изображение Скачать | Изображение Что нового?



Объявление:

Если вам понравилась программа и вы ее интенсивно используете - замолвите словечко о ней на вашем сайте (блоге, форуме, твитере, краской на подъезде, ютуб-канале и т.д.) с активной (по-возможности) ссылкой на сайт программы/форум. Тем самым вы можете внести небольшой вклад в seo-карму проекта в виде входящих ссылок.
Спасибо! Администрация :)


>> Обсудить <<

Изменение значений нескольких полей формы по кнопке.

Все вопросы, связанные с работой в дизайнере.
trimavp
Новичок
Сообщения: 18
Зарегистрирован: 23 янв 2020, 21:09
Благодарил (а): 11 раз
Поблагодарили: 2 раза

Изменение значений нескольких полей формы по кнопке.

Сообщение trimavp » 15 фев 2020, 11:02

Здравствуйте.

Решаю задачу по изменению состояния 2х полей при нажатии на одну кнопу «НБТ».
Поля:
-заметка - «Комментарий»
-список - «Статус» (заполнен вручную)

При нажатии вызывается функция:

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

SETFIELD('Коментарий', CSTR([!Коментарий]) + "
 НБТ: " + CSTR(DATE) + " " + CSTR(TIME) )
&
SETFIELD('Статус', "НБТ (не берёт трубку)")   


В результате ошибка "Не допустимая операция с текстом", при том что поля заполняются нужными данными.

Есть поле «ТекстДляСмс» которое реагирует на изменение поля «Статус»

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

//Статус
IIF(
    [!Статус] = "Гуд",
                        SETFIELD("ТекстДляСМС","У вас всё гуд"),
     IIF(
        [!Статус] = "Не гуд",
                        SETFIELD("ТекстДляСМС","У вас всё НЕ гуд"),

    ""
    ) )     


Может это и есть зацикливание о котором говорится на Wiki?
Можно ли решить без скрипта?
Вложения
Поиск_И_ДваПоля.zip
(184.81 КБ) 35 скачиваний
3.png
3.png (40.38 КБ) 532 просмотра

Vofka18
Знаток
Сообщения: 456
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 44 раза
Поблагодарили: 48 раз

Изменение значений нескольких полей формы по кнопке.

Сообщение Vofka18 » 15 фев 2020, 11:21

Пишу с телефона, проверить не могу. Но почитайте про функции block и concat.
Block использовать вместо &(так как у вас, делать нельзя)
Concat для объединения множества полей в текстовую строку. Вместо кучи плюсиков:)

Аватара пользователя
Develop-Soft
Сообщения: 1733
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 470 раз
Контактная информация:

Изменение значений нескольких полей формы по кнопке.

Сообщение Develop-Soft » 15 фев 2020, 12:00

SETFIELD
Есть поле «ТекстДляСмс» которое реагирует на изменение поля «Статус»

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

//Статус
IIF(
    [!Статус] = "Гуд",
                        "У вас всё гуд",
     IIF(
        [!Статус] = "Не гуд",
                        "У вас всё НЕ гуд",
 
    ""
    ) )     

trimavp
Новичок
Сообщения: 18
Зарегистрирован: 23 янв 2020, 21:09
Благодарил (а): 11 раз
Поблагодарили: 2 раза

Изменение значений нескольких полей формы по кнопке.

Сообщение trimavp » 15 фев 2020, 15:14

Vofka18 писал(а):Пишу с телефона, проверить не могу. Но почитайте про функции block и concat.
Block использовать вместо &(так как у вас, делать нельзя)
Concat для объединения множества полей в текстовую строку. Вместо кучи плюсиков:)


Благодарю.
Работает:

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

BLOCK(
SETFIELD('Коментарий', CONCAT(CSTR([!Коментарий]), "
НБТ: ", CSTR(DATE)," ",CSTR(TIME)))
,
SETFIELD('Статус', "НБТ (не берёт трубку)")
)                   


До этого момента каждый SETFIELD обрамлял в BLOCK, ставил между BLOCK "&" и думал: "Почему не работает" )))
Вложения
Два_Поля.7z
Заработало
(185.12 КБ) 43 скачивания


Вернуться в «Дизайнер»