Аналитика http://geosystema.net/forum/ |
|
Все про скрипти http://geosystema.net/forum/viewtopic.php?f=1&t=2809 |
Страница 69 из 83 |
Автор: | fendak [ 01 дек 2019 12:00 ] |
Заголовок сообщения: | Re: Все про скрипти |
тут є скрипт, який робить контроль довжин ліній, щоб були не більше 200 метрів, а додати ці точки легко через меню Правка - Додати точки (крок 200 метрів, наскрізне додавання) |
Автор: | VictorR [ 01 дек 2019 17:15 ] |
Заголовок сообщения: | Re: Все про скрипти |
fendak писал(а): тут є скрипт, який робить контроль довжин ліній, щоб були не більше 200 метрів, а додати ці точки легко через меню Правка - Додати точки (крок 200 метрів, наскрізне додавання) Дякую, виручив! я й не знав про цю функцію) |
Автор: | VictorR [ 11 дек 2019 23:18 ] |
Заголовок сообщения: | Re: Все про скрипти |
Знаю що можна, але не пам'ятаю як... Є файл exel з списком номерів та відповідних їм прізвищ. Необхідно автоматично перенести прізвище у параметр "ділянки", якщо номер в ділянці вже забитий. Можливо для цього навіть скрипт не треба писати, десь у программі була така фунція. Або підкажіть скрипт якщо такий вже написаний. Дякую |
Автор: | petrogeo [ 11 дек 2019 23:40 ] |
Заголовок сообщения: | Re: Все про скрипти |
VictorR писал(а): Знаю що можна, але не пам'ятаю як... Є файл exel з списком номерів та відповідних їм прізвищ. Необхідно автоматично перенести прізвище у параметр "ділянки", якщо номер в ділянці вже забитий. Можливо для цього навіть скрипт не треба писати, десь у программі була така фунція. Або підкажіть скрипт якщо такий вже написаний. Дякую Можна без скрипта. 1) Список параметрів об'єктів на карті, повинен бути в такій самій черговості як і колонки з інформацією в ексель, і обов'язкова умова: перший рядок у списку параметрів обєкта і перша колонка в ексель повинні мати однакові значення (у вашому варіанті це список номерів) 2) виділити в екселі всі дані що потрібно вставити на карту, та скопіювати їх в буфер обміну. 2) Виділити на карті всі об'єкти, в які потрібно вставити значення. 3) Викликати команду Правка - Спеціальна вставка - Тільки параметри. У підсумку будуть вставлені всі значення з таблиці ексель на карту які співпадуть по першому пункті. Ще в цій темі останній пост viewtopic.php?f=1&t=19523&p=38175&hilit=%D0%B5%D0%BA%D1%81%D0%B5%D0%BB%D1%8C#38175 |
Автор: | VictorR [ 12 дек 2019 00:17 ] |
Заголовок сообщения: | Re: Все про скрипти |
petrogeo писал(а): VictorR писал(а): Знаю що можна, але не пам'ятаю як... Є файл exel з списком номерів та відповідних їм прізвищ. Необхідно автоматично перенести прізвище у параметр "ділянки", якщо номер в ділянці вже забитий. Можливо для цього навіть скрипт не треба писати, десь у программі була така фунція. Або підкажіть скрипт якщо такий вже написаний. Дякую Можна без скрипта. 1) Список параметрів об'єктів на карті, повинен бути в такій самій черговості як і колонки з інформацією в ексель, і обов'язкова умова: перший рядок у списку параметрів обєкта і перша колонка в ексель повинні мати однакові значення (у вашому варіанті це список номерів) 2) виділити в екселі всі дані що потрібно вставити на карту, та скопіювати їх в буфер обміну. 2) Виділити на карті всі об'єкти, в які потрібно вставити значення. 3) Викликати команду Правка - Спеціальна вставка - Тільки параметри. У підсумку будуть вставлені всі значення з таблиці ексель на карту які співпадуть по першому пункті. Ще в цій темі останній пост viewtopic.php?f=1&t=19523&p=38175&hilit=%D0%B5%D0%BA%D1%81%D0%B5%D0%BB%D1%8C#38175 Спасибо! |
Автор: | voha [ 15 дек 2019 16:06 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня. Черговий раз взявся до теми взаємодії Digitals із застосуванням користувача (MS Excel) по протоколу TCP з наступною метою: - запустити скрипт Digitals з макроса Excel; - дочекатись в макросі поки скрипт відпрацює; - продовжити роботу макроса з даними, отриманими від скрипта. Так от, коли сокет в блокованому режимі, посилка на сокет однієї скриптової команди повертає результат її виконання. Digitals, як сервер, виконує команду і посилає на сокет відповідь - значення, повернуте скриптовою функцією. Це працює добре . Якщо на сокет дати скриптову команду: виконати скрипт - сервер повертає "OK" Добре те, що макрос буде "в курсі", коли скрипт завершить роботу і продовжить своє виконання, але... Таке у мене питання до розробників: чи можна в скрипті якось присвоїти результат службовій змінній (типу $Result), щоб її вміст передавався на сокет від сервера Digitals замість (а може краще - разом з) "OK" |
Автор: | voha [ 23 дек 2019 12:08 ] |
Заголовок сообщения: | Re: Все про скрипти |
voha писал(а): ...в скрипті якось присвоїти результат службовій змінній (типу $Result), щоб її вміст передавався на сокет від сервера Digitals замість (а може краще - разом з) "OK" Доброго дня. Дуже прошу розробників: відпишіть, будь-ласка, чи реально таке зробити. Чи варто сподіватися? Просто технологія Exchange не дуже підходить, якщо обмін між програмами треба часто-густо виконувати.
|
Автор: | Dmitry_Zolotar [ 23 дек 2019 16:38 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня! Вибачаюсь за те що можливо до кінця не зрозумів. Якщо відправити на сервер команду $Result, то повернеться вміст змінної $Result, це потрібно? |
Автор: | voha [ 23 дек 2019 17:01 ] |
Заголовок сообщения: | Re: Все про скрипти |
Dmitry_Zolotar писал(а): Якщо відправити на сервер команду $Result, то повернеться вміст змінної $Result, це потрібно? Трохи не так. Змінній $Result значення присвоюється у скрипті, який запускається командою %Script.ScriptName, що посилається клієнтом (додатком користувача) на сервер Digitals.Мається на увазі, що Digitals - сервер, додаток користувача - клієнт. Зараз так: - клієнт відправляє серверу команду %Script.ScriptName або %Library.ScriptFile і чекає на відповідь від сервера; - скрипт відпрацьовує і сервер посилає клієнту відповідь "OK"; - клієнт продовжує свою роботу лише після отримання відповіді, а там - "OK". Хочеться: щоб замість "OK" клієнту приходило те, що в скрипті %Script.ScriptName або %Library.ScriptFile було присвоєне змінній $Result. Один нюанс: якщо скрипт-1 запускає скрипт-2 а останній присвоюватиме значення змінній $Result значення. Чи не буде це значення помилково передане на сокет по завершенню скрипта-1? Наскільки я розумію, змінні "живуть" окремо, кожна у своєму скрипті. Якщо на сокет, як відповідь зі скрипта-1 буде посилатись вміст $Result, присвоєний лише у скрипті-1, то все правильно. А що повертатиметься сервером клієнту, якщо $Result не присвоїти? "OK"? |
Автор: | Dmitry_Zolotar [ 23 дек 2019 17:38 ] |
Заголовок сообщения: | Re: Все про скрипти |
voha писал(а): - клієнт відправляє серверу команду %Script.ScriptName або %Library.ScriptFile і чекає на відповідь від сервера; відправляйте якось так: $Res1=%Script.ScriptName $Res2=%Library.ScriptFile тоді в любий момент можна повернутись до результатів, які містяться у змінних |
Автор: | voha [ 23 дек 2019 19:17 ] |
Заголовок сообщения: | Re: Все про скрипти |
Dmitry_Zolotar писал(а): voha писал(а): - клієнт відправляє серверу команду %Script.ScriptName або %Library.ScriptFile і чекає на відповідь від сервера; відправляйте якось так: $Res1=%Script.ScriptName $Res2=%Library.ScriptFile тоді в любий момент можна повернутись до результатів, які містяться у змінних Скрипт ScriptName виконується сервером (Digitals) будучи запущеним з Excel, шляхом посилання (функція Send) на сервер Digitals команди %Script.ScriptName. Чи повернеться значення змінної $Res1 або $Res2 до клієнта (Excel)? Ні. То ж краще, щоб замість OK, після виконання останньої команди скрипта ScriptName, сервер Digitals посилав клієнту вміст змінної $Result, значення якій присвоєно скриптом ScriptName. Зараз я зроблю файл Excel. |
Автор: | voha [ 24 дек 2019 08:36 ] |
Заголовок сообщения: | Re: Все про скрипти |
voha писал(а): ...в скрипті якось присвоїти результат службовій змінній (типу $Result), щоб її вміст передавався на сокет від сервера Digitals замість (а може краще - разом з) "OK" Доброго всім дня. Хочу подякувати розробникам: починаючи зі збирання 20.12.19 вміст змінної $Result посилається як відповідь сервера Digitals клієнту (Excel) Дуже дякую Дмитру Бондарцю за оперативну підтримку . Все працює дуже добре.
|
Автор: | fendak [ 05 янв 2020 11:46 ] |
Заголовок сообщения: | Re: Все про скрипти |
Добрий день! Підкажіть, за яким сценарієм чи критеріями працює функція @XML.Valid XMLStringOrFileName? Є файл xml, в якому тільки дві строки: <?xml version="1.0" encoding="utf-8"?> <UkrainianCadastralExchangeFile/> А функція видає, що файл валідний. І взагалі я не знайшов жодного файлу при скануванні бази, по якому б видало, що файл не валідний, хоч файлів, які в Digitals не відкриваються, є з десяток. |
Автор: | Dmitry_Zolotar [ 08 янв 2020 17:04 ] |
Заголовок сообщения: | Re: Все про скрипти |
Ця функція перевіряє чи є строка-аргумент іменем існуючого файлу, якщо так, то перевіряє цей файл на валідність, якщо ні то перевіряє цю строку-аргумент на валідність. Валідність - відповідність синтаксису XML. Ця функція потрібна для перевірки валідності деяких параметрів(адреса, власники та інш.) після їх редагування скриптом, наприклад. |
Автор: | fendak [ 08 янв 2020 23:45 ] |
Заголовок сообщения: | Re: Все про скрипти |
Тобто, якщо в строку-аргумент записано ім'я (повна назва з шляхом) файлу, то тоді функція перевіряє кожний параметр в структурі обмінника чи відкриті і закриті всі теги і чи наявні усі обов'язкові теги? Чи тільки щось основне? Щойно спробував із тим самим файлом, в якому тільки дві строки - уже працює (показує, що невалідний). Минулого разу, виходить, був якийсь глюк. Може через те, що програма обробляла десятки тисяч обмінників і кожний перевіряла на валідність. |
Страница 69 из 83 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |