Имя: Пароль:
1C
1С v8
Есть пользующие 1Script ? что то у меня пример из учебника не взлетает :-(
0 BigShmax
 
20.10.15
15:03
Пишу :
#Использовать v8runner
Конфигуратор = Новый УправлениеКонфигуратором();
Конфигуратор.УстановитьКонтекст("Srvr=spirit:1541; Ref='upp'","Администратор", "123456");
Конфигуратор.ВыполнитьСинтаксическийКонтроль();

получаю отчет об ошибке :
ИНФОРМАЦИЯ - Получен ненулевой код возврата 1. Выполнение скрипта остановлено!
{Модуль C:\Program Files (x86)\OneScript\lib\v8runner\src\v8runner.os / Ошибка в строке: 147 / Неопределена информационная база
}

(логин с паролем проверял раз пять, имя базы и сервера  через копипаст.)


в учебнике следующее:

Принцип работы
Скрипт подключается, как отдельный класс и экземпляр этого класса используется для манипулирования какой-то одной информационной базой.

#Использовать v8runner
Конфигуратор = Новый УправлениеКонфигуратором();
Каждая команда конфигуратора может выполняться только для конкретной информационной базы. База, для которой выполняется команда называется контекстом команды.

Конфигуратор.УстановитьКонтекст("Srvr=someserver:2041; Ref='database'","Admin", "passw0rd");
Далее, вы вызываете методы объекта "Конфигуратор", соответствующие командам конфигуратора. Все команды будут выполняться над заданной базой. Теперь, объект Конфигуратор настроен на некий "контекст" - информационную базу, с которой и будут производиться все операции.
1 Мыш
 
20.10.15
15:05
(0) 1Script разрабатывается группой энтузиастов на безвозмездной основе

После этого воспринимать всерьез проект не получается.
2 su_mai
 
20.10.15
15:22
(1) > 1Script разрабатывается группой энтузиастов на безвозмездной основе

Энтузиасту этому честь и хвала! Не смотря на то, что он злой как бобр :)

То есть если за эту работу взяли бы несколько десятком миллионов р., то все автоматом было бы "в ожуре"? :)
3 su_mai
 
20.10.15
15:25
(0) Вопрос сюда: Свяжитесь с EvilBeaver и сообщите, что хотели бы сделать.
http://oscript.io/dev/contribute
4 BigShmax
 
20.10.15
15:30
(1)  какой бы он ни был от энтузиастов   уж   примеры из учебника должны отрабатывать
5 su_mai
 
20.10.15
15:34
(4) Ну так и я о том же, вопрос не для этого "потного" форума :)
Его надо автору на прямую задавать, если конечно цель этого вопроса в чем то разобраться.
6 Fragster
 
гуру
20.10.15
15:37
зайди в исходники пакета v8runner и вставь вывод командной строки, которую он запускает
7 Fragster
 
гуру
20.10.15
15:38
в районе 147 строки файла v8runner.os
8 BigShmax
 
20.10.15
15:44
(5) уже написал. разобраться хочу, идея очень понравилась.  кстати год назад хотел но спецом  пропустил некоторое время на поднятие проекта на должный уровень:-)
9 Мыш
 
20.10.15
15:47
(2) Странный вопрос. Нет, не "было бы". Но было бы за что спрашивать.
(4) Не должны. Ибо "безвозмездно".
10 BigShmax
 
20.10.15
15:48
(7)  добавил, там зараза массив.  

Процедура ВыполнитьКоманду(Знач Параметры) Экспорт
    Лог.Информация("Параметры "+Параметры+". Вывел параметры!");
    ПроверитьВозможностьВыполненияКоманды();
    
    КодВозврата = ЗапуститьИПодождать(Параметры);
    УстановитьВывод(ПрочитатьФайлИнформации());
    Если КодВозврата <> 0 Тогда
        Лог.Информация("Получен ненулевой код возврата "+КодВозврата+". Выполнение скрипта остановлено!");
        ВызватьИсключение ВыводКоманды();
    Иначе
        Лог.Отладка("Код возврата равен 0");
    КонецЕсли;
    
КонецПроцедуры



147 строка  :  Лог.Информация("Получен ненулевой код возврата "+КодВозврата+". Выполнение скрипта остановлено!");
11 EvilBeaver
 
20.10.15
15:50
(1) мыш, сотни opensource продуктов начались как "группой энтузиастов" и выросли в промышленное применение с инвестициями от ведущих компаний отрасли. Это не аргумент. Мы в компании с числом сотрудников > 22000 и количеством высоконагруженных систем 1С более 100 используем 1Script в боевом режиме более года. По сути, это уже не группа энтузиастов, а прямые инвестиции моей компании в этот проект. Так что ваш скепсис как бы не канает, при всем уважении.
(2) Андрей, привет. Спасибо за поддержку!

По поводу первичного сообщения - автор обратился ко мне, а я хочу обратиться к сообществу. Итак, ситуация - в бесплатной публичной библиотеке возникает сообщение и непонятно, почему оно возникает. Слабо разобраться? Код открыт и код на языке 1С. Сообщество может подключиться и ответить. Сам код здесь: https://github.com/EvilBeaver/oscript-library/tree/develop/src/v8runner/src

Да простят меня люди, но я скептически отношусь к публике Мисты, поскольку тут давно уже редко встречаются люди, которые делают что-то сами, зато полно тех, кто готов критиковать все и вся. Я буду очень рад ошибиться в этом мнении.
12 su_mai
 
20.10.15
15:53
(11) Привет Андрей! Да не за что :)
13 Asmody
 
20.10.15
15:54
(11) Молодец!  Хорошо начал, а под конец обосрался всем на головы.
14 Мыш
 
20.10.15
15:54
(11) Внутреннее потребление это одно. Продажа - другое.
15 Fragster
 
гуру
20.10.15
15:55
(11) ну так тебя же на эвенте спрашивали, когда будет отладчик? ;)

а то как в (7) надо делать...
16 EvilBeaver
 
20.10.15
15:56
(13) вот-вот, и терминология и отношение, Миста такая Миста :)
(14) Мыш, а разве кто-то что-то продает???
17 BigShmax
 
20.10.15
15:58
(11)   за продукт спасибо хоть и не взлетел.  постараюсь разобраться чё. Обидно что споткнулся на таком месте , ну на таком  где не спотыкаются.
18 Мыш
 
20.10.15
15:58
(16) О том и речь. Использовать продукт можно исключительно на свой страх и риск. Ушел знающий человек - всё. Ни поддержки, ни помощи. С кого спрашивать - неизвестно.
19 BigShmax
 
20.10.15
15:58
при чём уверен что сам косячу  но блин  где  в трех стркоах.
20 EvilBeaver
 
20.10.15
16:00
(19) я тоже пошел смотреть, я же обещал в почте. Разберемся)
21 Fragster
 
гуру
20.10.15
16:01
(20) ну, вставить в вывод ошибки текст выполняемой команды было бы логично, если пользователь этим текстом управляет только косвенно...
22 BigShmax
 
20.10.15
16:03
(20)  сорри, почту не читал :-) странно но  в процедуре

Процедура ПроверитьВозможностьВыполненияКоманды()

    Если Не ЗначениеЗаполнено(ПутьКПлатформе1С()) Тогда
        ВызватьИсключение "Не задан путь к платформе 1С";
    КонецЕсли;
    
    Лог.Отладка("Проверяю равенство КлючСоединенияСБазой() = КлючВременногоКонтекста() и Не ВременнаяБазаСуществует()");
    Лог.Отладка("КлючСоединенияСБазой() "+КлючСоединенияСБазой());
    Лог.Отладка("КлючВременногоКонтекста() "+КлючВременногоКонтекста());
    Лог.Отладка("ВременнаяБазаСуществует() "+ВременнаяБазаСуществует());
    
    Если КлючСоединенияСБазой() = КлючВременногоКонтекста() и Не ВременнаяБазаСуществует() Тогда
        Лог.Отладка("Равенство выполняется.");
        СоздатьВременнуюБазу();
    Иначе
        Лог.Отладка("Равенство не выполняется.");
    КонецЕсли;

КонецПроцедуры


всё логируется, а влоге ничего нет. как будьто туда и не попадает . но моя вставка лога срабатывает.   что то я недогоняю.
23 BigShmax
 
20.10.15
16:06
(18) Ты не прав.  имхо.

проект более чем интересен
24 EvilBeaver
 
20.10.15
16:06
(22) у лога есть уровни. Отладочные сообщения имеют низкий приоритет и по умолчанию стоит уровень Информация.

надо сделать так:

ЛогV8Runner = Логирование.ПолучитьЛог("oscript.lib.v8runner");
ЛогV8Runner.УстановитьУровень(УровниЛога.Отладка);
25 Fragster
 
гуру
20.10.15
16:11
(24) вам нужна обертка над rac?
26 pumbaEO
 
20.10.15
16:13
(25) да
27 pumbaEO
 
20.10.15
16:13
(25) над rac нам нужен ui ... или же загрузка конфигурации кластера из файла настроек.
28 EvilBeaver
 
20.10.15
16:13
(19) Все, я нашел. Ты неверно задаешь строку подключения. Там должен быть указан ключ как в команде запуска Конфигуратора.

Для файловой базы "/F"C:\1cdb"
Для серверной: "/Sserver\base"
Для твоего варианта со строкой соединения: "/IBConnectionString""Srvr=spirit:1541; Ref='upp'""
29 Fragster
 
гуру
20.10.15
16:15
(27) UI влом. В свое время думал сделать php1cadmin, но забил
30 EvilBeaver
 
20.10.15
16:15
(27) не так - нам нужно вообще все, что обертывает rac, если есть - делитесь!
31 rphosts
 
20.10.15
16:15
(1) Линукс много лет разрабатывался исключительно усилиями энтузиастов.
32 Гёдза
 
20.10.15
16:23
(31) но в это время никто не пихал его в продакшн
33 EvilBeaver
 
20.10.15
16:34
Итак, коллеги, вброс по поводу Слабо/не слабо остался без ответа) Ну да ладно. BigShmax сделал все по readme, но даже в readme бывают ошибки. Посмотрел в код и исправил документацию. Вопрос пяти минут, в этом и прелесть opensource. Ошибаются все, но любой может исправить и улучшить. V8Runner реально полезный скрипт. Кому надо, тот найдет, как использовать, а кому не надо - пусть дальше обновлять базы ручками.
34 EvilBeaver
 
20.10.15
17:03
(32) и никогда бы не запихал, если бы энтузиасты бросили этот проект. И сотни других
35 BigShmax
 
20.10.15
17:17
(32)  а Вы когда пишете под свои конфигурации как тестируете до продакшна?  Я вот потестирую на тестах, а потом и в продакшн. Не вижу ни одной предпосылки чтобы  сидеть ныть и гнобить то что не пробовали.
36 Новиков
 
20.10.15
17:31
(33) >> кому не надо - пусть дальше обновлять базы ручками.

Вброс очень годный, с учетом того, что в 2015 году, проблема обновлений множества баз зависит только от ленности самого обновлятора.
37 BigShmax
 
20.10.15
17:43
(36) не понял Вас.
38 EvilBeaver
 
20.10.15
18:54
(36) А это не вброс, это горькая трагичная правда. Количество обновляющих 1С ручками ужасающее.
39 Diversus
 
20.10.15
21:08
(38) Андрей, не удачный пример с обновлением. Погугли "обновлятор 1С". Отличный продукт, который сам качает апдейты с сайта 1с, сам бэкапит, сам обновляет и сам подтверждает легальность. Причём накатывает сразу кучу апдейтов.
1Script хорош в другом и респект тебе за него :)
40 pumbaEO
 
20.10.15
21:34
(39) я не доверю обновлятору свой "кроваый энтерпрайз"
41 EvilBeaver
 
21.10.15
09:35
(39) я ж не говорил, что он плохой. Просто, во-первых, про него знают только продвинутые 1С-ники (типа нас с тобой, ну и еще пары сотен:-) А 1С-ников вообще - сотни тысяч.

Ну и как сказал pumbaEO, в суровом энтерпрайзе свои законы. Там не получится "скачать, обновить и подтвердить легальность"
42 Гёдза
 
21.10.15
09:58
(33) А что, в8раннер умеет сам кнопку нажать "Да, мое обновление легально"?
43 pumbaEO
 
21.10.15
10:09
(42) нет, нормальные люди эту херню вырезают сразу.
44 EvilBeaver
 
21.10.15
10:15
(42) v8runner это класс в программе. Чувствуете разницу? Он умеет помочь вам запустить командную строку конфигуратора и упростить наиболее популярные действия автоматизации. Он, также, позволяет вам не искать нужный exe платформы, чтобы его запустить. Это программная обертка для запуска командного режима 1С. А по поводу кнопки "легально", есть куча способов и это автоматизировать. Например, послушайте pumbaEO, он дело говорит)
45 Гёдза
 
21.10.15
10:37
(43) Тогда единственное преимущество - это то что я не знаю как bat файл писать, а 1с могу?
Ибо в автоматизацию обновления измененных конфиг я верю слабо
46 Гёдза
 
21.10.15
10:38
Кстати нажатие кнопки для уф вполне можно автоматизировать
47 Fragster
 
гуру
21.10.15
10:39
(45) ну, тут тема такая - у тебя из типовой сделана свой поставка, которая стоит в 100500 местах. и её ты обновляешь целиком из командной строки по всем клиентам.
48 Fragster
 
гуру
21.10.15
10:40
а то самое "единственное преимущество" - оно по большому счету реально так, но вот идея как раз в том, чтобы не учить кучу всего. Так, например, появился серверный яваскрипт.
49 Гёдза
 
21.10.15
10:42
(48) в случае 1с не считаю это реальным преимуществом. Может конечно для работодателя так и есть, но для сотрудника - неизучение смежных областей - скорее минус
50 BigShmax
 
21.10.15
10:58
(18)  (32)   а тем временем  обновление работает, по сути 4мя строками в скрипте.   4 строки чистое обновление  без активных клиентов, перехожу к выгонялке.  Собсно затык был разобраться в строке подключения. совместными усилиями с автором разобрали, букварь поправили (он просто отстал немного от реалий)  и  следующий кто пойдёт по моим стопам  уже реально за 5-15 минут прочтения   о том что это такое  скачивания и инсталяции компилятора и 3 минут кодинга  сможет написать скрипт по обновлению.   Дай бог хватит времени  и выложу выгонялку, и будет автономный скрипт выгнать и обновить для всех. Инструмент супер, и если б его решило поковырять больше людей он взлетел бы, автор есть, на месте  , 100% адекват  скорость реакции лучше чем у платной поддержки, вот что интерес человеческий  в деле даёт :-)
51 BigShmax
 
21.10.15
11:00
(39)  у меня конфигураций на замочках  не очень много.  и что делает обновлятор не всегда известно. скрипт более прозрачен имхо.
52 Гёдза
 
21.10.15
11:01
(50) А не проще ли было скачать готовый bat, vbs файл?
53 Fragster
 
гуру
21.10.15
11:02
(50) за выгоняльщик - жди обертку над rac от меня ;)
54 Гёдза
 
21.10.15
11:03
(53) чем rac лучше чем ком объект создать?
55 BigShmax
 
21.10.15
11:03
(49)   тут проблема не в минус или плюс, на текущий момент у меня нет и не предвидится времени на изучение стороннего продукта, кризис на дворе  висит на мне обязанности почти трёх человек.
56 Fragster
 
гуру
21.10.15
11:04
(54) тем, что работает на линупсе, например.
57 Fragster
 
гуру
21.10.15
11:04
и по сети
58 BigShmax
 
21.10.15
11:05
(52) я не силён в vbs  а не разобрав что он делает не готов пускать его в продуктив

(53)   а расскажи что такое rac  и зачем мне обёртка от него :-)  а так  скрипт взял из ресурсов для всех, по договорённости с автором он мне помогает всегда и в чём сможет, а я всё что делаю выкладываю на общак.
59 Мыш
 
21.10.15
11:07
(58) Это сервер администрирования от 1С.
60 BigShmax
 
21.10.15
11:08
(59)   мля, тогда я хочу обёртку для rac :-)
61 Мыш
 
21.10.15
11:08
(53) Чем оборачиваешь? Повершеллом?
62 Fragster
 
гуру
21.10.15
11:09
(61) оскриптом ;)
63 Fragster
 
гуру
21.10.15
11:09
ну, может пэхэпой еще, для управления через веб
64 BigShmax
 
21.10.15
11:10
(62)    опять ты всё испортил :-)   (61)   расстроится щас
65 Мыш
 
21.10.15
11:10
(60) Ты прочитай сначала, может оно тебе не надо.

1C:Enterprise 8.3 Remote Administrative Client Utility ? '1C' 1996-2015
Утилита администрирования платформы 1С:Предприятие
Использование:
    rac help [options] [arguments]
Общие параметры:
    --version | -v
        получение версии утилиты
    --help | -? | -h
        отображение краткой информации об утилите
Общие аргументы:
    <host>[:<port>]
        адрес сервера администрирования (по-умолчанию: localhost:1545)
Режим:
    help (h)
        Отображение справочной информации для указанного режима.
Аргументы:
    MODE
        режим, для которого необходимо получить информацию о ключах командной строки
Поддерживаемые режимы:
help          Отображение справочной информации для указанного режима.
agent         Режим администрирования агента кластера серверов
cluster       Режим администрирования кластера серверов
manager       Режим администрирования менеджера кластера серверов
server        Режим администрирования рабочего сервера
process       Режим администрирования рабочего процесса
service       Режим администрирования сервиса менеджера кластера
infobase      Режим администрирования информационной базой
connection    Режим администрирования соединений
session       Режим администрирования сеансов информационных баз
lock          Режим администрирования блокировок
rule          Режим управления требованиями назначения
profile       Режим управления профилями безопасности кластера
66 Мыш
 
21.10.15
11:11
(64) Не надо домыслов. Я не религиозен в вопросах выбора средств программирования, администрирования, разработки.
67 BigShmax
 
21.10.15
11:30
(66)   ну и чудно.
68 EvilBeaver
 
21.10.15
12:32
(62) оскрипт обертка для rac! хочу-хочу-хочу!
(54) rac помимо кросс-платформенности еще и снимает конфликт версий между сервером и утилитой администрирования. То есть больше не будет ошибки "версия клиента не соответствует версии сервера" и можно безболезненно с одного рабочего места администрировать сервера на 8.3.5.1122, 8.3.5.2211 и 8.3.6

P.S. BigShmax - за адеквата спасибо! :):)
69 EvilBeaver
 
21.10.15
12:34
(63) Кстати, в oscript есть CGI режим, так что и управление через веб тоже можно запустить.
70 pumbaEO
 
21.10.15
12:35
(68) не всегда 8.3.4 и 8.3.6 не поадминишь, но в пределах мажорного релиза можно.
71 EvilBeaver
 
21.10.15
12:37
(70) мажорный релиз это тот, который восьмерка впереди?
72 Злопчинский
 
21.10.15
12:39
(50) а не проще для девелопера взять "Обновлятор" (чел сделал) и не морочиться? ;-)
73 Злопчинский
 
21.10.15
12:40
Вот был Снегопат.
Вроде активно пошел.
Но тут хрясь обилие платформ и снегопат уже плетется где-то в конце.
Не будет ли чегото подобного с онескриптом..? 1сина скоммуниздит идею и все.. асталависта бэби
74 EvilBeaver
 
21.10.15
12:50
(72) вы прицепились к идее обновления баз. У нормальных людей это уже давно есть. На каких угодно языках. Оскрипт это в первую очередь язык общего назначения, для разных задач. Хотите - можете веб-службу на языке 1С написать, причем без платформы, лицензий и всего вот этоговот. Это язык. А задача обновления базы - просто одна из первого что в голову приходит.

У нас непрерывная интеграция: Разрабы помещают в хранилище, сервер запускает скрипт синхронизации хранилища с git, потом прогоняет тесты, собирает релиз. Релиз, Карл! И мы разворачиваем релиз на dev контуре, на тестовом контуре пользователей, потом на боевом. И у нас это один релиз, один набор изменений, благодаря гиту мы знаем что в нем и кто авторы. С точностью до строчки кода. Вся эта автоматизация делается скриптами, которые любой 1С-ник в другом отделе может взять и адаптировать под свой процесс если хочет. Или он может что-то улучшить.

Если вы были на моем докладе в субботу, то я про все это подробно рассказывал. Тут речь не про обновление баз, это всего лишь пункт из общего списка.

А еще мы считаем цикломатическую сложность и количество копипасты в коде. Автоматом при сборке.
75 Злопчинский
 
21.10.15
12:55
(74) Был я на докладе, вникал.
Все хорошо, все зашибись.
особенно когда туева хуча народа в отделе сопровождения-разработки ;-)
.
Тихо лелею мысль.. что может быть.. когда-то.. и я что-нибудь использую.. но как-то все дальше я от программирования... ;-)
.
Всем успехов!
И больше всякого в репозитарии скриптов!
Чтобы "я" тупо взял проверенное/отлаженное и заюзал! как тупой девелопер... ;-)
76 pumbaEO
 
21.10.15
12:56
(75) у меня не "туева хуча народа в отделе сопровождения-разработки" но все равно использую.
77 EvilBeaver
 
21.10.15
13:03
(75) Спасибо за пожелания! У нас был в разработке этого я и Артур (тот самый который). Потом все этими наработками пользовались и доработки присылали. Здесь то же самое но в масштабах сообщества.
78 su_mai
 
22.10.15
04:31
(73) >1сина скоммуниздит идею и все.. асталависта бэби
Вот это даже смешно и грустно... :)
Есть конечно вариант купить Evila B., но я даже не знаю согласиться ли он? :)
79 spock
 
22.10.15
05:26
Не с точки зрения критики, понимания для: 1Script дает все те же возможности, что и любые другие скриптовые языки, но только на русском? Ни больше, ни меньше? И бинарники 1с никак не используются?
80 su_mai
 
22.10.15
05:46
(79) Ага, http://oscript.io/
81 su_mai
 
22.10.15
05:48
+(80) Сама по себе идея классная + открытые исходники + возможность участия в проекте... Даже не понимаю как 1script можно сравнивать с какой то очередной "обновлялкой" 1С.
82 su_mai
 
22.10.15
05:52
(81) По большому счету использование синтаксиса 1С, это просто для удобства пользователей, так как 1С весьма распространена.
83 spock
 
22.10.15
06:27
(80) Занятно! А что за организация такая на >22 тыс. чел, в которой проводится эксперимент? Можно на ушко :)
84 spock
 
22.10.15
06:29
+83 хы, vbs на русском - круто, конечно! Вам обязательно нужен логотип с подписью "Импортозамещение" :)
85 su_mai
 
22.10.15
07:53
(83, 84) не знаю, у него спроси...
86 EvilBeaver
 
22.10.15
12:06
(79) > 1Script дает все те же возможности, что и любые другие скриптовые языки, но только на русском? Ни больше, ни меньше? И бинарники 1с никак не используются?

Именно так.
87 BigShmax
 
10.11.15
14:20
(52)  а дайте ссыль на готовый  bat, vbs