Использование функций в параметрах

:question: Сергей, а каким образом прописать такие варианты:

SEL(P[SC],>0|Parent[DS]:Parent[SD]:Parent[BC]:CUT(4,4,P[SC]))
(т.е., если кадастровый номер не пустой - то возвращается его значение)
у меня возвращается пустое значение в любом случае…

SEL(GET(2,P[AD]),-||*|, GET(2,P[AD]))
(т.е., если значение 2ой подстроки адреса участка равно ‘-’, то возращается пустое значение, в любом другом случае ‘, 2ая подстрока’)
не понимает Digitals двух вертикальных черт ‘||’… Пробывал и вариант “|‘’|” в качестве пустого значение - тоже глухо… :confused:

Ответьте плиз… А то уже надоело прочерки в адресной строке удалять:oops:

Мені необхідно щоб в шаблоні держакта в графі “Підстави набуття права власності…” була функція як б перевіряла ін4 і якщо в дескрипторі PZ стоїть ДД то в шаблоні писало “Договір купівлі-продажу”,якщо ДЯ то відповідно “Договір дарування” ну і т.д.
Напишіть будь-ласка приклад даної функції?

SEF(GET(1,P[PZ]),PZRod.txt)

в файл Digitals\Lists\PZRod.txt внесите такие строки

ДА	договору про приватизацію майна державних підприємств
ДБ	договору найму будівлі або іншої капітальної споруди
ДВ	договору про поділ майна
ДД	договору купівлі-продажу земельної ділянки
ДЯ	договору дарування
.....
ШК	шлюбного контракту

или SEL(GET(1,P[PZ]),ДД|договору купівлі-продажу земельної ділянки|ДЯ|договору дарування|РС|рішення ..ської ради|РА|розпорядження …ської РДА)

Dmitry_Zolotar-Респект!
І ще одна подібна ситуація:
Скрипт шаблону держакта графи “який(яка) проживає…” виглядає так:
“GET(5,P[40]), GET(6,P[40]), GET(7,P[40]), GET(4,P[40]) район”
відповідно на акті буде:
“с.Конопниця, вул.Городоцька, 47, Пустомитівський район”
Але часто буває що прописка не якийсь район,а м.Львів!
Як написати скрипт який би провіряв дескриптор AD в ін4, і якщо там стоїть місто Львів,то слово “район” не друкувалось?

GET(5,P[40]), GET(6,P[40]), GET(7,P[40]), SEL(GET(5,P[40]),м. Львів| |м. Борислав| |м. Дрогобич| |*|GET(4,P[40]) район)
дополнить всеми городами областного значения

или

SEL(CUT(1,3,P[20]),461| |462|SEF(CUT(1,5,P[20]),rayon.txt)

rayon.txt

46101	м. Львів
46103	м. Борислав
46106	м. Дрогобич
46107	м. Моршин
46108	м. Новий Розділ
46109	м. Самбір
46112	м. Стрий
46115	м. Трускавець
46118	м. Червоноград
46203	Бродівський район
46206	Буський район
46209	Городоцький район
46212	Дрогобицький район
46215	Жидачівський район
46218	Золочівський район
46221	Кам'янка-Бузький район
46224	Мостиський район
46227	Жовківський район
46230	Миколаївський район
46233	Перемишлянський район
46236	Пустомитівський район
46239	Радехівський район
46242	Самбірський район
46245	Сколівський район
46248	Сокальський район
46251	Старосамбірський район
46253	Стрийський район
46255	Турківський район
46258	Яворівський район

строчки в этом файле с городами областного значения в принципе лишние, оставил чтоб яснее было …461| |462|SEF…

Ще раз дякую,і ще раз запитання,надіюсь останнє :smiley:
Необхідна функція,яка б провіряла графу PZ,і якщо там стоїть “РС або РА…” то внизу держакта друкувалась назва органу або ради і голова,а якщо не “РС,РА…” то не друкувалось нічого…
P.S. Де найти опис синтаксису команд в Digitals?

SEL(GET(1,P[PZ]),РС|SEF(CUT(1,8,P[20]),RadaHead.txt)|РА|SEF(CUT(1,5,P[20]),RDAHead.txt)|*| )
RadaHead.txt

...
46251855	Страшевицької сільської ради
46251857	Стрілківської сільської ради
46251859	Стрільбицької сільської ради
...

RDAHead.txt

...
46212	Дрогобицької райдержадміністрації
46215	Жидачівської райдержадміністрації
46218	Золочівської райдержадміністрації
...

такие же файлы нужны для фамилий

SEF(CUT(1,8,P[20]),некий_файл_рада.txt) - уровень рады
SEF(CUT(1,5,P[20]),некий_файл_район.txt) - уровень района
SEF(CUT(1,2,P[20]),некий_файл_область.txt) - уровень области

16.01 попросил сделать логичную поправку в процедуру сохранения IN4
31.01 “воз и ныне там” :unamused:
ни говоря уже о досаждающих ошибках [url]"Глюки" после очередного обновления... - #2 від Alex_Schmidt]
ну, да ладно, Александр Бондарец обещался слона добыть… (только вот когда?..)

[url]Использование функций в параметрах]
на этот вопрос вообще - “ни ответа, ни привета”
:exclamation: г-да, Разработчики, доделайте, плиз, ф-цию SEL. Проверка на пустые значение и подстановка его (пустого значения) в значение переменной в операторах сравнения - самый частый вариант использования оных (вам ли как программерам этого не знать).

Зы: Александр Бондарец предложил заменить пустые значения на пробел - как временный вариант решения проблемы. Так он тоже работает неполноценно:
к примеру AD=“с. Село,вул. Молодіжна,буд. 18,-”
по формуле (в ячейке таблицы шаблона кадплана) GET(1,P[AD])SEL(GET(2,P[AD]),-| ||, GET(2,P[AD]))SEL(GET(3,P[AD]),-| ||, GET(3,P[AD]))SEL(GET(4,P[AD]),-| |*|, GET(4,P[AD]))
получаем: с. Село, вул. Молодіжна, буд. 18 )

Желательно, чтобы решилась проблема с пустыми значениями, а не с лишней скобкой, само собой :wink:

Попробуйте CLA(P[AD])

Попробуйте CLA(P[AD])
[/quote]
Работает :slight_smile: Дмитрий, спасибо!
Думаю, Вы не удивлены).
А что ещё эта функция делает? А то никаких упоминаний о ней в форуме (тем более в справке) нет.
Может ещё какие функции есть (из неупоминаемых) - дабы я не изобретал того, что уже есть?
Кстати, это не критично, но если с предложением от Александра Бондарца были лишние пробелы, то с Вашим - их недостаток (после запятых). :unamused:

Зато о ней есть упоминание в Помощь|Что нового :slight_smile:

27.02.06 Функция CLA для очистки строки адреса от последовательностей вида “-,”

былоб здорово к Помощь|Что нового приклеить поиск
бывает помниш, была описана функция, а перемаслать приходится кучу текста, что полностью дезориентирует :open_mouth:

Там в правом верхнем углу есть кнопка Копировать, которая скопирует весь список в буфер обмена. Оттуда можно вставить его в блокнот и поискать там. Предварительно лучше выбрать режим Все.

PS: А еще список изменений есть теперь на сайте Digitals - vinmap.net/digitals/?act=news

а оперативно очистить параметры объекта можно :question:

Можно через новую возможность - шаблоны заполнения. Создать шаблон из участка с незаполненными параметрами и применять его выключив птичку Заполнять только пустые.

спасибо!.. и как это я не догадался :blush:

продолжаем разговор…)
заметил такую вещь:
если в слое заполнить параметр, а потом его убрать из этого слоя, то значение параметра для слоя остаётся… :confused:
более того - оно используется в отчётах :open_mouth:

Удобная ссылочка. Спасибо!

Подскажите, пожалуйста, как правильно написать функцию.

Нужно из даты вытащить месяц.

РС,10.07.2002,14,Новоселицька сільська рада

SEL(GET(2 ???,P[PZ]),01|Січня|02|Лютого…)

Или есть другие варианты?

SEL(CUT(4,2,GET(2,P[PZ])),01|Січня|02|Лютого…)
Функция CUT(Index,Count,S) вырезает подстроку из строки S ,длиной Count символов начиная с Index

Спасибо!