![]() |
![]() |
|
Ошибка в модуле внешнего соединения | ☑ | ||
---|---|---|---|---|
0
LeshiyL
27.01.12
✎
06:02
|
Всем привет!
Есть простейший код: ТЗ=Новый ТаблицаЗначений; Для К=1 по 10 Цикл ТЗ.Колонки.Добавить("Кол"+К); КонецЦикла; Н=0; Для К=1 по ТЗ.Колонки.Количество() Цикл Н=Н+1; КонецЦикла; который в модуле внешнего соединения вызывает ошибку. Если быть более точным то ошибку вызывает попытка получить количество колонок ТЗ. А как с этим бороться? |
|||
1
Cube
27.01.12
✎
06:05
|
Текст ошибки в студию.
|
|||
2
ZanderZ
27.01.12
✎
06:05
|
ошибка то какая ?
|
|||
3
Wobland
27.01.12
✎
06:15
|
все помнят, что нумерация с нуля? хотя, в коде, конечно, пофих
|
|||
4
LeshiyL
27.01.12
✎
06:18
|
Текст ошибки канешно интересно было бы посмотреть только как его из внешнего соединения достать? :)
|
|||
5
LeshiyL
27.01.12
✎
06:19
|
В обычном модуле все работает и не пищит
|
|||
6
ZanderZ
27.01.12
✎
06:53
|
(4) как узнал что именно на "ошибку вызывает попытка получить количество колонок ТЗ"
|
|||
7
Cube
27.01.12
✎
06:54
|
(6) +1
|
|||
8
Cube
27.01.12
✎
06:59
|
Так попробуй:
ЛогФайл = Новый ТекстовыйДокумент; ИмяЛогФайла = "C:\111.txt"; ТЗ=Новый ТаблицаЗначений; ЛогФайл.ДобавитьСтроку("Точка1"); ЛогФайл.Записать(ИмяЛогФайла); Для К=1 по 10 Цикл ЛогФайл.ДобавитьСтроку("Точка2_" + К); ЛогФайл.Записать(ИмяЛогФайла); ТЗ.Колонки.Добавить("Кол"+К); КонецЦикла; ЛогФайл.ДобавитьСтроку("Точка3"); ЛогФайл.Записать(ИмяЛогФайла); Н=0; Для К=1 по ТЗ.Колонки.Количество() Цикл ЛогФайл.ДобавитьСтроку("Точка4_" + К + "_" + Н); ЛогФайл.Записать(ИмяЛогФайла); Н=Н+1; КонецЦикла; |
|||
9
LeshiyL
27.01.12
✎
07:29
|
(8)
ну это только позволяет узнать на какой строке спотыкается, о чем я сказал еще в самом начале, что ошибка при попытке узнать количество колонок |
|||
10
LeshiyL
27.01.12
✎
07:31
|
завел переменную значение колонок менял через каждую строку кода ну когда прога падала в исключение то возвращала значение этой переменной
|
|||
11
Wobland
27.01.12
✎
07:34
|
(10) и что там было?
|
|||
12
LeshiyL
27.01.12
✎
07:36
|
(11) то что вылитает в исключение на строке ТЗ.Колонки.Количество()
а вот почему вылетает и именно когда эта строка в модуле внешнего соединения вот в этом большой вопрос |
|||
13
Wobland
27.01.12
✎
07:36
|
(12) в переменной что было?
|
|||
14
Cube
27.01.12
✎
07:37
|
(12) ОписаниеОшибки()?
|
|||
15
БибиГон
27.01.12
✎
07:37
|
зачем вот это - ТЗ.Колонки.Количество() в цикле?
|
|||
16
LeshiyL
27.01.12
✎
07:39
|
(15) приходится работать с динамически формирующейся ТЗ у которой в зависимости от входных параметров функции разное количество колонок
|
|||
17
Escander
27.01.12
✎
07:41
|
(16) в том смысле сто предлагают перед циклом 1 раз прочитать их количество
|
|||
18
Escander
27.01.12
✎
07:43
|
да и вообще вместо
Н=0; Для К=1 по ТЗ.Колонки.Количество() Цикл Н=Н+1; КонецЦикла; должно быть Н=ТЗ.Колонки.Количество(); |
|||
19
LeshiyL
27.01.12
✎
07:52
|
Интересно, но вот так пролезло:
КолКолонок=ТЗ.Колонки.Количество(); Для К=0 по КолКолонок Цикл Н=Н+1; КонецЦикла; хотя какая бы ему разница... |
|||
20
Escander
27.01.12
✎
07:56
|
(19) может при наборе имени в 1 литере ошибся? типа ну пусть русс/eng литера "о" или "З"-"3" внешне похожи
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |