|
ТЗ.Свернуть() не работает: Обращение к процедуре объекта как к функции | ☑ | ||
---|---|---|---|---|
0
Poez9
24.11.14
✎
15:52
|
ТЗСпец = Новый ТаблицаЗначений;
ТЗСпец.Колонки.Добавить("Номенклатура"); ТЗСпец.Колонки.Добавить("Количество"); Для каждого эл из ТЗ Цикл НоваяСтрока = ТЗСпец.Добавить(); НоваяСтрока.Номенклатура = эл.Номенклатура; НоваяСтрока.Количество = эл.Количество; КонецЦикла; КонецЦикла; ТЗСпец.Свернуть("Номенклатура","Количество"); ТЗ формируется в цикле. Это выгруженные результаты запросов. И каждый раз это новая ТЗ. Все ТЗ я выгружаю в итоговую ТЗСпец и сворачиваю. В результате ошибка."Обращение к процедуре объекта как к функции " Не могу понять, в чем дело. Подскажите, кто сталкивался, как боролись? |
|||
1
vicof
24.11.14
✎
15:54
|
В какой строке?
|
|||
2
фобка
24.11.14
✎
15:55
|
Конеццикла два раза почемуто
|
|||
3
Poez9
24.11.14
✎
15:57
|
(2) копировал,не удалил
(1) в последней. ТЗСпец.Свернуть |
|||
4
pessok
24.11.14
✎
15:59
|
(3) да что-то ты нам не тот кусок кода даешь. в представленном все норм, акромя КонецЦикла
|
|||
5
фобка
24.11.14
✎
15:59
|
(3) не верю
|
|||
6
dk
24.11.14
✎
15:59
|
; где-то забыл
|
|||
7
vicof
24.11.14
✎
16:00
|
видимо там ТЗСпец = ТЗСпец.Свернуть("Номенклатура","Количество");
|
|||
8
pessok
24.11.14
✎
16:02
|
(7) если только так
|
|||
9
ukolabrother
24.11.14
✎
16:07
|
Вообще надо было проще сделать.
ТЗСпец = ТЗ.Скопировать(); ТЗСпец.Свернуть("Номенклатура", "Количество"); |
|||
10
wertyu
24.11.14
✎
16:08
|
(3) тогда скопируй как у тебя на самом деле или там у тебя секретный код
|
|||
11
wertyu
24.11.14
✎
16:09
|
(9) ТЗСпец = ТЗ.Скопировать(, "Номенклатура, Количество");
|
|||
12
Poez9
24.11.14
✎
16:12
|
(9),(11) попробую.
Если не прокатит,выложу полный код |
|||
13
Poez9
24.11.14
✎
16:20
|
(9)я, копируя, затираю предыдущие данные. А мне надо дописывать к существующим.
вот код: ТЗСпец = Новый ТаблицаЗначений; ТЗСпец.Колонки.Добавить("Номенклатура"); ТЗСпец.Колонки.Добавить("Количество"); Для каждого стр из Полуфабрикаты Цикл Для каждого эл из РассчитатьИзПолуфабрикатов(стр.Номенклатура)Цикл НоваяСтрока = ТЗСпец.Добавить(); НоваяСтрока.Номенклатура = эл.Номенклатура; НоваяСтрока.Количество = эл.Количество; КонецЦикла; КонецЦикла; ТЗСпец.Свернуть("Номенклатура","Количество"); РассчитатьИзПолуфабрикатов(стр.Номенклатура) - возвращает ТЗ, в которой результат запроса. |
|||
14
Крошка Ру
24.11.14
✎
16:20
|
(13) На это тоже ошибку выдаёт?
|
|||
15
Poez9
24.11.14
✎
16:21
|
да я ничего не поменял. Всё как и было. Ошибка на "Свернуть..."
|
|||
16
Euguln
24.11.14
✎
16:26
|
(15) А точно ошибка именно на этом "Свернуть", может где ещё есть, например в РассчитатьИзПолуфабрикатов?
|
|||
17
Poez9
24.11.14
✎
16:28
|
(16) я отладчиком построчно смотрю.
РассчитатьИзПолуфабрикатов возвращает ТЗ. вот последние строки из функции: Результат = Запрос.Выполнить().Выгрузить(); Запрос.МенеджерВременныхТаблиц.Закрыть(); Возврат Результат; |
|||
18
Euguln
24.11.14
✎
16:28
|
а у тебя в отладчике в окне вызова никакого мусора не торчит?
|
|||
19
Крошка Ру
24.11.14
✎
16:29
|
(17) Удали все между
КонецЦикла; и ТЗСпец.Свернуть("Номенклатура","Количество"); |
|||
20
Poez9
24.11.14
✎
16:30
|
(18) нет))
сейчас попробовал Результат свернуть еще до возврата из функции - не сворачивает по той же ошибке. Что за хрень? |
|||
21
Euguln
24.11.14
✎
16:31
|
(20) как попробовал? В отладчике?
|
|||
22
Poez9
24.11.14
✎
16:32
|
(21) да
|
|||
23
Euguln
24.11.14
✎
16:33
|
(22) молодец ))))
|
|||
24
Крошка Ру
24.11.14
✎
16:33
|
(20) В запросе случайно временные таблицы не используешь?
|
|||
25
Poez9
24.11.14
✎
16:33
|
что не так?
|
|||
26
Poez9
24.11.14
✎
16:33
|
(24) использую
|
|||
27
Бледно Золотистый
24.11.14
✎
16:33
|
(20) Там точки останова с условием не стоит?
|
|||
28
Euguln
24.11.14
✎
16:34
|
(25) прямо вот так в окне вызова пишешь ТЗСпец.Свернуть("Номенклатура","Количество")?
|
|||
29
YFedor
24.11.14
✎
16:35
|
(22) Так это в табло отладчика ошибку выдает?
|
|||
30
Poez9
24.11.14
✎
16:36
|
Не знаю почему,может кто-то объяснит. Всё сработало сейчас. Хотя упорно отладчик продолжает выдавать ошибку. Всем спасибо за идеи.
|
|||
31
Euguln
24.11.14
✎
16:36
|
(30) Учись отладчиком пользоваться, смотри просто ТЗСпец
|
|||
32
YFedor
24.11.14
✎
16:37
|
(30) Ты все-таки скажи ошибка в отладчике выходит или при работе в режиме Предприятие?
|
|||
33
Ненавижу 1С
гуру
24.11.14
✎
16:38
|
(30) хватит мучать отладчик, ну не сможет он тебе показать результат работы процедуры по причине его отсутствия
|
|||
34
Poez9
24.11.14
✎
16:38
|
в отладчике.
|
|||
35
YFedor
24.11.14
✎
16:38
|
(34) И в чем проблема? Все правильно, чего ты хочешь-то?
|
|||
36
Diman000
24.11.14
✎
16:38
|
(30) Ясное дело, в табло отладчика или в окне будет эта ошибка.
|
|||
37
Poez9
24.11.14
✎
16:38
|
(30) не понял. По причине чьего отсутствия?
|
|||
38
YFedor
24.11.14
✎
16:39
|
(37) Разницу между процедурой и функцией знаешь?
|
|||
39
Diman000
24.11.14
✎
16:39
|
(37) Отсутствия возвращаемого результата.
|
|||
40
Бледно Золотистый
24.11.14
✎
16:39
|
(37) возвращенного значения после отработки процедуры
|
|||
41
Euguln
24.11.14
✎
16:39
|
(37) В отладчике можно смотреть значения переменных и функций.
|
|||
42
Poez9
24.11.14
✎
16:39
|
раньше не сталкивался с таким. Хотя часто какую-то мелочь смотрю таким образом в отладчике до того,как написать.
|
|||
43
Poez9
24.11.14
✎
16:41
|
Вы не правильно поняли. Я ж не результат функции смотрю. Результат есть. Я отладчиком смотрю уже последнюю строчку после того,как функция отработала
|
|||
44
YFedor
24.11.14
✎
16:41
|
(42) Ты скажи, чего ты хотел получить от указания в табло МояТаблица.Свернуть()?
|
|||
45
Diman000
24.11.14
✎
16:41
|
(42) Ты смотрел значения переменных. А тут пытаешься вызывать процедуру.
|
|||
46
Euguln
24.11.14
✎
16:42
|
(43) Это ты не понял, нельзя смотреть результат ТЗСпец.Свернуть("Номенклатура","Количество"), его просто нет. Результат содержится в переменной ТЗСпец.
|
|||
47
Poez9
24.11.14
✎
16:47
|
Спасибо! Век живи-век учись))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |