Знову про шаблони...

Додав складання таблиці обмежень
Код обмеження - ID7000800
Назва обмеження - ID7000801
Назва та дата закону/постанови - ID7000803

прибрати або закоментувати наступне

$S=@Concat $Space,$Tab,$Space,$Tab,Усього земель $S=$S$Tab$ParcelArea @Text[1].Add $S

Прикріпіть файли RestrCodes.txt" та “Zakony.txt” і я вам зроблю цей скрипт. Самому також такий потрібний, але ще руки не доходили.

Скрипт того шаблону містить такі строки

;Назва обмеження із параметру ID7000801
$RestrName=@Map.Object[$I].Parameter[ID7000801]
;
;Назва обмеження із “решти” параметру ID7000800
;$L=@Calc Length(“$RestrCode”)
;$RestrName=@Calc Copy(“$RestrCodeNName”,L+1,1000)
;$RestrName=@DequoteText $RestrName
;
;Назва обмеження з файлу RestrCodes.txt по коду
;$RestrName=@Map.Object[$I].CalculateFormula SEF($RestrCode,RestrCodes.txt)

обирайте звідки отримувати назву

Ось це файли. У законах поки обґрунтування лише для охоронної зони ЛЕП 01.05., над рештою я поки поацюю.

Дякую за оперативність! Зараз вивчаю як ви це зробили

ось що в мене вийшло:

$ResrtCount=@Map.Layers.ObjectCount ID70008
@if $ResrtCount=0 then @Map.Layers.SetState ID70027 3
@if $ResrtCount=0 then @Goto %Exit
$RestrNumber=@Map.Parameters.Add 7000855 3 Номер обмеження
@Map.Parameters.SetAttributes ID7000855 0 5 0 10 1 16777215 0 Arial 60 0 -16777208
$ValParList=@Map.Layers.GetValidParameters ID70008
$ValParList=$ValParList,$RestrNumber
@Map.Layers.SetValidParameters ID70008 $ValParList
@Map.DeselectAll
@Map.SelectLayer ID70027
$TOR=@Map.SelectedObject
$HeaderR=@Map.Object[$TOR].TableText
$L=@Calc Length(“$HeaderR”)
$HeaderR=@Calc Copy(“$HeaderR”,1,$L-2)
$HeaderR=@DequoteText $HeaderR
@Map.DeselectAll
@Text[2].Clear
@Text[2].Add $HeaderR
$I=0
$J=0
%LoopR
$I=$I+1
$LID=@Map.Object[$I].LayerID
@if $LID<>70008 then @Goto %ContinueR
$J=$J+1
@Map.Object[$I].Parameter[$RestrNumber] $J
@Map.Object[$I].CreateCaption $RestrNumber 0 0 1 1 0 0
$RestrArea=@Map.Object[$I].CalculateFormula P[0]
$RestrCodeNName=@Map.Object[$I].Parameter[ID7000800]
$RestrCode=@StringPart 1 $RestrCodeNName
$RestrName1=@Map.Object[$I].CalculateFormula SEF($RestrCode,RestrCodes.txt)
$RestrName2=@Map.Object[$I].Parameter[ID7000801]
$RestrName=$RestrName1, $RestrName2
$LWCodeNName=@Map.Object[$I].Parameter[ID7000800]
$LWCode=@StringPart 1 $LWCodeNName
$LWName=@Map.Object[$I].CalculateFormula SEF($LWCode,Zakony.txt)
$S=$J$Tab$RestrCode$Tab$RestrName$Tab$LWName
$S=$S$Tab$RestrArea
@Text[2].Add $S
%ContinueR
@if $I<$C then @Goto %LoopR
$S=@Text[2].Text
@Map.Object[$TOR].TableText $S
%Exit
@Window.Refresh

Все красиво працює. Дякую за допомогу!

Питання ще одне. У кадастровому плані потрібно щоб шаблон сам ставив тип документації - технічку, проект тощо.
Я пишу у відповідному полі dmt шаблону: =SEF(XPT(PID7000522,“TechnicalDocumentationInfo/DocumentationType”),TechDocumentationTypes.txt)

Але не підтягує інфу та не ставить потрібну інф. з txt
Потрібно створювати новий параметр для цього у xmlnormal.dmf?

SEF(XPT(P[ID7000522],“DocumentationType”),TechDocumentationTypes.txt)

Дуже вдячний за допомогу!
Кому згодится - ось файл Zakony.txt я заповнив, дані взяв звідси - lawburo.ucoz.ua/index/klasifikat … emli/0-109
Кому потрібно - нижче шаблон

Возможно ли как то пользоваться шаблоном ДМТ если он лежит не в каталоге Диджитала, например с помощью скрипта задать путь к нему? Либо чтобы шаблон дмт лежал в каталоге Диджитала но не отображался в поле “Сервис/Документи”?

На данный момент нет такой возможности

А можно ли скриптом задать путь к одному шаблону если он будет в папке диджитала в каталоге с расшырением.дмт?

я таку можливість реалізував завдяки скрипту:

@ExecuteDocument DMTШаблон
$Map1=@ActivateMap
$Map2=@ActivateMap-1
$Map3=@ActivateMap-2

Тобто, якщо в папці DMTШаблон.dmt є три файли DMT, то щоб звернутися до конкретного потрібного шаблону в папці треба просто знати його номер по порядку, як він відкривається і віднімати від активного(останнього сформованого) шаблону 1,2,3 і т.д.

О, це був мій останній варіант) відкрити всі шаблони у папці та автоматично закривати неактивні) Але можливо так буде й краще. Взагалі стоїть завдання створити один шаблон але в різних масштабах. Хотілось би реалізувати через @Dalog.Select … вибір файлу з конкретним масштабом..

а автомасштаб чим не підходить?

Шаблон буде для “Креслення перенесення в натуру”, подивившись Ваш відеоурок :astonished: дізнався що при автомасштабі змінюються проміри.

Підкажіть як зробити так, щоб при автоматичному формуванні на кад. плані списка суміжників, через шаблон, в кінці назви кожного суміжника додавався заданий текст (наприклад Від А до Б - землі гр. Попова А.В. (кад. номер) ) ?

А ще краще, якщо це можливо, щоб і сам кад. номер підставлявся з параметру суміжної земельної ділянки.

Приклад для In4.
В шаблоні в списку суміжників напишіть Від А до Б SEL(P[20],|P[NM]|*|P[NM] кад. номер P[20]).
При створенні кадплану Діга перевірить наявність кадномеру у суміжника (параметр № 20). За відсутності (землі спільної, державної власності і т.п.) додасть тільки текст, заданий в параметрі NM, за наявності - до NM додасть кад. номер ХХХ.

Питання до розробників :exclamation: Чи можливо зробити так, при формуванні шаблону:
1)На зем. ділянку з якої формується документ завантажувалась Публічна Кадастрова карта,
2)Зем. ділянка автоматично векторизувалась, і разом з нею суміжні зем. ділянки,
3)З суміжних зем. ділянок витягувався кад. номер який потім підставлявся в параметр відповідного суміжника на плані