Имя: Пароль:
1C
1С v8
ОформленияСтрок
0 tolok_d
 
04.11.12
18:14
Уважаемые, подскажите, у меня есть событие КросТаблицаПриПолученииДанных(Элемент, ОформленияСтрок). Так вот, я вызываю это событие из другой процедуры. И все бы хорошо, но как передать это самое ОформленияСтрок. Мне нужно чтоб было стандартное ОформленияСтрок, но как это реализовать не знаю. Подскажите кто знает. Пожалуйста.
1 Фокусник
 
04.11.12
18:24
(0) "Так вот, я вызываю это событие из другой процедуры."
Так не получится, в другой процедуре этого ОформленияСтрок не существует. Можно как-то так выкрутиться: "другая процедура" формирует кеш (тз, соответствие или иное), а КросТаблицаПриПолученииДанных читает этот кеш.
2 vicof
 
04.11.12
18:25
ПриПолученииДанных(<ОформленияСтрок>)
Параметры:

<ОформленияСтрок>

Тип: ОформленияСтрок.
Коллекция оформления строк табличного поля.
Данную коллекцию нельзя использовать вне обработчика, т.к в момент вызова обработчика события она напрямую связана с коллекцией видимых строк табличного поля, а после окончания обработки события ее содержимое может не соответствовать коллекции видимых строк.
3 tolok_d
 
04.11.12
18:26
(1) ну я пишу
4 tolok_d
 
04.11.12
18:29
(1) ну вот я пишу
Если а=1 тогда КросТаблицаПриПолученииДанных(ЭлементФормы.Таблица, ОформленияСтрок);

далее он обращается к событию
Процедура КросТаблицаПриПолученииДанных(Элемент, ОформленияСтрок)
   //мОформленияСтрок = ОформленияСтрок;
   Элемент.Значение.Отбор.Товар.Значение = ЭлементыФормы.Номенклатура.ТекущаяСтрока;
   Элемент.Значение.Отбор.Товар.Установить();
КонецПроцедуры
5 vicof
 
04.11.12
18:31
(4) давай зайдем с другой стороны, какую задачу ты решаешь?
6 tolok_d
 
04.11.12
18:34
(5) обновить данные в ТП. В зависимости от установленой позиции, должно происходить обновление ТП. Тоесть возможно ли как то вызвать повторное получение данных, чтобы это событие само сработало?
7 vicof
 
04.11.12
18:38
ОбновитьСтроки не?
8 zulu_mix
 
04.11.12
18:38
запахло г-кодом
9 tolok_d
 
04.11.12
18:44
(7) да, точно, пробывал перед этим, но желаемого результата не получил. Сейчас протрейсил, и понял что где то не там ошибка. Спасибо
10 tolok_d
 
04.11.12
18:45
(8) великий знаток Г))
11 zulu_mix
 
04.11.12
18:46
(10) вместо глупых вопросов лучше озвучь задачу для чего такой изврат требуется
12 tolok_d
 
04.11.12
18:52
(11) Есть в УТП рабочее место менеджера по продажам. Туда нужно добавить связь по аналогам. Тоесть, я в левой части выбираю элемент номенклатуры, а в правой показываются его аналоги/кроссы. Соответственно при смене текущей строки нужно обновить ТП аналогов/кроссов. Эта ТП имеет тип значения СправочникСписок.АналогиНоменклатуры с отбором по Товару.

Для тех кто скажет что нужно через запрос, скажу что делал через запрос, но зачем, если есть штытные методы.
13 tolok_d
 
04.11.12
18:54
(7) кстати, обновить строки всетаки не подходит. не обновляет данные... точнее данные обновляет, но событие при получении данных не вызывается
14 zulu_mix
 
04.11.12
18:55
жесть. ты с головы на ноги перевернул. у тебя не то и не там вызывается. ты вызываешь следствие а надо причину. дальше продолжать?
15 tolok_d
 
04.11.12
18:56
(14) да
16 tolok_d
 
04.11.12
18:57
(14) либо я не правильно понял, либо ты. Объясни пожалуйста что ты имеешь ввиду.
17 zulu_mix
 
04.11.12
18:58
итак. у нас есть номенклатура. верно? мы ее можем получить в событии при выборе строки. так?
18 tolok_d
 
04.11.12
18:59
да
19 zulu_mix
 
04.11.12
18:59
все обработчики событий списка номенклатуры и списка аналогов/кроссов в студию
20 vicof
 
04.11.12
19:00
(17) или при активизации
21 tolok_d
 
04.11.12
19:00
(19) плохой вариант
22 zulu_mix
 
04.11.12
19:00
(20) не суть. я подозреваю что там вызывается куча коричневого кода
23 tolok_d
 
04.11.12
19:01
(19) это УТП. Я могу закинуть все обработки, только страниц на сайте не хватит)
24 tolok_d
 
04.11.12
19:02
(22) ну не верю я в это, хоть убей.
25 zulu_mix
 
04.11.12
19:03
(21) да? у меня эта шляпа занимает 2 строчки. 4 дня назад сделал выбор организации в левом фрейме, контрагентов (у которых есть договоры с выбранной организацией) в правом фрейме и самих договоров в нижнем.
26 tolok_d
 
04.11.12
19:04
я дописал только одно событие, все остальное- стандартное. Вот это событие.
Процедура КросТаблицаПриПолученииДанных(Элемент, ОформленияСтрок)
   Элемент.Значение.Отбор.Товар.Значение = ЭлементыФормы.Номенклатура.ТекущаяСтрока;
   Элемент.Значение.Отбор.Товар.Установить();
КонецПроцедуры
27 tolok_d
 
04.11.12
19:05
(25) верю, но я же не буду всю обработку переписывать. Потому пытаюсь дописать
28 zulu_mix
 
04.11.12
19:06
(26) зачем ты это сделал?? прочитай внимательно (14), (17) и (20) и сделай правильные выводы
29 tolok_d
 
04.11.12
19:07
(28) наверное мы о разном говорим. Но выводов никаких не вижу. Думаю ты не правильно меня понял
30 vicof
 
04.11.12
19:09
(29) ПриАктивизацииСтроки в одном поле делай свои отборы для другого поля
31 zulu_mix
 
04.11.12
19:11
пля.... это просто жесть!!!
что тебе мешает сделать так:
Процедура НоменклатураПриАктивизацииСтроки(Элемент)
Элементы.КросТаблица.Отбор.Товар.Значение = Элемент.ТекущиеДанные;
КонецПроцедуры
32 tolok_d
 
04.11.12
19:14
(30) ща попробую
33 tolok_d
 
04.11.12
19:14
(31) береги нервы. Я не так понял то что ты хотел сказать.
34 zulu_mix
 
04.11.12
19:18
вот почему никто не желает включить мозг а все ждут готового решения?
35 tolok_d
 
04.11.12
19:18
(31) если это тебя обрадует, то согласен с (8)
Огромное спасибо за помощь.
36 tolok_d
 
04.11.12
19:19
(34) уверяю, я не такой)
37 zulu_mix
 
04.11.12
19:20
незчт. в следраз просто пиши чо надо и как делаешь. достало ребусы решать
38 tolok_d
 
04.11.12
19:25
(37) хорошо)
39 zulu_mix
 
04.11.12
19:34