|
КД обработчик при загрузке объекта не срабатывает | ☑ | ||
---|---|---|---|---|
0
Администратор 1С
02.09.16
✎
12:57
|
Здравствуйте,
Не могу разобраться с КД 2.1 (режим совместимости Версия БСП 2.0 и ниже), дано: Есть ПКС для реквизита типа справочник, для него есть ПКО, ПВД нет. В ПКО "при загрузке" пишу: "Объект.Наименование=Строка(Объект.Номенклатура)+"; "+Строка(Объект.Склад)" Код не выполняется, элементы справочника создаются с пустым наименованием. Правила в приемник загрузил. Вот кусок правила: ... -<Правило> <Код>КлючиАналитикиУчетаНоменклатуры</Код> <Наименование>: </Наименование> <Порядок>1700</Порядок> <ПриЗагрузке>Объект.Наименование=Строка(Объект.Номенклатура)+"; "+Строка(Объект.Склад)</ПриЗагрузке> <Приемник>СправочникСсылка.КлючиАналитикиУчетаНоменклатуры</Приемник> -<Свойства> -<Свойство Поиск="true">... Скриншот КД https://www.dropbox.com/s/4byhtc3xp6k9joh/Скриншот%202016-09-02%2012.34.01.png?dl=0 |
|||
1
Администратор 1С
02.09.16
✎
13:05
|
гз
|
|||
2
Администратор 1С
02.09.16
✎
13:40
|
Не у кого не мыслей?
|
|||
3
azt-yur
02.09.16
✎
14:02
|
Используй обработчик ПослеЗагрузки.
А вообще правильнее было бы в ПКС ПередВыгрузкой установить Значение=Строка(Источник.Номенклатура)+"; "+Строка(Источник.Склад) |
|||
4
Администратор 1С
02.09.16
✎
14:14
|
(3) спасибо, после загрузки тоже самое я пробовал разные варианты).
- Ок ПередВыгрузкой должно сработать, сделаю так. Хотелось бы конечно разобраться почему эти обработчики не вызываются( |
|||
5
Defender aka LINN
02.09.16
✎
14:23
|
Какие ваши доказательства, что не вызываются?
|
|||
6
Администратор 1С
02.09.16
✎
14:34
|
Косвенные доказательства я привел выше:
пустое наименование у созданного эл. справочника. Собственно я не настаиваю, что не вызываются, другого объяснения придумать не могу. |
|||
7
Администратор 1С
02.09.16
✎
14:37
|
1.Можно предположить что склад и номенклатура, пустые или не передаются в обработчик, но тогда наименование было бы = ";"
2. Возможно наименование затирается потом, но у меня в правилах такого кода нет, в конфе думаю тоже |
|||
8
Администратор 1С
02.09.16
✎
14:46
|
(5) В ПКО, в "после загрузки" вставил:
"Отказ=Истина;" Но элемент справочника был перенесен, с пустым наименованием. |
|||
9
Йохохо
02.09.16
✎
14:51
|
(8) не так все просто. Пора брать отладчик и ставить точку на "Объект.Наименование=Строка(Объект.Номенклатура)+"; "+Строка(Объект.Склад)"
|
|||
10
Администратор 1С
02.09.16
✎
14:58
|
(8) дык найти бы еще это место, перед тем как тему создавать пробовал отладчиком отловить. Не нашел в обработке "КонвертацияОбъектовИнформационныхБаз".
|
|||
11
eskor
02.09.16
✎
15:02
|
А с чего бы оно было не пустым? Если типу "строка" пытаетесь подсунуть сумму GUID. Скорее надо писать так:
<ПриЗагрузке>Объект.Наименование=Строка(Объект.Номенклатура.Наименование)+"; "+Строка(Объект.Склад.Наименование)</ПриЗагрузке> |
|||
12
Йохохо
02.09.16
✎
15:04
|
(10) там же подробный хелп есть как выгрузить обработчики
(11) что то не то |
|||
13
Администратор 1С
02.09.16
✎
15:08
|
(12) У меня режим совместимости включен
|
|||
14
Администратор 1С
02.09.16
✎
15:12
|
(11) это не "сумма GUID", а сумма строковых представлений.
|
|||
15
Другая
02.09.16
✎
15:48
|
ПриЗагрузке выполняется до заполнения объекта данными. Т.е. (теоретически) если присвоить значения, они заменятся данными выгрузки после этого события.
Правильно будет при выгрузке указывать наименование. Либо перенести ваш код в событие "ПослеЗагрузки" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |