|
|
Вопрос по ComОбъекту и Javascript |
☑ |
|
0
Cmyk32
01.12.11
✎
23:10
|
Доброй ночи) Подскажите. Работаю с яндекс-картами; пользователи импортируют файл со списком адресов, отображают на карте, вручную выбирают группу адресов и назначают им курьеров. Отмеченные адреса я добавляю в массив и функцией retTo1C() передаю в 1С. НО) Если проделать операцию 1 раз, то МассивЗаказов - содержит весь набор данных, при последующих обработках переменная не меняется. Почему? Может надо как-то "освободить" ComОбъект?
Процедура
МассивЗаказов = ЭлементыФормы.Карта.Документ.parentWindow.eval("retTo1C()");
//Переношу в список значений
СПСЗаказов = новый СписокЗначений;
Пока 1 = 1 цикл
Попытка СПСЗаказов.Добавить(МассивЗаказов[строка(инд)]);
Исключение
прервать;
КонецПопытки
КонецЦикла;
...
|
|
|
1
Ковычки
01.12.11
✎
23:11
|
ссылка поди
|
|
|
2
Cmyk32
01.12.11
✎
23:12
|
(1) Привет, поясни плиз
|
|
|
3
Cmyk32
02.12.11
✎
14:37
|
апчег
|
|
|
4
Buster007
02.12.11
✎
14:53
|
Пока 1 = 1 цикл
Попытка СПСЗаказов.Добавить(МассивЗаказов[строка(инд)]);
а вот это что?...
|
|
|
5
Cmyk32
02.12.11
✎
15:03
|
(4) Переношу из массив в список значений.
|
|
|
6
Buster007
02.12.11
✎
15:08
|
(5) а функция Количество() не работает?
|
|
|
7
Buster007
02.12.11
✎
15:09
|
+(6) или там массив не массив?)
|
|
|
8
Cmyk32
02.12.11
✎
15:46
|
(6) Не работает. МассивЗаказов - это COMОбъект. Никакой перебор не работает, поэтому такой нелепый цикл.
|
|
|
9
Ковычки
02.12.11
✎
15:49
|
ЭлементыФормы.Карта.Документ.parentWindow.eval("retTo1C().toString()");
|
|
|
10
Ковычки
02.12.11
✎
15:57
|
ЭлементыФормы.Карта.Документ.parentWindow.eval("var x=retTo1C();var y=x;"))
|
|
|
11
AlexTim03
02.12.11
✎
17:43
|
По поводу цикла: обычно у ComОбъекта есть метод lenght, соответственно цикл организуется.
После перебора присвоить МассивЗаказов = Неопределено.
А еще правильнее объявить в данной процедуре
Перем МассивЗаказов
и дальше с ней работать, при каждом вызове она заново будет инициализироваться
|
|
|
12
Cmyk32
02.12.11
✎
17:46
|
(9) Да ну. Со строкой работать?
|
|
|
13
Cmyk32
02.12.11
✎
17:51
|
(11) Не работает length. Ругается. А с "Перем" результата нет - попробовала. Спасибо
|
|
|
14
rs_trade
02.12.11
✎
18:35
|
Вот так работает Результат = Новый Массив; МассивЗаказов = Док.parentWindow.getOrderArray(Результат); В Javascript function getOrderArray(result) { result.add(1); result.add(2); result.add(3); return(result); }
|
|
|
15
Cmyk32
02.12.11
✎
18:49
|
(14) Андрей, спасибо, пробую
|
|
|
16
Cmyk32
06.12.11
✎
11:36
|
(14) Спааааасибо тебе!!)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший