Имя: Пароль:
1C
1С v8
Заполнение полей ТЧ документа Процедурой ПриИзменении
,
0 leon92
 
18.01.19
21:13
Мастера "КунгФу" помогите,научите...
В документ КоммерческоеПредложение добавил поле в ТЧ Товары "Документ"с типом ДокументСсылка.Клапана...
Нужно при выборе документа "Клапана" выводить автоматически в ТЧ.Товары Номенклатуру и Цену из этого документа...говорят код состоит из пары строк, а каких хз...
Объект.Товары.Номенклатура = Объект.Товары.Документ.ВыходноеИзделие - ошибка не найдено поле "Номенклатура"
1 palsergeich
 
18.01.19
21:30
(0) Посмотри как это поле называется в реквизитах
2 ДенисЧ
 
18.01.19
21:33
Ну так, в Товарах нет поля Номенклатура. Оно есть в строках этой ТЧ...
3 leon92
 
18.01.19
21:39
в форме есть объект с типом ДокументОбъект.КоммерческоеПредложениеКлиенту

имеет структуру
+Объект
...
...
...
...
+товары(ТЧ)
...
...
+номенклатура
В реквизитах тоже самое
4 palsergeich
 
18.01.19
21:57
https://youtu.be/IJPTgZqCtEc посмотри друг, не совсем то что надо, но близко
5 runoff_runoff
 
18.01.19
23:39
(0) а если в документе Клапана несколько строк?.. все должны добавиться?..
6 runoff_runoff
 
18.01.19
23:42
а наборы нельзя было использовать что ли..
7 Glenas
 
19.01.19
03:38
(5) + 1
А это обычные или УФ?
Странно это. Если бы цена и номенклатура хранились в реквизитах клапанов, то можно было..

Для Каждого стрТЧ из Товары Цикл

ОбъектД = стрТЧ.Клапана.ПолучитьОбъект();
СтрТЧ.Цена = ОбъектД.Цена;
СтрТЧ.номенклатура = ОбъектД.номенклатура;

и т.д. по циклу

Но если все данные в ТЧ, то нужно писать код по связыванию данных в обоих частях типа "ключ"
8 Diman000
 
19.01.19
07:32
(7) Ну только ПолучитьОбъект() не надо делать, чтобы вытащить всего два реквизита.
Это же жесть полная...
9 leon92
 
19.01.19
10:55
(8) А как получить эти два реквизита?
УФ
10 Diman000
 
19.01.19
11:17
(9) Запросом.
Но ты хотя бы просто через точку получи.
Из процедуры ПриИзменении Управление надо передать на сервер.
А записывать их не через Объект.Товары.Номенклатура = , а
Элементы.Товары.ТекущиеДанные.Номенклатура = .

Курсовик что ли какой?
11 leon92
 
22.01.19
15:47
(10) Спасибо!
&НаСервере
Функция ТоварыДокументПриИзмененииНаСервереЦена(Документ)
         возврат Документ.Цена;
КонецФУнкции

&НаКлиенте
Процедура ТоварыДокументПриИзменении(Элемент)
    Элементы.Товары.ТекущиеДанные.цена = ТоварыДокументПриИзмененииНаСервереЦена(Элементы.Товары.ТекущиеДанные.Документ);
    КонецПроцедуры