![]() |
![]() |
|
КД2 Конвертация Справочника в перечисление | ☑ | ||
---|---|---|---|---|
0
zak555
02.03.14
✎
00:11
|
интересует реализация через ПКО, где источник (7ка) справочник , а приёмник (8ка) перечисление не через пкз...
видел, что можно в обработчике после выгрузки этого пко писать значение перечисления в УзелСсылки (пример Если Источник.Ставка = 18 тогда УзелСсылки = "НДС18"; КонецЕсли; ) и обязательного указания у пко галки не запоминать выгруженные объекты.. а вот как реализовать тоже самое, но чтобы не ставить эту галку ? |
|||
1
Aleksey
02.03.14
✎
00:11
|
УзелСсылки = "НДС18";?
А что значение = "НДС18" уже нельзя писать? |
|||
2
zak555
02.03.14
✎
00:12
|
(1) не взлетает
|
|||
3
zak555
02.03.14
✎
00:13
|
по идеи можно написать
Приемник.text = "НДС18"; но тогда загрузка не работает |
|||
4
Aleksey
02.03.14
✎
00:13
|
||||
5
Aleksey
02.03.14
✎
00:14
|
там как раз справочник ставки НДС в перечисление через УзелСсылки
|
|||
6
zak555
02.03.14
✎
00:16
|
(4) так я это и описал в 0
там кстати не указано, что нужно поставить галку о незапоминании выгруженных объектов |
|||
7
Aleksey
02.03.14
✎
00:18
|
(6) ну я вообще не понмаю как это у него работает, ибо УзелСсылки - это XML, а он тупо присваивает ему строку. И что в итоги получится?
|
|||
8
Aleksey
02.03.14
✎
00:18
|
Так а почему через значение в ПКС невзлетело?
|
|||
9
Aleksey
02.03.14
✎
00:21
|
(6) я так понимаю типа тут видел http://www.itland.ru/forum/index.php?showtopic=7757
|
|||
10
zak555
02.03.14
✎
01:07
|
(7) тогда файл выгрузи получается такой
<Объект ИмяПравила="ПКОСтавкиНДС" Тип="ПеречислениеСсылка.СтавкиНДС" Нпп="2"/> //... <ТабличнаяЧасть Имя="Услуги"> <Запись> <Свойство Тип="ПеречислениеСсылка.СтавкиНДС" Имя="СтавкаНДС"> <Значение>НДС18</Значение> </Свойство> //... |
|||
11
zak555
02.03.14
✎
01:14
|
(10) а тут антилогика...
если бы не было первой строки -- всё логично, а если есть должно быть что-то типа такого <Объект ИмяПравила="ПКОСтавкиНДС" Тип="ПеречислениеСсылка.СтавкиНДС" Нпп="2"> <Ссылка Нпп="2"> <Значение>НДС18</Значение> //... <ТабличнаяЧасть Имя="Услуги"> <Запись> <Свойство Тип="ПеречислениеСсылка.СтавкиНДС" Имя="СтавкаНДС"> <Ссылка Нпп="2" /> </Свойство |
|||
12
zak555
02.03.14
✎
01:14
|
(8) тогда нужно будет у всех свой источника это прописывать, что нелогично
надо в одном месте прописать |
|||
13
zak555
02.03.14
✎
01:29
|
что бы не создавалось
<Объект ИмяПравила="ПКОСтавкиНДС" Тип="ПеречислениеСсылка.СтавкиНДС" Нпп="2"/> забыл в обработчике после выгрузки написать отказ = 1; |
|||
14
Aleksey
02.03.14
✎
03:16
|
(12) Зачем? Пропиши в ПКО правила конвертации перечисления. И не надо во всех местах
|
|||
15
zak555
02.03.14
✎
11:00
|
(14) ты же в 8 мне другое советовал
Значение = "НДС18"; взлетает только у пкс |
|||
16
Aleksey
02.03.14
✎
11:02
|
(15) Почему? в ПКО подменяй источник
Типа Если Источник = 18 тогда Источник ="НДС18" ... |
|||
17
zak555
02.03.14
✎
11:29
|
(16) в каком обработчике ?
|
|||
18
Aleksey
02.03.14
✎
11:30
|
(16) ПКО перед выгрузкой
|
|||
19
Alexor
02.03.14
✎
11:38
|
А в ПКО указать произвольное значение в перечисление.
И при выгрузке указывать значение перечисления разве не взлетает? |
|||
20
Aleksey
02.03.14
✎
11:42
|
(19) Ему лень это везде прописывать (во всех документах, справочниках)
|
|||
21
Naumov
02.03.14
✎
11:43
|
(0) Пример такой конвертации есть в демке.
|
|||
22
zak555
02.03.14
✎
12:28
|
(18) написал
Источник ="НДС18"; ничего не выгружает |
|||
23
zak555
02.03.14
✎
12:29
|
(21) между пубом и упп, видел
|
|||
24
Сияющий Асинхраль
02.03.14
✎
12:57
|
ПередВыгрузкой:
Если Источник.Ставка = 18 тогда Значение = "НДС18"; КонецЕсли; И собсно все... |
|||
25
Aleksey
02.03.14
✎
13:09
|
(24) не хочет он так
|
|||
26
Aleksey
02.03.14
✎
13:10
|
а если через глобальнуую процедуру
Обработчики "Конвертация" Перед конвертацией объекта Условия возникновения события Событие выполняется перед началом конвертации объекта по правилу конвертации. Вызов осуществляется до вызова обработчика "Перед выгрузкой" правила конвертации объектов. Могут использоваться все параметры орпределенные для указанного обработчика правила конвертации объектов. По сути и назначению это тот же обработчик что и "Перед выгрузкой" в правиле конвертации, но определенный на глобальном уровне - то есть вызываемый для всех правил конвертации. Обработчик удобен, например, когда для справочников всех видов нужно установить НеЗамещатьОбъектПриЗагрузке = Истина или ВсеОбъектыВыгружены = Истина. Обработчик вызывается для всех объектов не зависимо от того выгружается этот объект непосредственно, или потому, что на него есть ссылки. Параметры: Полностью совпадают с параметрами обработчика "Перед выгрузкой" у "Правила конвертации объектов" Пример: Если Лев(ПКО.Приемник, 10) = "Справочник" Тогда НеЗамещатьОбъектПриЗагрузке = Параметры.НеЗамещатьСправочникиПриЗагрузке; ИначеЕсли Лев(ПКО.Приемник, 8) = "Документ" Тогда НеЗамещатьОбъектПриЗагрузке = Параметры.НеЗамещатьДокументыПриЗагрузке; КонецЕсли; |
|||
27
Сияющий Асинхраль
02.03.14
✎
13:22
|
(25) Почему у меня везде работает, а у вас не хочет?
|
|||
28
Йохохо
02.03.14
✎
14:18
|
(27) может у него ПКО нету
В типовой поставке есть правила ПУБ - УПП, там есть пример |
|||
29
Aleksey
02.03.14
✎
14:26
|
(27) вопрос не в том работает или нет. Вопрос в лени прописывать эти условия во все документы и справочниках
|
|||
30
Йохохо
02.03.14
✎
14:35
|
а так
Выражение - Неопределено. Может быть указано произвольное строковое выражение на встроенном языке, результат вычисления которого при загрузке будет присвоен значению свойства. Если Выражение определить в теле обработчика, то дальнейшая обработка ПКС будет прекращена. Данная возможность, используется только если конфигурация-приемник реализована на платформе V8 |
|||
31
zak555
02.03.14
✎
14:53
|
(29) это не лень, верность мысли
|
|||
32
zak555
02.03.14
✎
14:54
|
(26) что туда передавать ?
|
|||
33
zak555
02.03.14
✎
14:55
|
(30) сейчас проверю
|
|||
34
zak555
02.03.14
✎
14:56
|
(30) так это в пкс писать...
не пойдёт |
|||
35
Aleksey
02.03.14
✎
15:18
|
(32)? Т.е. это глобальный обработчик который вызывается всегда при конвертации любого объекта
|
|||
36
Йохохо
02.03.14
✎
15:36
|
(35) типа так?
Если ТипЗначения(Источник) = Тип(СправочникССылка.СтавкаНДС) Тогда ИмяПКО = "СтавкиНДС"; КонецЕсли |
|||
37
Йохохо
02.03.14
✎
15:37
|
если ошибки исправить)
|
|||
38
Aleksey
02.03.14
✎
15:42
|
ну имя не нужно, а вот значение, точнее источник нужно
|
|||
39
mulmulya
02.03.14
✎
16:01
|
из 7 ставки ндс переносила конвертацией значений
|
|||
40
zak555
02.03.14
✎
16:02
|
(35) не пойму : через какие "параметры" передавать значение ?
|
|||
41
zak555
02.03.14
✎
16:02
|
(39) в 0 написано не через пкз
это тоже нелогичный способ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |