oscript-library / v8runner

Управление запуском 1С из командной строки
96 stars 57 forks source link

Как подключиться к серверной информационной базе? #95

Closed testforgity closed 5 years ago

testforgity commented 5 years ago

Как подключиться к серверной информационной базе? У меня есть Srvr="ЦИФРЫ"; Ref="БУКВЫ"? Буду оочень благодарен.

nixel2007 commented 5 years ago

Здравствуйте. В README есть пример подключения к серверной базе через /IBConnectionString

https://github.com/oscript-library/v8runner#%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B

так же можно преобразовать подключение для /S-строки

testforgity commented 5 years ago

я скопировал код: У меня разве 1с не должен открыться уже готовый? У меня выскакивает выбор информационной базы

Использовать v8runner

Конфигуратор = Новый УправлениеКонфигуратором();

Конфигуратор.УстановитьКонтекст("/IBConnectionString""Srvr=ЦИФРЫ; Ref='БУКВЫ'""","Администратор", "ПАРОЛЬ"); УправлениеКонфигуратором = Новый УправлениеКонфигуратором(); ПараметрыЗапуска = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); ПараметрыЗапуска.Добавить("/LoadCfg""C:/Users/practic/Desktop/cfg/1Cv8.cf"); Попытка УправлениеКонфигуратором.ВыполнитьКоманду(ПараметрыЗапуска); Сообщить(УправлениеКонфигуратором.ВыводКоманды()); Исключение // вывод log-файла с сообщениями от платформы. Сообщить(УправлениеКонфигуратором.ВыводКоманды()); КонецПопытки

testforgity commented 5 years ago

с 1с вообще не работал, поэтому все идет тяжко(перешел с таких низов как: python, c++)

nixel2007 commented 5 years ago

вы контекст устанавливаете у инстанса "Конфигуратор", а параметры запуска и выполнение команды делаете у инстанса "УправлениеКонфигуратором". Оставьте только один инстанс

nixel2007 commented 5 years ago

да, например, так.

testforgity commented 5 years ago

:( не работает, как и до этого выводит список информационных баз

testforgity commented 5 years ago

попробовал так, но тоже открывает лишь список информационных баз, хотя (как я понимаю) должно открывать конфигурацию уже в заданной базе, минуя выбор базы и в какую версию заходить(конфигуратор/предприятие), и быть в "боевом режиме" или я ошибаюсь?

Использовать v8runner

УправлениеКонфигуратором = Новый УправлениеКонфигуратором(); УправлениеКонфигуратором.УстановитьКонтекст("/IBConnectionString" "Srvr=; Ref=''""","Администратор", "ПАРОЛЬ"); ПараметрыЗапуска = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); ПараметрыЗапуска.Добавить("DESIGNER", "/LoadCfg", "путь"); УправлениеКонфигуратором.ВыполнитьКоманду(ПараметрыЗапуска);

testforgity commented 5 years ago

Я задебажил это все дело и получил такую вот ошибку от моего скрипта: "Слишком много фактических параметров" в строке ПараметрыЗапуска.Добавить("DESIGNER", "/LoadCfg", "путь"); Потом я решил поменять эту строку(сделать как в примере): ПараметрыЗапуска.Добавить("/LoadCfg", "путь"); Но опять получил от своего скрипта ответ-ошибку, с чем это может быть связано? (дебажил Visual studio code, использовал отладку 1Script)

nixel2007 commented 5 years ago

Попробуйте использовать готовый метод ЗагрузитьКонфигурациюИзФайла, без пляски с параметрами.

Насколько я помню, параметры запуска - это массив, в него вообще нельзя добавлять несколько элементов одним методом Добавить, надо делать несколько строк.

testforgity commented 5 years ago

Если я правильно понимаю, то нужно сделать вот так, но выводит что не задана информационная база. Разве УстановитьКонтекст не задает этот параметр? УправлениеКонфигуратором = Новый УправлениеКонфигуратором(); УправлениеКонфигуратором.УстановитьКонтекст("/IBConnectionString" "Srvr=; Ref=''""", "Администратор", "ПАРОЛЬ"); Попытка УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла("C:/1Cv8.cf", Ложь); Сообщить(УправлениеКонфигуратором.ВыводКоманды()); Исключение Сообщить(УправлениеКонфигуратором.ВыводКоманды()); КонецПопытки

nixel2007 commented 5 years ago

Хм. Попробуйте вместо IBConnectionString использовать подключение через /SИмяСервера\ИмяБазы

testforgity commented 5 years ago

Спасибо, пролема заключалась именно в этом

testforgity commented 5 years ago

Подскажите, пожалуйста, а в v8runner есть функция ВыгрузитьКонфигурациюВФайлы?

nixel2007 commented 5 years ago

Да, есть. Полный список методов можно посмотреть в файле v8runner.os

testforgity commented 5 years ago

спасибо большое, нашел