Имя: Пароль:
1C
1С v8
КД2 в пгкс через ОбъектКоллекции не все доступны пкс
0 zak555
 
25.04.14
11:45
в обработчике после выгрузи ПГКС в тз ОбъектКоллекции доступны не все пкс, входящие в группу

почему ?
1 Godofsin
 
25.04.14
11:48
шр за пгкс?
2 Defender aka LINN
 
25.04.14
11:49
(0) "В обработчике доступны не все правила"? Ты что такое курил?
3 zak555
 
25.04.14
11:49
(1)

ПГКС -- Правило Группы Конвертации Свойств
ПКС -- Правило Конвертации Свойств
4 zak555
 
25.04.14
11:50
(2) не все свойства
5 Defender aka LINN
 
25.04.14
11:51
(4) Значит, их там риальне нет
6 zak555
 
25.04.14
11:51
(4) в табличной части есть КС я их вижу
+ в выходной xml файле так же
7 Defender aka LINN
 
25.04.14
12:06
(6) Так может они отдельно получаются
8 zak555
 
25.04.14
12:12
нашёл

оказывается, в этой ПГКС в обработчике перед обработкой идёт переопределение КоллекцияОбъектов  

но как обратиться к свойствам, входящим в группу ?
9 zak555
 
25.04.14
12:13
через УзелОбъектаКоллекции.GetAttribute("Атрибут") -- пустота
10 Defender aka LINN
 
25.04.14
12:14
(9) Месье знает толк в извращениях...
(8) ОбъектКоллекции.Свойство в ПриВыгрузке
11 zak555
 
25.04.14
12:20
(10)

в пгкс1 есть видимые
пкс1
...
пкс10

в обработчике перед обработки пгкс1 есть такая строка
КоллекцияОбъектов = ВходящиеДанные.Получить("Хря");
КоллекцияОбъектов.НоваяКолонка("пкс21");
КоллекцияОбъектов.НоваяКолонка("пкс22");
КоллекцияОбъектов.НоваяКолонка("пкс23");

если поставить сюда отладчик, то можно увидеть следующим колонки КоллекцияОбъектов

пкс1
..
пкс4
пкс5

пкс21
пкс22
пкс23


колонки с пкс6 по пкс10 отсутствую
12 Defender aka LINN
 
25.04.14
12:21
(11) Мы на второй круг уже зашли.
Если выгружается - значит все есть, чего ты на форуме моск-то полощешь?
13 zak555
 
25.04.14
12:22
понятно, что можно в каждом пкс6, ..., пкс10 использовать обработчики, но хочется через пгкс
14 zak555
 
25.04.14
12:23
КоллекцияОбъектов - Неопределено. Если в теле обработчика определить коллекцию (присвоив данной переменной значение, например, описывающее табличную часть или набор движений, например, типа ТаблицаЗначений), то стандартное получение коллекции выполняться не будет.
15 GenV
 
25.04.14
12:23
КоллекцияОбъектов = ВходящиеДанные.Получить("Хря");

смотри ВходящиеДанные.Получить("Хря")
16 Defender aka LINN
 
25.04.14
12:24
(14) Еще раз: в файл данные попадают. Значит, все работает.
17 zak555
 
25.04.14
12:25
(15) там нет колонок пкс6, ..., пкс10
18 zak555
 
25.04.14
12:26
(16) они отрабатывают, потому что пкс6, ..., пкс10 есть по факту в группе пгкс1 тч пко
19 GenV
 
25.04.14
12:28
(17) Естественно нет - ты же их не добавил ...
ВходящиеДанные - заполняются пользователем
20 GenV
 
25.04.14
12:28
19+ или разработчиком в КД, если точнее
21 zak555
 
25.04.14
12:29
(19) (20)

а как обратиться к пкс6, ..., пкс10 в пгкс ?
22 GenV
 
25.04.14
12:31
(21) пкс6-пкс10 - свойства в твоей группе свойств которые нужно заполнить?

Есть "Источник" - общий объект. По нему заполняй.
Или смотри где у тебя заполняются данные "Хря" и там правь
23 zak555
 
25.04.14
12:33
(22) источник -- пустота

да, это свойства, которые принадлежат группе

понятно, что можно в пвд править

хочется в одном месте сосредоточить изменения
24 GenV
 
25.04.14
12:37
(23) Хм. Тогда добавь заполнение в ПКГС. Добавь нужные колонки и заполняй их нужными данными.
ЗЫ А в твоих пкс6-пкс10 скорее всего код стоит или стоит галка получения из входящих данных раз выгружаются.
Если из вхдодящих данных, значит смотри не ВходящиеДанные.Получить("Хря"), а ВходящиеДанные.Получить("пкс6"), т.к. в этом случае значения для всех строк ПКГС.
25 zak555
 
25.04.14
12:40
(24) в пкс6-пкс10 есть свои обработчики, которые могут заполнить данное свойство или нет

я и хочу, что после отработки группы проверить заполнение пкс6-пкс10 и при некоторых условиях заполнить те, которые необходимо
26 GenV
 
25.04.14
12:46
(25) Добавь нужные колонки в КоллекцияОбъектов в ПКГС. И в обработчиках свойств сохраняй значения в ОбъектКолекции.пкс6 (и т.д.). Сама КД их туда писать не будет. Потом обработаешь.
По идее должно все сохраниться.
27 zak555
 
25.04.14
12:49
(26) так это надо будет всё равно заходить в каждую пкс6,... пкс10 и писать код?
28 GenV
 
25.04.14
12:49
(26) только смысл - все свойства ты уже выгрузишь (в т.ч. с пустыми)? Может лучше сначала заполнить табличку со всеми свойствами сразу :)
29 zak555
 
25.04.14
12:50
(28) я тем самым хочу минимизировать вмешательство в правила
30 GenV
 
25.04.14
12:51
(27) 28+ Сделай в ПКГС обработку по аналогии с выгрузить свойства. Т.е. самому предварительно обработать все свойства без выгрузки. Все внутренние данные там доступны. Т.ч. обработчики вызвать сможешь. Гемор еще тот, если универсальности хочется.
31 zak555
 
25.04.14
13:33
(30) а как бы было красиво, если можно было обращаться, как я хотел
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс