Имя: Пароль:
1C
1С v8
Выводить данные колонки которая не является реквизитом (8.1)
0 denis200
 
11.10.11
14:26
В процедуре при выводе строки я пишу:
ОформлениеСтроки.Ячейки.Подразделение.УстановитьТекст(Выборка.Местонахождение);

Вот так если делаю, то выводятся данные для всех строк этой колонки.

А как делать, чтобы выводились данные только для конкретной строки?
1 vicof
 
11.10.11
14:27
И по какому условию хочешь отбирать?
2 butterbean
 
11.10.11
14:28
условие добавь
3 YurOK_51
 
11.10.11
14:28
УСЛОВИЕ
4 denis200
 
11.10.11
14:35
Ну вот есть в табличной части много строк. Есть основное средство - это реквизит табличной части. А есть местонахождение этого основного средства - это не реквизит но на форме выводится берётся запросом. Строка = ЭлементыФормы.ОС.ТекущиеДанные; (Строка.ОсновноеСредство - это параметр запроса)

Вот я пишу код:
Строка = ЭлементыФормы.ОС.ТекущиеДанные;
далее запрос
далее
Пока Выборка.Следующий() Цикл
       ОформлениеСтроки.Ячейки.Подразделение.УстановитьТекст(Выборка.Местонахождение);
КонецЦикла;

Таким образом щас что получается. Где-то что изменилось и сразу во всех строках меняется. Каким образом мне изменить код, чтобы менялась только одна строка.
5 vicof
 
11.10.11
14:37
см (1-3). Как определяешь строку, в которой надо что-либо изменить?
6 denis200
 
11.10.11
14:38
(5) Если номенклатура изменилась то значит тогда и второй случай когда пользователь только открыл форму документа. Там она задействуется.
7 vicof
 
11.10.11
14:52
запоминай номенклатуру до изменения и сравнивай в выборке текущую и запомненную
8 denis200
 
11.10.11
15:03
Если ОформлениеСтроки.Ячейки.НомерСтроки.Значение = Строка.НомерСтроки Тогда
       Сообщить(Строка.НомерСтроки);
       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       |    МестонахождениеОССрезПоследних.Местонахождение,
       |    МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение КАК Местонахождение1
       |ИЗ
       |    РегистрСведений.МестонахождениеОС.СрезПоследних(&Дата, ОсновноеСредство = &ОС) КАК МестонахождениеОССрезПоследних,
       |    РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(
       |            &Дата,
       |            ОсновноеСредство = &ОС
       |                И Организация = &Организация) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних";
       Запрос.УстановитьПараметр("ОС", Строка.ОсновноеСредство);
       Запрос.УстановитьПараметр("Дата", МоментВремени());
       Запрос.УстановитьПараметр("Организация", Организация);
       Выборка = Запрос.Выполнить().Выбрать();
       Пока Выборка.Следующий() Цикл
           ОформлениеСтроки.Ячейки.Подразделение.УстановитьТекст(Выборка.Местонахождение);
           ОформлениеСтроки.Ячейки.ПодразделениеОрганизации.УстановитьТекст(Выборка.Местонахождение1);
       КонецЦикла;
   КонецЕсли;

Вот такой кусок кода. При этом что интересно старые все строки значения стирает не пойму почему.
9 denis200
 
11.10.11
15:04
Строка = ЭлементыФормы.ОС.ТекущиеДанные;
это первая строчка
10 DrHiHi
 
11.10.11
15:07
(8) жестоко
11 denis200
 
11.10.11
15:13
Теперь я в параметр запроса передаю
ОформлениеСтроки.Ячейки.ОсновноеСредство.Значение
и никаких условий вроде работает может и не оптимально
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший