Имя: Пароль:
1C
1С v8
Выделение строк в одной ТЧ - меняются данные во 2-ой ТЧ
0 Надежда25
 
08.11.11
11:54
v8.2 В форме документа "Поступление товаров" есть табличная часть "Товары", ниже расположена табличная часть "Характеристики с типом "РегистрСведенийНаборЗаписей.ЗначенияСвойствНоменклатуры". Надо, чтобы при выделении номенклатуры в ТЧ "Товары" высвечивались значения из регистра сведений именно для выделенной номенклатуры. А если мы заносим данные - то потом и записывались характеристики для каждой номенклатуры.
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
  Для каждого СтрокаТЧ из ТекущийОбъект.Товары Цикл
  Набор = РеквизитФормыВЗначение("Характеристики");
  Для Каждого Запись Из Набор Цикл
    Запись.Номенклатура = СтрокаТЧ.Номенклатура;
  КонецЦикла;
  Набор.Записать();
  КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
  СтрокаТЧ=Элементы.Товары.ТекущиеДанные;
  СтрокаТЧ.ЕдиницаИзмерения=ПолучениеОсновнойЕдиницыИзмерения(СтрокаТЧ.Номенклатура);
  СтрокаТЧ.Цена=ПолучениеЦеныИзРегистра(СтрокаТЧ.Номенклатура);
  ОбновитьСвойства(СтрокаТЧ.Номенклатура);
КонецПроцедуры

&НаСервере
Процедура ОбновитьСвойства(Номенклатура)
  Набор = РегистрыСведений.ЗначенияСвойствНоменклатуры.СоздатьНаборЗаписей();
  Набор.Отбор.Номенклатура.ВидСравнения = ВидСравнения.Равно;
  Набор.Отбор.Номенклатура.Значение = Номенклатура.Ссылка;
  Набор.Отбор.Номенклатура.Использование = Истина;
  Набор.Прочитать();
  ЗначениеВРеквизитФормы(Набор, "Характеристики");
КонецПроцедуры

&НаКлиенте
Процедура ТоварыПриАктивизации(Элемент)
   СтрокаТЧ=Элементы.Товары.ТекущаяСтрока;
   Если СтрокаТЧ <> Неопределено Тогда
       ОбновитьСвойства(СтрокаТЧ.Номенклатура);
   КонецЕсли;
КонецПроцедуры
При открытии в последней процедуре:
"Значение не является значением объектного типа (Номенклатура)
       ОбновитьСвойства(СтрокаТЧ.Номенклатура);"
Ну и вообще как-то не работает. А хотя бы идеологически это верно?
1 Леха Дум
 
08.11.11
12:16
Сдается мне, что по этим темам поднимается мегапроект :)
1) Без фотки не взлетит
2) Читаем СП вдумчиво
3) Читаем литературу
4) Смотрим иногда типовые
5) Идем на курсы повышения квалификации
6) Идем на курсы кройки и шитья
2 DrShad
 
08.11.11
12:19
(1) +1
только первым пунктом я бы поставил Срочно замуж и детей рожать
3 Надежда25
 
08.11.11
12:21
Нет, всего лишь учебная задача. Литературу читаю.
4 Леха Дум
 
08.11.11
12:23
(2) лучше 7 пунктом - курсы кройки и шитья как раз пригодятся :)
5 DrShad
 
08.11.11
12:37
(4) я думаю костюм раскроить все равно не научат
6 Axel2009
 
08.11.11
12:38
читаем про реквизитформывзначение
7 Леха Дум
 
08.11.11
12:50
8 Надежда25
 
08.11.11
13:16
(7) Знаю, спасибо, все работает. Если сузить вопрос: Что правильнее использовать для моего случая - ПриАктивизацииСтроки, ПриАктивизацииПоля, ПриАктивизацммЯчейки?
9 Надежда25
 
08.11.11
13:24
А где в типовой есть две ТЧ на форме, содержание второй ТЧ зависит от выделенной строки в первой ТЧ? Не нашла, с удовольствием посмотрю.
10 Axel2009
 
08.11.11
14:03
в какой момент возможна смена значения, такой метод и применять.
11 Надежда25
 
08.11.11
15:00
(10) Выделил (щелкнул мышью) пользователь одну строку, во второй ТЧ показываются характеристики именно этой номенклатуры, выделил другую - отображаются характеристики другой номенклатуры. Добавляем новую строку в первой ТЧ - вторая ТЧ очищается.
12 Axel2009
 
08.11.11
15:23
(11) и какое это событие ТЧ?
13 Надежда25
 
08.11.11
15:54
ТЧ - табличная часть. Использую событие ПриАктивизацииСтроки. Права ли я?
14 vmv
 
08.11.11
15:58
(8) все эти методы не взлетят - мастер-деталь не реализуется в 8.2 через эти обработчики, тонкости передачи управления с клиента на сервер помешают.

думай глубже
15 Леха Дум
 
08.11.11
15:58
(13) начни с пункта 1) поста (1)
16 Надежда25
 
08.11.11
16:21
Потому и спрашиваю. И в типовой подобного не вижу. Упрощенный вариант - по кнопке открывать или форму элемента справочника (там тоже это редактируется) или регистр сведений. Но, мне кажется, красивее было бы, если все сделать на одной форме.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан