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

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

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

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

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

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

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

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

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

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


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

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

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

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

    ""
    ) )     


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

Vofka18
Опытный
Сообщения: 306
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 24 раза

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

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

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

Аватара пользователя
Develop-Soft
Сообщения: 1216
Зарегистрирован: Вт мар 05, 2019 6:09 pm
Благодарил (а): 114 раз
Поблагодарили: 287 раз
Контактная информация:

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

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

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

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

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

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

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

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

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


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

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

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


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