|
v7: VBA из 1С |
☑ |
0
monsterZE
29.07.21
✎
19:18
|
Странности - во внешней обработке код работает.
Вставляю на форму списка - валится при вызове .run
|
|
1
monsterZE
29.07.21
✎
19:18
|
Сам контрол создается
|
|
2
monsterZE
29.07.21
✎
19:30
|
Перенес в обработку - работает..
|
|
3
monsterZE
29.07.21
✎
19:33
|
Т.е. если открывать через ОткрытьФорму("Обработка.ТестВБА", ХХХ);
А через кнопку на форме справочника, например, нет.
|
|
4
ДедМорроз
30.07.21
✎
03:17
|
У вас точно vba
А не MsScriptControl для выполнения VbScript?
Ну и ошибку привести тоже бы не плохо.
Опять же,код может грузиться из файла,получая путь к файлу из пути к файлу внешней обработки.
|
|
5
monsterZE
30.07.21
✎
09:19
|
(4) мон пардон, конечно MSScriptControl
|
|
6
monsterZE
30.07.21
✎
09:20
|
scriptCtrl = СоздатьОбъект("MSScriptControl.ScriptControl");
scriptCtrl.Language="jscript";
|
|
7
monsterZE
30.07.21
✎
09:22
|
Многострадальный парсинг json )
Заканчивал свою работу на строке: Рез = scriptCtrl.run("parseJSON", Стр);
Без описания ошибки.
|
|
8
MarySue
05.08.21
✎
10:20
|
Перед тем, как передавать строку в парсинг, неплохо бы её тупо проверить на форма.
Причём подойдёт самая тупая проверка - на наличие открывающей фигурной скобки в первой позиции строки, а также наличие закрывающей фигурной скобки в последней позиции.
Если (Лев(Стр, 1) = "{") И (Прав(СокрЛП(Стр), 1) = "}") Тогда
//это JSON
Иначе
Сообщить("Получен ответ, не являющийся строкой в формате JSON: "+СокрЛП(Стр), "!");
Возврат 0;
КонецЕсли;
|
|
9
MarySue
05.08.21
✎
10:22
|
*проверить на формат
|
|