|
КД2. Указать документ основания в базе приемнике. | ☑ | ||
---|---|---|---|---|
0
KazSever
06.10.21
✎
20:01
|
Коллеги, добрый всем вечер.
Такая ситуация: из одного документа, при выгрузке по правилам обмена КД2, создаются два документа. Как указать в одном из них, что первый является документом основания второго? |
|||
1
Жан Пердежон
06.10.21
✎
20:11
|
В реквизит второго записать ссылку на первый
|
|||
2
KazSever
06.10.21
✎
20:14
|
(1)А как ее получить?
|
|||
3
серый КТУЛХУ
06.10.21
✎
20:57
|
(2): судя по вашему вопросу - никак.
|
|||
4
GANR
06.10.21
✎
21:16
|
(0) 1 документу-основанию соответствует 1 документ-потомок? Если да, то хэш-функцией на основании ГУИД-а документа из источника сгенерировать ГУИД документа основания. Если же нет, то это не к форуму вопрос уже.
|
|||
5
KazSever
06.10.21
✎
21:38
|
(4) Вот, о чем я говорю
https://ibb.co/CWZKrw3 |
|||
6
vde69
06.10.21
✎
21:53
|
ВыгрузитьПоПравилу
и в параметрах передаешь ключ на первый |
|||
7
KazSever
06.10.21
✎
21:55
|
(6) А в обработчике каком событии это сделать? Перед выгрузкой?
|
|||
8
vde69
06.10.21
✎
22:01
|
(7) перед выгрузкой ОБЪЕКТА.
только с передачей параметра есть засада, тебе нужно передавать ключ а потом после загрузки по ключу искать документ и записывать ссылку, то есть уже в базе приемника обработка параметра должна быть. хотя можно передать и "по ссылке" но это не очень красиво будет |
|||
9
KazSever
06.10.21
✎
22:04
|
(8) Спасибо, буду пробовать!
|
|||
10
hhhh
06.10.21
✎
22:50
|
что-то вы напугали парня. Просто создать 2 правила, а в ПКС ДокументОснование первого правила задать Значение = Источник.Ссылка; и указать там второе правило.
|
|||
11
KazSever
07.10.21
✎
12:00
|
В общем нашел следующий выход из ситуации - в обработчике события ПКО "после загрузки" программно создаю подчиненный документ и тут же указывают в нем нужный документ основания (так же и заполняю нужные реквизиты). Конечно вопрос о дублях возникает, но думаю организовать поиск по коду и дате документа не составит труда.
НовыйДок = Документы.эл_ПоступлениеЗерна.СоздатьДокумент(); НовыйДок.Номер = Объект.Номер; НовыйДок.Дата = Объект.Дата; НовыйДок.ДокументОснование = Объект.Ссылка; НовыйДок.Записать(); Всем спасибо за помощь, думаю вопрос закрыт. |
|||
12
vde69
07.10.21
✎
20:24
|
до меня дошел самый простой способ
в ПВД делаем выгрузку только для вторичного(подчиненного) документа, все штатно в ПКС у этого документа (поле "ДокументОснование") указываем указываем Значение = Источник.Ссылка и в свойствах указываем на ПКО родителя у Родителя указываем "всегда выгружать обьект" |
|||
13
серый КТУЛХУ
08.10.21
✎
12:54
|
(12): ха, при выгрузке данных создается подчиненный, в его реквизит суется ссылка на документ-источник - и уже по значению этого реквизита по пко он же выгоняется туда же (в выгрузку) уже по-другому?..
|
|||
14
vde69
08.10.21
✎
21:20
|
(13) да именно так.
единственный минус системы - всегда будет создаватся два документа с одним гуидом, но это не смертельно по сколько типы (и таблицы) разные |
|||
15
Naumov
09.10.21
✎
01:15
|
(14) Беда начинается, когда эти два документа оказываются в одном журнале документов
|
|||
16
серый КТУЛХУ
09.10.21
✎
01:55
|
(15): а развернуть этот комментарий - можно?
(заранее благодарен) |
|||
17
acanta
09.10.21
✎
06:28
|
(16) вероятно, что-то вроде попытки вставки не уникального значения в уникальный индекс
|
|||
18
hhhh
09.10.21
✎
08:30
|
(14) не создается там с одинаковым гуидом. КД2 не совсем тупая. Надо просто в правиле убрать поиск по уникальному идентификатору. И оставить поиск по номеру и дате.
|
|||
19
vde69
09.10.21
✎
13:31
|
(18) да можно и с разными гуидами создавать, и если уж делать хорошо - гуид перегенерить и записать в регистр соответствий и поиск делать по гуиду через регистр.
(15) в (12) я написал в пол девятого вечера по памяти без живого примера, но практически без кода, одними галочками... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |