Имя: Пароль:
1C
1С v8
Не пойму как работает СправочникСсылка
,
0 z6rpoo_2
 
14.11.11
16:41
есть справочник "Продукт" на котором есть таблица "Компоненты" где есть колонка "Сырье" типа "Справочник.Сырье", при изменении в колонке "Количество" нужно чтобы в колонку "Цена" подставилось значения из реквизита "Цена" элемента справочника "Сырье" текущей строки.
===================
Процедура КомпонентыКоличествоПриИзменении(Элемент)

   ТекущийЭлемент.ДанныеСтроки(ТекущийЭлемент.ТекущаяСтрока).Цена = ТекущийЭлемент.ДанныеСтроки(ТекущийЭлемент.ТекущаяСтрока).Компонент.Цена;

КонецПроцедуры
===================
вот так не работает, говорит:
{Справочник.Продукт.Форма.ФормаЭлемента.Форма(4)}: Поле объекта не обнаружено (Цена)
   ТекущийЭлемент.ДанныеСтроки(ТекущийЭлемент.ТекущаяСтрока).Цена = ТекущийЭлемент.ДанныеСтроки(ТекущийЭлемент.ТекущаяСтрока).Компонент.Цена;


"ТекущийЭлемент.ДанныеСтроки(ТекущийЭлемент.ТекущаяСтрока).Компонент" имеет тип СправочникСсылка, как мне обратится к реквезитам этого справочника?
1 izekia
 
14.11.11
16:49
а ДанныеСтроки - это по твоему что?
2 z6rpoo_2
 
15.11.11
07:16
ДанныеСтроки это данные строки в таблице. Первая колонка имеет тип СправочникСырье у которого есть свои реквизиты, но в таблице отображается только наименование и поэтому в ДанныеСтроки отобразится только наименование вставленного туда элемента, а как мне получить доступ к остальным реквизитам этого элемента?
3 Рэйв
 
15.11.11
07:31
ТД=Компоненты.ТекущиеДанные;
ТД.Цена=ТД.Компонент.Цена;
4 Рэйв
 
15.11.11
07:31
*ТД=Элементыформы.Компоненты.ТекущиеДанные;
5 sda553
 
15.11.11
07:49
(2) А мне почему то кажется что текущиеДанные это данные строки в табличной части справочника
6 sda553
 
15.11.11
07:52
(5) Если в метаданных справочника Продукт Табличной части Компоненты отсутствует такой реквизит как Цена, то это и является причиной ошибки.

Вычисляемые колонки (Цена) можешь расчитать в событии ПриВыводеСтроки Книга знаний: v8: Дополнительная вычисляемая или текстовая колонка в списке
7 Tymoha
 
15.11.11
08:09
(0) реквизиты справочника доступны только на сервере
8 z6rpoo_2
 
15.11.11
09:18
Tymoha и что мне делать?
9 izekia
 
15.11.11
09:29
(7) как это?
10 izekia
 
15.11.11
09:32
(2) мне не нужно давать определение, СП у меня самого есть
мне нужно, чтобы ты подумал над бредовостью вот этой конструкции:
ТекущийЭлемент.ДанныеСтроки(ТекущийЭлемент.ТекущаяСтрока)
11 izekia
 
15.11.11
09:34
+(10) прости, не проснулся, все у тебя там правильно
12 izekia
 
15.11.11
09:36
(9) тоже мимо
не понял, что речь про УФ идет
13 hhhh
 
15.11.11
09:46
(8) а что такое ТекущийЭлемент?
14 Tymoha
 
15.11.11
10:07
(8) самое простое - функция на сервере с передачей туда ссылки на справочник и возвратом цены ... насколько это правильно методологически - вопрос не ко мне ))
(10) скорее всего у тебя сработает ТекущийЭлемент.ТекущиеДанные.Компонент
15 z6rpoo_2
 
15.11.11
10:16
ТекущийЭлемент.ТекущиеДанные.Компонент возвращает СправочникСсылка.Сырье а мне бы доступ к реквезитам Сырья

не в тему вопрос: как указывать ссылки на посты которым отвечаешь?
16 Tymoha
 
15.11.11
10:20
(15) ну так: Цена = ВернутьЦену(ТекущийЭлемент.ТекущиеДанные.Компонент)

&НаСервере
Функция ВернутьЦену(СС)
Возврат СС.Цена;
КонецФункции

номер поста берешь в скобки ))
17 z6rpoo_2
 
15.11.11
10:29
(16) ты волшебник, спасибо)