Имя: Пароль:
1C
1С v8
Подскажите_вот такой код работает...
,
0 Ivan_495
 
23.11.13
17:05
Подскажите..
вот такой код работает
Для каждого ТекущаяСтрока из ОбъектРазбора.Товары цикл
ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
конеццикла;

как написать если название товары находится в переменной НазваниеТЧ?
пишу вот так не проходит -ошибка

для каждого ТекущаяСтрока из ОбъектРазбора[НазваниеТЧ] цикл
ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
    конеццикла;
1 vicof
 
23.11.13
17:07
для каждого ТекущаяСтрока из НазваниеТЧ цикл
ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
    конеццикла;
2 Конфигуратор1с
 
23.11.13
17:07
(0) что такое объект разбора? какая ошибка? где код выполняешь? уф/обычные?
3 Wobland
 
23.11.13
17:13
(1) хрен тебе. строка - не коллекция.
у автора дрянь в  НазваниеТЧ
4 Wobland
 
23.11.13
17:15
эмпирическое наблюдение, которое _ни разу_ не давало сбой: криво оформленный код является ошибочным
//я сейчас про конеццикла
5 Wobland
 
23.11.13
17:17
как там говорил один из местных?
медитируй над полным текстом ошибки. и да пребудет с тобой сила
6 Ivan_495
 
23.11.13
17:23
НазваниеТЧ имеет тип строка, там лежит "Товары"
7 Ivan_495
 
23.11.13
17:23
выполняю в общем модуле
8 Wobland
 
23.11.13
17:24
(7) продолжай осмысливать текст ошибки, мы болеем за тебя
9 Ivan_495
 
23.11.13
17:28
да там по русски написано " индекс за границами",.т.е
ОбъектРазбора[НазваниеТЧ] так писать нельзя, видимо нужно получить объект табличнучастьтовары, а как его получить?
10 Wobland
 
23.11.13
17:29
(9) так писать можно, оишбка не к этой строке. продолжай
11 Wobland
 
23.11.13
17:30
(10) или к этой. тогда ты точно врёшь
12 vicof
 
23.11.13
17:33
(0) Слышал про отладчик?
13 Ivan_495
 
23.11.13
17:33
да
14 rphosts
 
23.11.13
17:37
(13) установи галочку "остановка по ошибке" и кури код до просвеьления
15 Wobland
 
23.11.13
17:39
(14) это не спортивно. надо ждать более бородатых гуру
16 rphosts
 
23.11.13
17:43
(15) зато удобно, надёжно, практично!
17 Wobland
 
23.11.13
17:43
(16) стильно, модно, молодёжно?
18 rphosts
 
23.11.13
17:45
(17) молодёжно скоро будет требовать знаний и навыков посредством инъекции , т.е. без затрат времени и усилий.
19 Wobland
 
23.11.13
17:47
(18) скоро? @Katernia19_94
20 Wobland
 
23.11.13
17:47
@Katerina19_94
21 Wobland
 
23.11.13
17:47
ну как-то так ;)
22 vde69
 
модератор
23.11.13
17:48
мТЧ = ОбъектРазбора[СокрЛП(НазваниеТЧ)]
для каждого ТекущаяСтрока из мТЧ цикл
ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
конеццикла;
23 Wobland
 
23.11.13
17:49
(22) ага, помог
24 rphosts
 
23.11.13
17:52
(22) результатом первой строки кода будет коллекция?
25 vde69
 
модератор
23.11.13
17:54
(23) классическая ошибка когда в переменной лежит строка с пробелами, тогда сабж возникает.

строка с пробелами классически идет из реквизитов, а еще чаще из наименования справочника.

по этому с большой долей вероятности код в 22 будет работать.

ну и потом всем известно что магические цифры 22 всегда помогают :)
26 Wobland
 
23.11.13
17:58
(25) как-то не доводилось встречать строковые реквизиты, хранящие имена каких-то метаданных.. да, (22) может взлететь, но только у людей, не имеющих ошибку в ДНК
27 Песец
 
23.11.13
18:00
Для Каждого ТекущаяСтрока Из ОбъектРазбора["СюдаСкопипаститьНазваниеТабчастиИзКонфигуратора"] Цикл
Сообщить(ТекущаяСтрока.НомерСтроки)
КонецЦикла;

?
28 vde69
 
модератор
23.11.13
18:01
(26) бухгалтерии 1.0 и 2.0 с их настройками проводок не видел?
бухгалтерия 3. с ее обменами ?

да полно где такой подход используется...
29 Wobland
 
23.11.13
18:04
(28) только третью БП руками трогал, но не всю. я к тому, что человек, работающий с более-менее сложными вещами, способен отладить сам.а так как у автора не хватает мощности мозга, то причина ошибки весьма тупая
30 vde69
 
модератор
23.11.13
18:08
(29) да в том то и дело, что пробелы не сразу видны, в отладчике строка "Товары    " очень большим количеством людей воспримется как "Товары", по тому что в том-же SQL запросе реквизитСодержащийСтрокуСПробелами = "Товары" выдаст истину
31 Wobland
 
23.11.13
18:10
(30) хошь пари? дело не в пробелах ;)
32 vde69
 
модератор
23.11.13
18:16
(31) проиграешь :)

учитывая "индекс за границами", объект коллекция просто индекс кривой, даже если у автора там например перечисление, то мой код будет работать из за неявного приведения типов...
33 rphosts
 
23.11.13
18:24
(31) в общем ты действительно проиграешь
34 rphosts
 
23.11.13
18:26
+ (33) кроме того случая когда в переменной не левое имя.
35 Wobland
 
23.11.13
18:33
(32) дык да или нет?
я думаю про (34) плюс меня поддерживают некие метафизические измышления ;)
36 vde69
 
модератор
23.11.13
18:39
(35) идет...

учитывая, что в (0) явно написано
"название товары находится в переменной НазваниеТЧ"
37 Wobland
 
23.11.13
18:44
предмет пари? какие-нибудь символические 1024 копейки (учитывая разные города)?
только автор уже ушёл..
38 rphosts
 
23.11.13
19:24
(36) кому и синоним = название
39 hhhh
 
23.11.13
23:14
(25) в наименовании в конце не бывает пробелов.
40 rphosts
 
24.11.13
06:45
(39) да кто знает что там за текст и откуда взятый у ТС в переменной
Основная теорема систематики: Новые системы плодят новые проблемы.