v7: переменная не объявлена как массив в условие запроса #260644


#0 by ZanderZ
когда передаю в запрос в Условие (+Стр; при выполнении ругается ПЕРЕМЕННАЯ НЕ ОБЪЯВЛЕНА КАК МАССИВ (Сотр)!!!!!!
#1 by Zmich
. В отладчике посмотри, какой у тебя сформировался текст запроса. Лажа там полная всяко.
#2 by ZanderZ
в отладчике Сотр[н]=Сотрудники.ПолучитьЗначение(н) заполняется Сотрами а при выполнении ругается
#3 by Морозов Александр
НУ а нафиг ты ее обнуляеш?
#4 by ZanderZ
Морозов Александр ты про что???
#5 by Морозов Александр
если надо обнулить массив ДЛя х=1 По 1000 Цикл Сотр[х]="";
#6 by Zmich
. Зачем такой изврат? Напиши просто ТекстЗапроса = ТекстЗапроса + "Условие (Объект в Сотрудники);"
#7 by ZanderZ
Дело в том что если передать Объект в Сотрудники время выполнение с Журналом расчета намного больше чем если передать просто в переменных !!!! причем на много!!!
#8 by ZanderZ
Морозов Александр массив не обнулять а заполнять сотрами
#9 by Морозов Александр
убери
#10 by ZanderZ
Морозов Александр да Стр это не массив а строка для условия если не обнулить там хрень всякая будет а должно быть (Объект=Сотр[1]) или (Объект=Сотр[2]).....
#11 by Zmich
. Ну а строка типа Перем Сотр[1000]; в коде у тебя есть?
#12 by ZanderZ
Да конечно !!!
#13 by Морозов Александр
а что без массива никак?
#14 by ZanderZ
ну если есть идея передачи списков переменных (кроме использования списка значений) то буду рад!!!
#15 by Морозов Александр
ну поподробней опиши задачу
#16 by Морозов Александр
во всяком случае можно сделать тоже самое тока через список
#17 by Zmich
. Ошибки с русской/английской раскладкой быть не может? Может быть, в "Сотр" буква "С" английская?
#18 by ZanderZ
Есть запрос на Журнал Расчетов типа: Если передается одно значение тогда нормально п овремени выполнения, а если несколько то при условии (Объект в Сотрудники) выполнение на много дольше чем если например (Объект=Сотр1) или (Объект=Сотр2)..... Zmich нет ошибки нет все на русской раскладке сто раз проверял и копировал одно в другое...
#19 by Морозов Александр
ну а нафиг тогда массив всеравно не понимаю?
#20 by ZanderZ
Морозов Александр ну а как если СписокЗначений не использовать ?????
#21 by Zmich
Попробуй не через массив, а через Шаблон
#22 by Zmich
Сорри, съехало. Вот здесь, в общем:
#23 by ZanderZ
ну это просто присваивание а как запрос поймет переменные???? как их определить??? я же не знаю сколько их у меня за ранее
#24 by Морозов Александр
#25 by Морозов Александр
а нее...
#26 by ZanderZ
ну так у тебя пр ивыполнении в СотрВЗапрос всегда будет последний человек т.к. СотрВЗапрос одна переменная!!!!
#27 by Морозов Александр
да да...
#28 by ZanderZ
ну таки будет предложения !!!!! очень надо !!!! база свыше 5000 человек поэтому время сокращения работы ОЧЕНЬ ОЧЕНЬ нуно!!!!
#29 by Побрекито
попробуй объяви как переменную модуля, а не процедуры
#30 by ZanderZ
неа не помагает эта процедура в Глобальнике ....
#31 by Zmich
. Кстати, да, должно получиться.
#32 by ZanderZ
нет не получается в глобальном модуле :(
#33 by Zmich
. Массив объяви как переменную глобального модуля.
#34 by ZanderZ
ну так и сделал тоже самое выдает!!!
#35 by Zmich
+ По крайней мере, во внешней обработке всё работает с массивом (если объявить как переменную модуля, а не процедуры), только что проверил.
#36 by Побрекито
задай в запросе переменную КодСотра  и сделай условие по кодам    Стр="";
#37 by Побрекито
пардон, переменнаяя запроса должна тут называться КодОбъекта
#38 by Морозов Александр
да ... действительно запрос нехотит с массивом работать
#39 by Побрекито
замерь время выполнения варианта, предложенного в , а затем сделай вариант с простым условием  (Объект в Сотрудники)  и тоже замерь любопытно узнать результат.  Имхо, вся эта возня не стоила этого.
#40 by ZanderZ
Если Объект в Сотрудники время выполнения с 2-я сотрами- 2мин. 42 сек. Если по то - около 3 секунд!!!!! причем оба раза выгружал в ТЗ и сравнивал-все одинаково!!!!
#41 by Побрекито
круто
#42 by ZanderZ
ну а так как использовать массив в глобальном запросе может кто знает, в другом месте работает а в глобальнике нет !!!
#43 by Морозов Александр
я пробывал в расчетных листаках... нифига
#44 by ZanderZ
не если поставить как кпеременную модуля а не процедуры то пашет...а вот в глобальном - нет
#45 by Морозов Александр
ну чтож возьмем на заметку...
#46 by ZanderZ
Спасибо всем!!!
#47 by Ёпрст2
Всё равно невкурил, нах там массив сдался?, когда в тексте запроса всё равно строка будет вида (объект=<знач1>)илиилиили.... Нахрена там из списка массив делать? ...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С