Имя: Пароль:
1C
1С v8
Подстановка значений в табличную часть
0 hawk1
 
29.12.14
22:58
Как при изменении одного из полей табличной части заполнить остальные поля?
1 GreatOne
 
29.12.14
23:05
С наслаждением
2 GreatOne
 
29.12.14
23:07
ПриОкончанииРедактирования() к примеру
3 KUBIK
 
29.12.14
23:08
ПриИзмененииТабличнойЧастиХЗЧего(...) Экспорт

Там всё есть твое желанное :)))))
4 hawk1
 
29.12.14
23:13
Меня интересует событие ПриИзменении. Например, есть реквизит типа ДокументСсылка, из него нужно заполнить остальные поля.
5 KUBIK
 
29.12.14
23:16
(4) +(3) В типовой ЛЮБОЙ не посмотреть?
6 KUBIK
 
29.12.14
23:19
// Процедура - обработчик события "ПриИзменении" поля ввода номенклатуры
// в строке табличной части "Товары".
//
Процедура ТоварыНоменклатураПриИзменении(Элемент)

    СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные;

    // Выполнить общие действия для всех документов при изменении номенклатуры.
    ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТЧ, ЭтотОбъект);

    ОбработкаТабличныхЧастей.ЗаполнитьНомерГТДИСтрануПроисхождения(СтрокаТЧ, Ложь, Организация, Дата);

    ЗаполнитьСчетаУчетаВСтрокеТабЧасти(СтрокаТЧ, "Товары", Истина);
    ПриИзмененииНоменклатурыТоваров(СтрокаТЧ);

    // Рассчитываем реквизиты табличной части.
    ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, ЭтотОбъект);
    ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
    
    Счет = СтрокаТЧ.СчетДоходов;

    ЭлементыФормы.Товары.Колонки.Субконто.Доступность = НЕ (НЕ ЗначениеЗаполнено(Счет) ИЛИ (Счет.ВидыСубконто.Количество() = 0));

КонецПроцедуры // ТоварыНоменклатураПриИзменении()
7 hawk1
 
30.12.14
09:35
&НаКлиенте
Процедура ПереченьПособийПособиеПриИзменении(Элемент)
    стр = Элементы.ПереченьПособий.ТекущиеДанные;
    Пособие = стр.Пособие;
    стр.Застрахованный = Пособие.Застрахованный;
КонецПроцедуры

Поле объекта не обнаружено (Застрахованный)
8 vicof
 
30.12.14
09:36
Отладчиком пользоваться не учили?
9 Остап Сулейманович
 
30.12.14
10:06
(7) На Клиенте через точку? Это - 1С 8.999?
10 Бертыш
 
30.12.14
10:07
Это 8.100500
11 hawk1
 
30.12.14
10:29
Как же правильно? Туплю чет
12 ktvladimir
 
30.12.14
10:40
(9) на толстом клиенте почему нет. на Тонком да не взлетит
13 hawk1
 
30.12.14
10:45
у меня на толстом не работает
14 ktvladimir
 
30.12.14
10:45
(11) Получать значение на сервере к примеру

&НаКлиенте
Процедура ПереченьПособийПособиеПриИзменении(Элемент)
    стр = Элементы.ПереченьПособий.ТекущиеДанные;
    Пособие = стр.Пособие;
    стр.Застрахованный = ПолучитьРеквизитОбъекта(Пособие, "Застрахованный");
КонецПроцедуры

&НаСервере
Функция ПолучитьРеквизитОбъекта(Объект, Реквизит)
  Возврат Объект[Реквизит];
КонецФункции
15 Остап Сулейманович
 
30.12.14
10:49
(12) Директива &НаКлиенте из (7) как бы прозрачно намекает на управляемые формы.
16 Остап Сулейманович
 
30.12.14
10:50
(13) Кстати (15) и для вам тоже.
Ошибка? Это не ошибка, это системная функция.