Запрос на функцию

Здравствуйте!! Доработайте пожалуйста функцию XPT чтобы она вставляла пробелы между извлеченными данными.
Пример:
=XPT(P[ID7000007],“/Executor/Address”) выдает “804ЖитомирськаБердичівськийм.Бердичіввул. Леніна56”
а нужно
=XPT(P[ID7000007],“/Executor/Address”) “804 Житомирська Бердичівський м.Бердичів вул. Леніна 56”

Пример

Извините за назойливость, но я писал именно про функцию XPT. fastreport не предполагается использовать.

Дякую розробникам :smiley: . Функції @Map.SelectByParameters Count|List, та
@Map.SelectByParametersSelected Count|List працюють тепер і з ID параметрів :exclamation:

Питання наступне. Чи можна “дотягнути” першу або останню точку полілінії (висячу лінію) до найблищої (за найкоротшим перпендикуляром, або подовжуючи полілінію до перетину) лінії/полілінії/полігона :question: Відповідної ж функції дотягування немає :question:

Подскажите как правильно прописать скрипт в создаваемой кнопке, функция которой заключается извлечь участки из ИН4 и сохранить его в указанную папку , но с одной оговоркой имя файла присвоить не по кадастровому номеру, а с параметра NM. Заранее благодарен. И прошу прощения если темой ошибся

Скрипт помечает все ин4-участки(ID слоя - 20000) в единственной!!! открытой карте. Затем извлекает все участки в ин4 и сохраняет в папку D:\ExtractedIn4 с именем файла из параметра NM(ID20030) и закрывает эти файлы.
P.S. Параметр NM может содержать символы(например “|”), которые недопустимо использовать в качестве имени файла. Также параметр NM может быть не уникален, что приведет к затиранию некоторых файлов с участками одного собственника.

В тему функції @Dialog.Ask Text [Default=Value].
Шкода, що діалогове вікно вводу інформації не дозволяє відобразити значення параметра Text в повному обсязі :exclamation: . Ширина цього вікна не змінюється динамічно, залежно від довжини параметра Text. Навіть, якщо в значенні параметра застосувати знак переносу на інший рядок | - висота діалогового вікна також лишається сталою, та відображається лише перший рядок.

Такий прикрий факт не дозволяє дати у вікні мінімальні пояснення що-до введення даних в ході виконання скрипта. Хочу просити розробників, за можливості, виправити цю “халепу” :slight_smile:

Спасибо огромное за скрипт, очень помог. Появился ещё один вопрос, нужно более 5000 файлов проклацать и сделать их по часовой стрелке и назначить в слое ділянкаIN4 первой точку в участке, которая находится с лева в верху. Возможно ли облегчить нашу участь

Добавлен перенос на следующую строку символом |. Теперь также можно изменять ширину окна диалога, указав в конце строки ключевое слово Size=, например Size=250. Стандартный размер окна - 180.

Чемно дякую за підтримку.

Вставляете в карту Ваши “обменники” (Вставка|Карта), помечаете все участки (угодия, кварталы) и жмете часики на вкладке Правка. Все помеченные будут исправлены (по часовой стрелке). Затем нужно скриптом пересохранить все обменные файлы. Советую не пробовать сразу с 5000 файлов, разбейте их на порции.
Насчет левой верхней точки… Вероятно поможет какой-нибудь хитрый скрипт. Но будет-ли он устойчиво работать, ведь конфигурация участков разная.:confused:

На счёт по часовой стрелки придумал чуть проще через скрип, но единственно выскакивает на каждом файле окно "изменено “количество” " подскажите как с ним боротся. Пример скрипта :
$Filter=*.in4
$F=@Dialog.SelectFolder Укажите папку с картами
@Text.FolderList $Filter $F
$C=@Text.Count
@If $C=0 @Break В папке “$F” отсутствуют файлы $Filter
$I=0
%Start
$I=$I+1
@If $I>$C then @Break
$F=@Text.Line[$I]
@FileOpen $F
$F=@Map.ClearFilename
Пометить | Все
[ Операции с объектами.По часовой стрелке ]
@Map.SaveToFile $F.in4
@CloseMap
@Goto %Start
;

а вот на счёт начальной точки в нужном углу участка проблема, где б достать этот хитроватый скрипт. Есть только одна маленькая зацепка, отслеживал по участкам, что там где в участке максимальное значение Х . там и надо начальную точку, как это прописать в скрипте не могу придумать, подскажите.


Пометить | Все
@SendChars
[ Операции с объектами.По часовой стрелке ]

максимальное значение Х - самая верхняя точка, а вот к “левому верхнему углу” ближе всего точка, у которой разница координат (X-Y) максимальна.

Спасибо Dmitry_Zolotar.
Нас устраивает и верхняя точка (тоесть максимум по Х), смежники на кадастровом плане в основном будут правильно начинать своё начало

Каким образом можно реализовать задержку (например на 1 сек) перед выполнением определенной команды в скрипте?

@Wait IntervalMS

Спасибо

Ознайомтесь, будь-ласка, Поиск подстроки по нескольким фрагментам. Тоді скрипт:$CN=@Dialog.Ask Фраза, що міститься в параметрі: @Map.FindByParameters 1|SC~$CN; для кращої ідентифікації бажано набрати початкову, або кінцеву, або і ту і другу кому (бачу у Вас кома розділювач) $S=@Map.SelCount @If $S>0 @Goto %Show @If $S=0 @Break Ділянка що містить|$CN|не знайдена %Show: @Window.ShowSelectedЯк на мене, використати підстановочні знаки * та ? в масці пошуку Вам не вдасться :confused:, а було б не погано :question:

Є скрипт, який має на меті одним кліком пера (на сенсорному моніторі), перетягнути найблищу до кліка вершину найблищого до кліка полігона

;Переводим карту в режим збору, активуєм шар збору - точковий об'єкт, на місце якого має переміститись вершина полігону найблища від точкового об'єкта ($NomTochPrav) @SelectTab 1 @Map.SetCollectionLayer ID6 ;Обробка події застосована для включення режимності скрипта %Events.OnSelect $NomTochPrav=@Map.SelectedObject; Номер точкового об'єкта, на місце якого треба перемістити найблищу вершину найблищого полігона $XYZ=@Map.Object[$NomTochPrav].Point[1]; Координати точки, в яку треба перемістити найблищу вершину найблищого полігона $NumObgPrav=@Map.NearestObject 0 0 $XYZ; Номер полігона, найблищого до точкового об'єкта на місце якого треба перемістити вершину полігона
Питання: найблищий до кліка полігон ми визначили, а як визначити найблищу до кліка вершину полігона :question:
Треба мати функцію, наприклад @Map.NearestPoint Range IgnoreObj X Y Z, яка б повертала координати точки полігона (чи іншого об’єкта), що є найблищою до точки з координатами X Y Z, або маркувала найблищу точку, або … ну треба знати координати найблищої точки полігона :exclamation:
Це би спростило правку об’єктів пером на сенсорному моніторі.

Есть несколько сотен XML
Все владельцы зарегестрированы в одном населенном пункте
В ХМL неправильно введен тип населенного пункта (місто Синька)
а надо с. Синька
Подскажите как правильно прописать скрипт