Головна » Файли » Готові скрипти

Кнопка Зберегти як..
07.09.2018, 20:45

Скрипт дозволяє автоматично зберігати файли XML, викликаючи діалог збереження у форматі "кад.номер площа"
наприклад, 4621288200010020365 0.2500

@Map.DeselectAll

@Map.SelectLayer ID70005

$SO=@Map.SelectedObject

@if $SO=0 then @Break Відсутня ділянка XML

$Name=@Map.ClearShortFilename

$Path=@Map.Filename

$FilePath=@ExtractFilePath $Path

$Area=@Map.Object[$SO].Parameter[0]

$Area=@Calc replace("$Area",",",".")

$Area=@DequoteText $Area

$Dialog=@Dialog.SaveFile *.xml $FilePath\$Name $Area

@Map.SaveToFile $Dialog

@Map.DeselectAll

Категорія: Готові скрипти | Додав: Микола
Переглядів: 1976 | Завантажень: 0 | Коментарі: 9 | Рейтинг: 5.0/1
Всього коментарів: 9
avatar
8 tem@ • 13:29, 25.02.2019
Не получается((, "это все" добавить в "карта-скрипт обработка событий" в сам ДМТ шаблон или "это все" через "кнопку" делать нужно? По разному пробовал, можете по подробней расписать пожалуйста, очень нужно.
Все ДМТ шаблоны находятся у меня в папке ДМТ, может из-за этого не работает?

Вот как сделал:

$Path=@Map.Filename 
$Path=@ExtractFilePath $Path 
@Map.DeselectAll 
@Map.SelectLayer id20000 
@ExecuteDocumentFromFile Кадастровый план (A3) автомасштаб.DMT 
$Filename=@Map.ClearShortFilename 
$NewName=$Path\$Filename.dmf 
$NEX=0 
%StartEX 
$EX=@FileExists $NewName 
@if $EX=0 then @Goto %NextEX 
$NEX=$NEX+1 
$NewName=$Path\$Filename($NEX).dmf 
@Goto %StartEX 
%NextEX 
@Map.SaveToFile $NewName
avatar
0
9 Микола • 20:47, 25.02.2019
це скрипт для окремої кнопки
і тільки для одиничного шаблону. З папкою він працювати не буде.
avatar
6 tem@ • 11:13, 22.02.2019
Микола,
а нет у Вас скрипта, который бы автоматически сохранял файл (сделанный через шаблон дмт), в месте где хранится исходный файл (ин4 или дмф). Что то наподобие, как у Вас в шаблоне "документация"?
avatar
0
7 Микола • 16:55, 22.02.2019
$Path=@Map.Filename
$Path=@ExtractFilePath $Path
@Map.DeselectAll
@Map.SelectLayer id70005
@ExecuteDocumentFromFile DMTTemplateName
$Filename=@Map.ClearShortFilename
$NewName=$Path\$Filename.dmf
$NEX=0
%StartEX
$EX=@FileExists $NewName
@if $EX=0 then @Goto %NextEX
$NEX=$NEX+1
$NewName=$Path\$Filename($NEX).dmf
@Goto %StartEX
%NextEX
@Map.SaveToFile $NewName

Щоб скрипт бачив, який файл є вихідним для сформованого звіту по шаблоні, він сам запускає цей шаблон. Вкажіть назву шаблону - DMTTemplateName і, якщо ви формуєте з ІН4, то замість @Map.SelectLayer id70005 напишіть @Map.SelectLayer id20000
avatar
4 bk2013 • 12:36, 10.01.2019
Микола, а можливо зробити щоб при нажатии кнопки создать, відкривало сразу файл XML-normal для зручності,  а не normal . Щоб не шукати в випадаючому списку.?????
avatar
0
5 Микола • 15:18, 10.01.2019
краще створіть собі окрему кнопку і пропишіть:
@FileNew X /Template=XMLNormal.dmf

Х - це назва карти за замовчуванням. Замість X можна написати, наприклад, Noname1.
На кнопку собі призначте значок  і помістіть її десь поряд з оригінальною, або навіть поверх неї.
avatar
3 ryvol75 • 20:47, 25.12.2018
Дякую, все працює.
avatar
1 bk2013 • 12:38, 20.12.2018
Микола а можливо зробити щоб автоматично в назву файла підтягувало каоту зону квартал номер ділянки, щоб не в ручну писати назву файла. як в даному скрипті змінити параметри????
avatar
0
2 Микола • 13:51, 20.12.2018
кадастровий номер ділянки витягує функція @Map.XMLCadastralNumber
Тобто. в коді після:
$Name=@Map.ClearShortFilename
допишіть:
$Name2=@Map.XMLCadastralNumber

і рядок
$Dialog=@Dialog.SaveFile *.xml $FilePath\$Name $Area
замініть на:
$Dialog=@Dialog.SaveFile *.xml $FilePath\$Name2$Name $Area
avatar