Имя: Пароль:
1C
1С v8
Поиск по строкам таблицы
0 DeMi4
 
29.11.11
12:42
ПараметрыОтбора=Новый Структура;
       ПараметрыОтбора.Вставить("Код",ТЗ.Код);
       ТекЭлемент=Объект.Строки.НайтиСтроки(ПараметрыОтбора);

Колонка "код" есть в табличной части документа, но ошибка все равно вываливается.
1 rotting
 
29.11.11
12:42
какая ошибка?
2 DeMi4
 
29.11.11
12:44
Поле объекта не обнаружено (Код)

Вообще сама цель найти такой же код как в таблице значений
3 rotting
 
29.11.11
12:45
Тогда что такое ТЗ ?
4 DeMi4
 
29.11.11
12:46
ТЗ это таблица значений выполнение на сервере в тонком клиенте
5 rotting
 
29.11.11
12:46
Тебе нужно получить значение кода в СТРОКЕ ТЗ, а ты х"рню какую-то пишешь
6 rotting
 
29.11.11
12:46
вот это в мемориз "выполнение на сервере в тонком клиенте"))))
7 BuHu
 
29.11.11
12:47
(4) а позиционироваться на строке ТЗ не надо?
8 rotting
 
29.11.11
12:48
Для Каждого Стр Из ТЗ Цикл
   МойКод = Стр.Код;
КонецЦикла


Как-то так
9 DeMi4
 
29.11.11
12:48
7 как
10 DeMi4
 
29.11.11
12:48
СТЗ=0;
   Пока СТЗ+1<=ТЗ.Количество() Цикл
       ПараметрыОтбора=Новый Структура;
       ПараметрыОтбора.Вставить("Код",СтрокаТЗ.Код);
       ТекЭлемент=Объект.Строки.НайтиСтроки(ПараметрыОтбора);
       Если ТекЭлемент=Неопределено Тогда
           Сообщить("Не найдена строка с кодом "+СтрокаТЗ.код+"!!!");
           Возврат;
       Иначе
       ТекЭлемент=СтрокаТЗ.Сумма;
       Сообщить(ТекЭлемент.Код);
       КонецЕсли;
   СТЗ=СТЗ+1;
   КонецЦикла;
11 НЕА123
 
29.11.11
12:51
(10)
что это?
12 BuHu
 
29.11.11
12:51
(9) смтр.  (8)
13 rotting
 
29.11.11
12:51
(10) Так тоже можно, но проще использовать конструкцию Для Каждого...
14 rotting
 
29.11.11
12:52
(13) не))) нельзя)))) смотри (8)
15 DeMi4
 
29.11.11
12:53
а как в строке в колонку сумма сделать запись

   Для Каждого СтрТЗ из ТЗ Цикл
       ПараметрыОтбора=Новый Структура;
       ПараметрыОтбора.Вставить("Код",СтрТЗ.Код);
       ТекЭлемент=Объект.Строки.НайтиСтроки(ПараметрыОтбора);
       Если ТекЭлемент=Неопределено Тогда
           Сообщить("Не найдена строка с кодом "+СтрТЗ.код+"!!!");
           Возврат;
       Иначе
       ТекЭлемент.Сумма=СтрТЗ.Сумма; //Выдает ошибку поле объекта не обноружено
       КонецЕсли;
   СТЗ=СТЗ+1;
   КонецЦикла;
16 BuHu
 
29.11.11
12:55
(15) что у тебя ТекЭлемент?
17 BuHu
 
29.11.11
12:56
(16) поставить точку останова , посмотри есть ли у тебя СтрТЗ.Сумма и ТекЭлемент.Сумма
18 DeMi4
 
29.11.11
12:58
ТекЭлемент строка которая будет найдена тип массив из СП
19 НЕА123
 
29.11.11
13:06
BuHu - тебя разводят.
20 BuHu
 
29.11.11
13:06
(18) где найдена? что такое Объект ?
21 BuHu
 
29.11.11
13:07
(19) че это ?
22 DeMi4
 
29.11.11
13:08
Объект на форме
23 BuHu
 
29.11.11
13:08
(22) какой объект? у него тип есть?
24 DeMi4
 
29.11.11
13:12
Табличная часть
25 Kreont
 
29.11.11
13:16
Для Каждого СтрТЗ из ТЗ Цикл
       ПараметрыОтбора=Новый Структура;
       ПараметрыОтбора.Вставить("Код",СтрТЗ.Код);
       ТекЭлемент=Объект.Строки.НайтиСтроки(ПараметрыОтбора);
       Если ТекЭлемент.Количество() > 0 Тогда
// Тут надо перебрать масив результат
// Хотя если известно что результат если есть и только один, то можно так
// вписать, изменится причем значение в таблице исходной,
// а не только в результируещем массиве!!! :
ТекЭлемент[0].Сумма = СтрТЗ.Сумма;
           //Сообщить("Не найдена строка с кодом "+СтрТЗ.код+"!!!");
           //Возврат; Куда ????
       Иначе
           Сообщить("Не найдена строка с кодом "+СтрТЗ.код+"!!!");
       КонецЕсли;
///    СТЗ=СТЗ+1; ХЗ что такое
   КонецЦикла;
26 DeMi4
 
29.11.11
13:21
(25)Спасибо
27 aleks-id
 
29.11.11
13:34
мдэ. обходить тз в цикле и пересчитывать сумму это по-нашему
28 DeMi4
 
29.11.11
14:07
(27) в смысле? А что тут плохого предложено или сделано.
29 aleks-id
 
29.11.11
16:56
*пометил DeMi4 как копрокодера*
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший