Вопрос

Если одно из полей или несколько полей не заполнены, то как не учитывать эти поля при конкатенации

Есть процесс, который склеивает в одно поле несколько значений из разных полей, например: поле "Адрес"  =  "Область" + ", "  + "Район" + ", " + "Населенный пункт". Как сделать так, что, если не заполнено один или два поля, например "Область", "Район", то в "Адрес" записывать только значение поля "Населенный пункт", но при этом запятые и пробелы от "Область", "Район" не учитывались. Ниже пример:

не должно быть: , , с.Андреевка

должно быть: с. Андреевка 

Нравится

3 комментария
Лучший ответ

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

 

Можно заполнение этого поля сделать через условный поток, то есть в одном условии проверить, если поля 'Область' и 'Район' не заполнены, то в формуле установить только значение из поля 'Населенный пункт', а по умолчанию установить значения из всех 3х полей. Подробнее об условных потоках можно почитать на Академии https://academy.terrasoft.ru/docs/user/biznes_processy/spravka_po_elementam_processov/potoki_i_soedinyayushie_obekty/uslovnyj_potok.

Либо прописать в элементе 'Скрипт' условия заполнения поля 'Адрес' с помощью программного кода на C#.

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

 

Можно заполнение этого поля сделать через условный поток, то есть в одном условии проверить, если поля 'Область' и 'Район' не заполнены, то в формуле установить только значение из поля 'Населенный пункт', а по умолчанию установить значения из всех 3х полей. Подробнее об условных потоках можно почитать на Академии https://academy.terrasoft.ru/docs/user/biznes_processy/spravka_po_elementam_processov/potoki_i_soedinyayushie_obekty/uslovnyj_potok.

Либо прописать в элементе 'Скрипт' условия заполнения поля 'Адрес' с помощью программного кода на C#.

Можно и в формуле написать. Как пример:



 

[#Read Type.First item of resulting collection.Name#] + ": " +
[#Read Country.First item of resulting collection.Name#] + 
([#Read address.First item of resulting collection.State/province#]==Guid.Empty?"":", "+[#Read State.First item of resulting collection.Name#]) + 
([#Read address.First item of resulting collection.City#]==Guid.Empty?"": ", "+ [#Read City.First item of resulting collection.Name#]) + 
([#Read address.First item of resulting collection.Address#]==String.Empty?"": ", "+[#Read address.First item of resulting collection.Address#])

 

Я делаю такое на c# через наполнение list и join.

Показать все комментарии