1Script – язык для автоматизации рутины в жизни специалиста по 1С




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2026-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

76 Comments

  1. artbear

    +1 Хорошее выступление и хорошее статья

    Reply ↓
  2. infosoft-v

    на сайте http://www.oscript.io/ выводится:

    No Application Found

    Unable to find a matching application for request:

    Host http://www.oscript.io

    Port 80

    Request Path /Home

    Physical Path /var/www/oscript.io/Home

    Инфостарт эффект?

    Reply ↓
  3. infosoft-v

    Спасибо за отличную статью.

    Коллеги, поделитесь опытом, как отлаживать скрипты? Какие инструменты доступны?

    Reply ↓
  4. infosoft-v

    Ещё вопрос. Разработка в среде VSC возможна?

    Reply ↓
  5. pumbaE

    (3) infosoft-v, отлаживать принтами, скажите спасибо, что не алертами.

    Reply ↓
  6. infosoft-v

    (5) pumbaE, Спасибо

    Reply ↓
  7. json

    А существует ли аналог процедуры Состояние() для индикации долговыполняющихся процессов?

    Reply ↓
  8. white-mount

    (2) infosoft-v,

    Скачать OneScript загружает.

    Reply ↓
  9. kirillkr

    (4) infosoft-v, да.

    Подробнее на github.

    Reply ↓
  10. ret-Phoenix

    (7) yurii_host, Можно реализовать используя GUI библиотеку. синтаксис практически идентичен 1С: https://github.com/ret-Phoenix/oscript-simple-gui

    Reply ↓
  11. davdykin

    Спасибо! Интересно и познавательно

    Reply ↓
  12. json

    (10) ret-Phoenix, спасибо

    Круто что даже формы есть (правда пока обычные)) )

    Reply ↓
  13. ret-Phoenix

    (12) yurii_host, а какие хочется?

    для решения текущих задач этого хватает, даже больше чем нужно.

    Reply ↓
  14. tormozit

    С ростом количества и сложности кода на любом языке будет расти и потребность в отладчике. У всех распространенных скриптовых языков есть отладка. Так что по-прежнему очень ждем ее.

    Также была бы полезна и подсказка после точки. Какие здесь перспективы?

    Reply ↓
  15. pumbaE

    Мы помним свой вопрос (14)

    Reply ↓
  16. kraynev-navi

    В разделе «На каком языке удобнее всего писать скрипты автоматизации?» еще можно упомянуть AutoIt. Вторая колонка как у PowerShell ))

    (0)

    Необходимо сделать всего лишь пару настроек, и программа Notepad

    Я бы сюда ссылку на вашу же статью подставил

    Reply ↓
  17. baton_pk

    (0)

    И https://bitbucket.org/EvilBeaver/1script/ – репозиторий самого движка.

    я понимаю, что это по мотивам 2015-го года, но как бы это… https://github.com/EvilBeaver/OneScript

    и https://github.com/oscript-library

    Reply ↓
  18. Evil Beaver

    (14) tormozit, если помнишь, на хабре я писал про проблему роста. Я бы с удовольствием занялся отладчиком, но куча более актуальных дел (поддержка библиотеки скриптов, багфиксы, работа, личная жизнь) не дают задаче вспыть на поверхность.

    Reply ↓
  19. Evil Beaver

    (2) infosoft-v, адрес без WWW

    Reply ↓
  20. Evil Beaver

    (18) baton_pk, да, это чистый транскрипт выступления 2015 года, сделанный командой Инфостарта. Помимо того, что ты сказал, еще и Notepad++ стал неактуален, с выходом Visual Studio Code.

    Поправлю.

    Reply ↓
  21. Evil Beaver

    (1) artbear, спасибо!

    Reply ↓
  22. Evil Beaver

    (14) tormozit, А что ты про подсказку после точки спрашивал? Есть же она.

    Reply ↓
  23. tormozit

    (23) Это в каком редакторе?

    Reply ↓
  24. Evil Beaver

    (24) tormozit, я имел в виду VSC, она не такая умная, какую ты хочешь, но ее хватает за глаза

    Reply ↓
  25. LeXXuS_ju

    Доброго времени суток.

    Вот решил попробовать Gitsync, но опыта нет. Может ткнете носом почему может выдавать ошибку как на скрине.

    Reply ↓
  26. capitan

    Все скриптовые языки рано или поздно упираются в отсутствие форм.

    А затем в отсутствие БД в которой можно хранить настройки/результаты.

    Но если в упомянутых выше и упомянутом всуе AutoIt, который я например считаю самым быстрым стартом в автоматизацию рутинных операций, их изначально не было, то в 1С изначально все это есть.

    И упрощение — это на любителя.

    ИМХО при всех упомянутых выше операциях было бы неплохо хранить результаты их выполнения.

    В чем выигрыш по сравнению с БД 1С в которой живут те же скрипты, кроме свободной лицензии?

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

    Reply ↓
  27. ret-Phoenix

    (27) capitan,

    для OneScript есть и формы (ссылка ранее приводилась https://github.com/ret-Phoenix/oscript-simple-gui) и работа с БД (https://github.com/ret-Phoenix/oscript-sql). При этом поддерживаются СУБД: MS SQL Server, PostgreSQL, MySQL, Sqlite. Операции DDL + DML

    Создание бекапов — самое простое применение. сейчас на язые OneScript написано много чего, стоит глянуть библиотеку скриптов.

    Reply ↓
  28. necropunk

    Задумываюсь о полноценной работе с git, но c v8unpack не хватило времени разобраться, а без нее git не очень для меня полезен. В основном работаю не с самой конфигурацией, а с внешними обработками и алгоритмами в Инструментах разработчика, то есть все хранится вне базы, с промежуточными версиями в каталоге разработки. Можно ли с помощью 1Script связать каталог с git, чтобы в версиях хранился именно код внешних обработок? Если кто делал, подскажите, где почитать об этом? Пока попробую с 1Script поразбираться.

    Reply ↓
  29. ret-Phoenix

    (29) necropunk, смотри на https://github.com/pumbaEO/precommit1c

    Reply ↓
  30. ret-Phoenix

    (31) capitan, Аналог БСП? Что за бред?

    БСП — каркас для конфигураций.

    На OneScript у многих из нас сделано

    — бекапирование

    — проверка обновлений

    — чистка кеша

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

    — синхронизация с git (как вместе с хранилищем так и без, например для внешних отчетов)

    — различные схемы разворота рабочего места как пользователя так и разработчика

    и много прочего. Тот же парсинг текста, приведение его в порядок. расширения конфигуратора как снегопатовские, так и мои.

    Reply ↓
  31. comol

    По-моему этой публикацией ты лишил денег с десяток консалтинговых компаний :)))

    Reply ↓
  32. comol

    Ещё бы подсветку синтаксиса 1С при codereview кто-нибудь доделал либо в gitlab либо в Atlassian

    Reply ↓
  33. Evil Beaver

    (31) capitan, сайт работает, падений не залогировано. Что именно не работает? Он не открывается по префиксу www, но это так и задумано.

    Reply ↓
  34. Evil Beaver

    (34) comol, насколько я знаю, в гитлабе уже сделали подсветку

    Reply ↓
  35. ret-Phoenix

    (36) На GitLab есть, но какая-то плохенькая, до того, что сделали на GitHub далеко.

    Reply ↓
  36. zqzq

    (27) capitan, у меня вот уже более 1.5 года живёт «карманная» база 1С для административных работ: обмены, обновления и т.д..

    Плюсы: быстрый старт, всё в одном месте (без внешних программ и текстовых файликов) в одной базе, можно код версионировать стандартным хранилищем и настройки забивать в справочники и логи хранить в журнале регистрации.

    Минусы: так и не смог настроить, чтобы из регламентного задания 1С запускался exe конфигуратора, что-то с правами, поэтому из планировщика винды запускаю толстый клиент базы с параметрами запуска, а он уже парсит параметры и выполняет обработки.

    Reply ↓
  37. vasiliy_b

    (26) LeXXuS_ju, У Вас не установлен Git

    Reply ↓
  38. capitan

    (38) zqzq, аналогично, шеф.

    Я думаю, у каждого, у кого за плечами около полсотни баз имеет такую базу.

    Reply ↓
  39. emc2

    Спасибо! За огромный труд в облегчении рутинной работы. Спасибо! Жду дальнейших новинок!

    Reply ↓
  40. LeXXuS_ju

    (39) vasiliy_b, да так и было))

    Теперь выдает ошибку 128.

    У меня возник вопрос как скрипт получает доступ к гитхабу, если мы нигде пароль не указываем?

    Я пробовал генерировать ключ SSH и он даже мне отозвался через Git Bash, но после вызова

    gitsync init <каталог или файл хранилища> <локальный каталог git> [-email домен почты пользователей]

    пишет: Не удалось получить изменения с удаленного узла (код : 128).

    Прописал еще это:

    git config —global user.email «you@example.com»

    git config —global user.name «Your Name»

    P.S. [-email домен почты пользователей] — это просто email,под которым зарегистрирован на Гитхабе?

    Reply ↓
  41. vasiliy_b

    (42) LeXXuS_ju, пароль будет спрашиваться тогда когда вы будете выполнять обмен с сервером например после команды «git push -u origin master»

    Reply ↓
  42. tehas

    Крутая вещь!

    Есть маленький недочет (я так думаю).

    Что бы передать переменную с текстом (например) а = «1C:Enterprise 8.3 Server Agent»;

    Приходится писать примерно так:

    Служба = Символ(«34») + «1C:Enterprise 8.3 Server Agent»+Символ(«34»);

    Иначе на выходе имеем 1C:Enterprise 8.3 Server Agent (то есть уже без кавычек).

    Может не совсем ясно описал, попробую привести пример:

    Так команда не выполнится, так как есть пробелы между слов:

    Служба = «1C:Enterprise 8.3 Server Agent»;
    ЗапуститьПриложение(«net stop «+Служба,,Истина);

    Сейчас выполнится, так как передастся именно с кавычками:

    Служба = Символ(«34») + «1C:Enterprise 8.3 Server Agent»+Символ(«34»);
    ЗапуститьПриложение(«net stop «+Служба,,Истина);
    Reply ↓
  43. vasiliy_b

    (44) tehas, я тоже пока изучаю возможности, поэтому задам наводящий вопрос, а так писать пробовали:

    Служба = «»»1C:Enterprise 8.3 Server Agent»»»;

    ?

    т.е как в 1с поставить 3 кавычки в начале и 3 в конце

    Reply ↓
  44. vasiliy_b

    (46) tehas, Все правильно, там как раз используется принцип двойных кавычек. Так что все отрабатывается как в 1с

    Reply ↓
  45. Evil Beaver

    (48) raevsky@e1.ru, ну я не знаю….

    http://prntscr.com/cksi5h

    Вот сайт на текущий момент. Позавчера действительно был остановлен на несколько часов, но это только и всего.

    Reply ↓
  46. Evil Beaver

    (44) (46) tehas, экранирование кавычек работает точно так же, как в 1С. Дублированием символа кавычки.

    Непонятно, почему у вас возникла необходимость использовать Символ( 34 ).

    Reply ↓
  47. baton_pk

    (49) было-было. не ругайте человека. не был вчера сайт доступен.

    Reply ↓
  48. Evil Beaver

    (51) baton_pk, не ругаю ) Кстати, если нужно просто скачать дистрибутив, то на гитхабе есть раздел releases, куда также выкладываются файлы программы.

    Reply ↓
  49. dreadlord

    Оч познавательная статья, спасибо. Инструмент обновляем

    Reply ↓
  50. Brawler

    Не зря 1С навела паники по поводу вирусов)))

    Скоро их реально станет больше и их налобают даже на 1Script )))

    Reply ↓
  51. Evil Beaver

    (54) Brawler, ну да. Чтобы заразить машину нужно поставить движок, скачать вредный файл, запустить его с полными правами… А так, конечно, язык виноват, что на нем вирусы пишут, да )

    Reply ↓
  52. necropunk

    Пытаюсь осваивать потихоньку, но есть проблемы.

    Поставил Notepad++, подсветку, поставил плагин NppExec, по F6 прописал oscript «$(FULL_CURRENT_PATH)» но у меня при запуске любого файла, даже просто с кодом Сообщить(«!»); выдается ошибка:

    oscript «C:Work est.os»

    CreateProcess() failed with error code 2:

    Не удается найти указанный файл.

    Не подскажете в чем может быть дело? И подсказок через точку нет, можно их как-то включить?

    Reply ↓
  53. necropunk

    (56) necropunk, Хм, я запускал из тоталкоммандера, по F4, а надо запускать от администратора. Не особо удобно, но ладно, будем дальше попробовать.

    Reply ↓
  54. serg_infostart

    Пытаюсь начать пользоваться gitsync….

    Получаю следующую ошибку:

    E:	est_gitsync_src01>git status
    fatal: Not a git repository (or any of the parent directories): .git
    
    E:	est_gitsync_src01>gitsync -init «E:	est_gitsync01»
    ИНФОРМАЦИЯ — Начинаю синхронизацию хранилища 1С и репозитария GIT
    ИНФОРМАЦИЯ — Получение изменений с удаленного узла (pull)
    ИНФОРМАЦИЯ — fatal: Not a git repository (or any of the parent directories): .gi
    t
    
    ОШИБКА — {Модуль C:Program Files (x86)OneScriptlibgitsyncsrcgitsync.os / О
    шибка в строке: 321 / Не удалось получить изменения с удаленного узла (код: 128)
    }
    
    E:	est_gitsync_src01>

    Показать

    Обратил внимание, что

    E:	est_gitsync_src01>gitsync
    Синхронизация хранилища конфигураций 1С с репозитарием GIT.
    Использование:
    gitsync <storage-path> <git-url> [local-dir] [ключи]
    gitsync <команда> <параметры команды> [ключи]
    Параметры:
    <ПутьКХранилищу> — Файловый путь к каталогу хранилища конфигурации 1С.
    <URLРепозитория> — Адрес удаленного репозитория GIT.
    <ЛокальныйКаталогГит> — Каталог исходников внутри локальной копии git-репозитар
    ия.
    -email — <домен почты для пользователей git>
    -v8version — Маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.)
    -debug — <on|off>
    -verbose — <on|off>
    -branch — <имя ветки git>
    -format — <hierarchical|plain>
    
    Возможные команды:
    clone        — Клонирует существующий репозиторий и создает служебные файлы
    init         — Создает новый репозиторий и создает служебные файлы
    all          — Запускает синхронизацию по нескольким репозиториям
    set-version  — Устанавливает необходимую версию в файл VERSION
    help         — Вывести справку по параметрам команды
    export       — Выполнить локальную синхронизацию, без pull/push
    Для подсказки по конкретной команде наберите gitsync help <команда>
    ОШИБКА — Указаны некорректные аргументы командной строки
    

    Показать

    Пытаюсь без «-» выполнить:

    E:	est_gitsync_src01>gitsync init «E:	est_gitsync01»
    ОШИБКА — {Модуль C:Program Files (x86)OneScriptlibgitsyncsrcgitsync.os / О
    шибка в строке: 201 / Метод объекта не обнаружен (ПроверитьНаличиеРепозитарияГит
    )}
    
    E:	est_gitsync_src01>
    Reply ↓
  55. Evil Beaver

    (58) serg_infostart, для gitsync и других полезных пакетов есть отдельный канал обсуждения — https://gitter.im/EvilBeaver/oscript-library.

    Там будет быстрее и продуктивнее.

    Reply ↓
  56. su_mai

    Подскажи, что можно придумать для эмуляции нажатия кнопок экранных форм, например, по координатам. Может есть что-то уже готовое в 1Script? Может есть готовый подход, попроще?

    Reply ↓
  57. Evil Beaver

    (60) su_mai, есть AutoIt и Sikuli. Последнее активно используется в vanessa-behavior, примеры можно посмотреть там же.

    Reply ↓
  58. aromait

    Спасибо. Отличная статья. Надо обязательно посмотреть, более подробно, что он из себя представляет.

    Reply ↓
  59. grumagargler

    (27)

    В чем выигрыш по сравнению с БД 1С в которой живут те же скрипты, кроме свободной лицензии?

    — есть версия платформы для обучения, она бесплатна.

    Reply ↓
  60. c1nil

    PowerShell доступен для Linux, исправьте.

    Reply ↓
  61. tunesoft

    Интересная разработка.

    А кто использует в реальных проектах и для каких целей ?

    Насколько стабильно работает ?

    Reply ↓
  62. Evil Beaver

    (65) О, добро пожаловать! Использует в реальных проектах уже более сотни компаний (это минимум), включая крупный энтерпрайз. Работает стабильно, быстро и вообще, вещь хорошая.

    Посмотрите на библиотеку наработок https://github.com/oscript-library там же и цели применения, в-общем.

    В-основном, это автоматизация самих 1С-ников: обновление баз, развертывание на рабочий контур, тестирование, и вообще, это язык общего назначения. Есть, например, даже простенькие игры. Например, вот «Змейка»: http://www.oscript.io/downloads/examples/snake.os

    Проекту 5 лет почти. Основное ядро движка не менялось уже около двух лет по причине стабильности и надежности. В готовящейся к выходу версии появился отладчик и в ядро пришлось внести изменения, но они тоже достаточно стабильны, все тесты и боевые приложения на доработанном ядре работают без нареканий.

    Что касается библиотек окружения, то тут примерно, как у 1С. Все отлично работает, но иногда не работает, зато быстро исправляется. Ну а чей код всегда стабилен? Дайте-ка я брошу в него камень 🙂

    Reply ↓
  63. tormozit

    О, отладчик будет наконец то. К НГ ждать?

    Reply ↓
  64. artbear

    (67) В соседней статье по 1скрипт я сегодня написал — отладчик уже есть в ночной сборке 18 релиза

    Reply ↓
  65. Evil Beaver

    (67) Уже сейчас можно смотреть: http://oscript.io/downloads/night-build/oscript-debug-0.1.0.vsix

    Устанавливаешь свежий ночник и вот этот плагин к vsc

    Reply ↓
  66. victor_k

    Расписано на 10 листов, много возни, а реальной автоматизации нет. Только время потерял.

    Reply ↓
  67. Evil Beaver

    (70) Мне даже подробности стали интересны. Что означает «реальной автоматизации нет?» Есть только нереальная?

    Знаете, если вы за 5 лет существования проекта только лишь сейчас услышали про 1Script, в то время, когда пол-отрасли пользуется вовсю и активно участвует в развитии инструмента, а потом говорите «возня есть, автоматизации нет», то… ну расскажите, что-ли подробнее, что вы имели в виду?

    Reply ↓
  68. victor_k

    (71)Все что под заголовком «Что можно автоматизировать?» не впечатлило.

    Reply ↓
  69. ildary

    (72) это (что вас не впечатлило) больше говорит о вашем профессионализме, чем о качестве 1script.

    Reply ↓
  70. Brawler

    (73) коллеги, переставайте вести пустой треп, у человека явно просто никаких потребностей в данном продукте нет, и это ни коем образом не говорит, о профессионализме, а всего лишь об отсутствии потребности/задач решаемых при помощи него

    у нас кстати пока именно в 1Script тоже потребности нет ибо что уже нужно было, уже запилено на AutoIt

    Reply ↓
  71. Evil Beaver

    (72) Ну ок, не впечатлило. Бывает 🙂

    Reply ↓
  72. victor_k

    (73) IT — директор, знания по вершкам )

    Reply ↓
  73. maklyak

    обрабатывая скрипт:

    // Получаем COMConnector

    Коннектор = Новый COMОбъект(«v» + ПараметрыЗапуска.ВерсияПлатформы + «.COMConnector»);

    получаю ошибку:

    ПолучитьСписокСеансов: {Модуль C:Program Files (x86)OneScriptlibTRun1CsrcClassesТЗапуск1С.os / Ошибка в строке: 531 / Внешнее исключение (System.Runtime.InteropServices.COMException): Не удалось получить фабрику класса COM для компонента с CLSID {181E893D-73A4-4722-B61D-D604B3D67D47} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).}

    при этом коннектор V83Com.Connector определен в реестре.

    При запуске обработки в 1С предприятии кусок кода

    АдресКластера = «localhost»;
    ПортАгента = «1540»;
    Коннектор = Новый COMОбъект(«v83.COMConnector»);
    // Получаем Соединение с агентом сервера
    СоединениеСАгентомСервера = Коннектор.ConnectAgent(АдресКластера + «:» + ПортАгента);
    // Получаем список кластеров
    КластерыСерверов = СоединениеСАгентомСервера.GetClusters();
    

    отрабатывает без проблем.

    Вопрос: Как побороть ошибку ?

    Reply ↓
  74. Evil Beaver

    Скорее всего у вас стоит 64битная платформа 1с. И советую отказаться от COM в пользу RAS

    Reply ↓
  75. ahyahy

    Для OneScript есть библиотека для создания gui. Да, простите, ещё одна. Ну не мог остановиться. Кому интересно приходите на https://onescriptgui.teriy.com/

    Только что закончил. Скриптим на русском, создаём формы на русском. Справка подробная, все свойства и методы с примерами.

    Используется библиотека KiXforms.NET v3.2.16.0 написанная Shawn Tassie.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *