Вход | Регистрация



Обращение к строке таб части

Обращение к строке таб части
Я
   Rossovich
 
15.09.16 - 22:54
Добрый вечер. Подскажите пожалуйста как решить сл. задачу.
При открытии документа, нужно заполнить в таб части определенные реквизиты.
Нахожу нужную строку в таб части через поискстрок получаю массив. а как обратится к этой найденной строке и изменить зн-е реквизита?
 
 
   jsmith
 
1 - 15.09.16 - 22:58
УФ?
   jsmith
 
2 - 15.09.16 - 22:58
Модифицировать документ при открытии разве не варварство?
   hhhh
 
3 - 15.09.16 - 22:59
что за поискстрок?
   jsmith
 
4 - 15.09.16 - 22:59
НайтиСтроки по ходу
   Rossovich
 
5 - 15.09.16 - 23:00
Точно, найтиСтроки
   Rossovich
 
6 - 15.09.16 - 23:01
(2) а когда лучше его модифицировать?
   jsmith
 
7 - 15.09.16 - 23:03
(6) Ну как бы предполагается, что пользователь создает документ, заполняет его и записывает, а при следующем открытии любые изменения опять же вносятся с инициативы пользователя.
   Михаил Козлов
 
8 - 15.09.16 - 23:04
В модуле объекта в ПередЗаписью.
Вы лучше напишите, что содержательно Вы хотите сделать.
   Rossovich
 
9 - 15.09.16 - 23:07
При открытии документа , руководитель хочет видеть какие товары какие статусы имеют, я считываю из регистра статус товара.в таб части нужно поставить нужный статус
   Rossovich
 
10 - 15.09.16 - 23:09
ТО есть эти данные только для информации и в документе не хранятся
 
 Рекламное место пустует
   jsmith
 
11 - 15.09.16 - 23:09
(9) Ну это не таб. часть заполнять надо, а данные формы, не связанные с объектом
Добавить в Объект.Товары новый реквизит в форме.
Это уж если быть формалистом.
   zak555
 
12 - 15.09.16 - 23:10
> олучаю массив. а как обратится к этой найденной строке и изменить зн-е реквизита?

мас[0].МояКолонка = 1;
   Rossovich
 
13 - 15.09.16 - 23:10
именно так и сделал, как к нему обратиться?
   jsmith
 
14 - 15.09.16 - 23:11
МассивСтрок = Объект.Товары.НайтиСтроки(Отбор);
Для Каждого Строка Из МассивСтрок Цикл
Строка.Статус = ПолучитьСтатус(Строка); 
КонецЦикла;
   jsmith
 
15 - 15.09.16 - 23:12
МассивСтрок = Объект.Товары.НайтиСтроки(Отбор);
Если МассивСтрок.Количество() > 0 Тогда
МассивСтрок[0].Статус = Значение;
КонецЕсли;
   zak555
 
16 - 15.09.16 - 23:13
(9) т.е. в табличном поле только данные регистра или ещё данные документа ?
   Rossovich
 
17 - 15.09.16 - 23:14
(14) Я статусы все запросом получил, и хотелось бы без цикла по всем строкам, то есть нашел номенклатуру в таб части поставил статус.
(16) и данные документа
   jsmith
 
18 - 15.09.16 - 23:15
Без цикла не получится.
   zak555
 
19 - 15.09.16 - 23:16
(17) данные в табличном поле какие -- данные табличной части документа :?
   Rossovich
 
20 - 15.09.16 - 23:18
(18) После запроса получаю тз "Товар*статус*
Беру из тз товар, нахожу в таб части и проставляю статус.
В таб части добавлен реквизит *колонка* статус.
Я нахожу нужную мне строку в таб части, а как потом к ней обратиться не знаю
   jsmith
 
21 - 15.09.16 - 23:20
Так трудно?
   zak555
 
22 - 15.09.16 - 23:22
(20) тогда записывать тебе надо в обработчике записи формы
   jsmith
 
23 - 15.09.16 - 23:24
Не, думаю, Статус это не реквизит ТЧ
   Rossovich
 
24 - 15.09.16 - 23:25
(23) все верно
   jsmith
 
25 - 15.09.16 - 23:32
Отбор = Новый Структура("Номенклатура");
Для Каждого Стр Из ТЗ Цикл
Отбор.Номенклатура = Стр.Номенклатура;
МС = Объект.Товары.НайтиСтроки(Отбор);
Для Каждого СтрМС Из МС Цикл
СтрМС.Статус = Стр.Статус;
КонецЦикла;
КонецЦикла;

Пойдет?
   Rossovich
 
26 - 15.09.16 - 23:34
*так отработало все верно, просто я с переменной напутал. спасибо  jsmith.
Для Каждого стртз из ТЗ_Документов цикл
            текСтатус=стртз.Статус;
            ПараметрыОтбора=Новый Структура;
            ПараметрыОтбора.Вставить("Услуга",стртз.услуги);
            массивСтрок=Объект.Услуги.НайтиСтроки(ПараметрыОТбора);
            массивСтрок[0].Статус=ТекСтатус;
КонецЦикла
   Rossovich
 
27 - 15.09.16 - 23:42
(25) я не хотел использовать два цикла
   jsmith
 
28 - 15.09.16 - 23:51
(27) Религия мешает?
   Rossovich
 
29 - 16.09.16 - 00:06
(28) Так учили, циклы это вред, быстродействие и т. п.
   jsmith
 
30 - 16.09.16 - 00:09
(29) Ох уж эти сказочники.
   jsmith
 
31 - 16.09.16 - 00:11
А если в таб. части 2 строки с одинаковой номенклатурой? Пофигу - главное, чтобы на 0,00000000001 сек. быстрее отработало.
   Rossovich
 
32 - 16.09.16 - 00:12
(31) двух строк не может это проверяется на этапе ввода документа.
   jsmith
 
33 - 16.09.16 - 00:13
(32) Ну, это понятно.
 
 
   Rossovich
 
34 - 16.09.16 - 00:16
помню на экзамене по 7,7 за лишний цикл стучали по шапке.
   DDwe
 
35 - 16.09.16 - 04:02
(34) Глупости говорите.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует