|
Передать данные из ПКС в ПКО | ☑ | ||
---|---|---|---|---|
0
Dimarik_1
11.05.18
✎
09:55
|
При работе ПКО "ДоговорыКонтрагентовДоговорыКредитовИДепозитов" есть ПКС Владелец-Партнер. В этом ПКС ПередВыгрузкой я написал:
ИсходящиеДанные = Новый Структура("ПрочиеОтношения", Истина); Затем захожу в ПКО "Контрагенты_Партнеры и прописываю в ПКС "ПрочиеОтношения" Если ТипЗнч(ВходящиеДанные) = Тип("Структура") Тогда Если ВходящиеДанные.Свойство("ПрочиеОтношения") Тогда Значение = ВходящиеДанные.ПрочиеОтношения; Иначе Значение = Ложь; КонецЕсли; Иначе Значение = Ложь; КонецЕсли; в результате не отрабатывает https://fastpic.co/image/P86eWd https://fastpic.co/image/P86Ta2 и у меня в отладчике во входящих данных нет ничего |
|||
1
cons74
11.05.18
✎
10:02
|
Выгружай модули выгрузки и отладка в руки
|
|||
2
hhhh
11.05.18
✎
10:03
|
(0) ты же данные в ПКО передал, вот и читай их в ПКО. Зачем ты в ПКС "ПрочиеОтношения" полез?
|
|||
3
Dimarik_1
11.05.18
✎
10:13
|
и что мне в ПКО с ними сделать? Записать их в какой-нибудь параметр или как?
|
|||
4
Dimarik_1
11.05.18
✎
10:29
|
В ПКО тоже нет входящих данных
|
|||
5
mexanik_96
11.05.18
✎
10:38
|
В этом ПКС ПередВыгрузкой я написал:
ИсходящиеДанные = Новый Структура("ПрочиеОтношения", Истина); ???? |
|||
6
mexanik_96
11.05.18
✎
10:39
|
не так нужно, в ПКО "Контрагенты_Партнеры и прописываю в ПКС "ПрочиеОтношения" ставишь галку получать из входящих данных, далее в пко перед выгрузкой определяешь(получаешь из других пко\пкс) входящие данные.
|
|||
7
Dimarik_1
11.05.18
✎
10:52
|
Ну я так и сделал:
1. Передал в ПКС "Перед выгрузкой" https://fastpic.co/image/P86Uog 2. Остановился в ПКО "Контрагенты_Партнеры https://fastpic.co/image/P863fJ https://fastpic.co/image/P862dp входящие и исхоящие данные не определены. как я получу входящие данные? галка "Получать из входящих данных" стоит https://fastpic.co/image/P86cM7 |
|||
8
mexanik_96
11.05.18
✎
10:54
|
ИсходящиеДанные поменяй на входящие в пко Контрагенты_Партнеры
|
|||
9
Dimarik_1
11.05.18
✎
11:02
|
ну вот. пусто
https://fastpic.co/image/P860yn |
|||
10
Ёпрст
11.05.18
✎
11:19
|
(9) две ххххх в ИсХХодящиеданные
|
|||
11
hhhh
11.05.18
✎
11:23
|
(9) да, чо за Исхх такое? Пятница?
|
|||
12
Dimarik_1
11.05.18
✎
13:09
|
Всё равно не передается значение
https://fastpic.co/image/P8CGcr https://fastpic.co/image/P8C5w6 https://fastpic.co/image/P8CFkO |
|||
13
Cyberhawk
11.05.18
✎
13:11
|
(8) Нет. Это из ПКО в ПКС входящие --> входящие, из ПКС в ПКО все в этом плане нормально (исходящие ПКС --> входящие ПКО)
|
|||
14
Йохохо
11.05.18
✎
13:13
|
ИсходящиеДанные - Произвольный - произвольные вспомогательные данные. Данные передаются по следующим правилам:
1. ПВД.ИсходящиеДанные -> ПКО.ВходящиеДанные 2. ПКО.ВходящиеДанные -> ПКС.ВходящиеДанные 3. ПКС.ИсходящиеДанные -> ПКО.ВходящиеДанные |
|||
15
Cyberhawk
11.05.18
✎
13:13
|
Что куда там у автора не передается, Я хз - внятного описания текущей ситуации Я у него увидел
|
|||
16
Dimarik_1
11.05.18
✎
13:24
|
(15) Я переношу договоры в договоры кредитов и депозитов.
Для партнеров, у которые есть договор кредитов и депозитов, я хочу поставить галочку "прочие отношения". Для этого 1. В ПКС КонтрагентыПартнеры ПКО ДоговорыКредитовИДепозитов я прописал ИсходящиеДанные = Новый Структура("ПрочиеОтношения", Истина); 2. в ПКО "Контрагенты_Партнеры" я прописал: Если ТипЗнч(ВходящиеДанные) = Тип("Структура") Тогда Если ВходящиеДанные.Свойство("ПрочиеОтношения") Тогда Сообщить("Есть во входящих ПКО"); КонецЕсли; КонецЕсли; Внутрь попадает!!! 3. В ПКС "Прочие отношения" я прописал Если ТипЗнч(ВходящиеДанные) = Тип("Структура") Тогда Если ВходящиеДанные.Свойство("ПрочиеОтношения") Тогда Значение = ВходящиеДанные.ПрочиеОтношения; Сообщить("УРА"); Иначе Значение = Ложь; КонецЕсли; Иначе Значение = Ложь; КонецЕсли; Внутрь не попадает. https://fastpic.co/image/P8CjPx https://fastpic.co/image/P8CZbQ https://fastpic.co/image/P8CeJK |
|||
17
Cyberhawk
11.05.18
✎
13:26
|
(16) Ты давай в трех словах и в одной картинке
|
|||
18
Dimarik_1
11.05.18
✎
13:28
|
необходимо, чтобы при переносе договоров кредитов и депозитов, у партнера устанавливалась галочка "Прочие отношения".
Я делал через входящие данные. У меня входящие данные из ПКО не попадают в ПКС |
|||
19
Cyberhawk
11.05.18
✎
13:29
|
"входящие данные из ПКО не попадают в ПКС" // По такому описанию вряд ли можешь рассчитывать на помощь
|
|||
20
Dimarik_1
11.05.18
✎
13:31
|
Захожу в ПКО. У меня там во входящий данные есть Свойство "Прочие отношения". А затем в ПКС внутрь когда попадаю, этого свойства уже нет
|
|||
21
Cyberhawk
11.05.18
✎
13:32
|
(20) В ПКО проинициализируй и входящие, и исходящие. А то вдруг ты пользуешься обменом данными из БСП, где это пофиксено
|
|||
22
Dimarik_1
11.05.18
✎
13:33
|
мне еще раз написать ВходящиеДанные = Новый Структура?
И для исходящих? зачем? если у меня входящие уже структура со своими свойствами? |
|||
23
Cyberhawk
11.05.18
✎
13:36
|
"ВходящиеДанные = Новый Структура" // Нет конечно, так ты затрешь то что туда могло быть положено из ПВД
|
|||
24
Cyberhawk
11.05.18
✎
13:36
|
Продолжай задавать вопросы и мыкаться, видимо ты жираф
|
|||
25
Dimarik_1
11.05.18
✎
13:37
|
ПКО проинициализируй и входящие, и исходящие
тогда как |
|||
26
Cyberhawk
11.05.18
✎
13:42
|
Ну добавь ключ в структуру
|
|||
27
Cyberhawk
11.05.18
✎
13:42
|
Если это структура. Если неопределено, то создай стуктуру
|
|||
28
arsik
гуру
11.05.18
✎
13:46
|
Ой да сделай уже через глобальные параметры.
|
|||
29
Dimarik_1
11.05.18
✎
13:54
|
(28) Сейчас увидел проблему.
2 раза вызывается ПКО_ПередВыгрузкой_Контрагенты_Партнеры для одного и того же контрагента. то есть происходит следующее 1. вызывается ПКО_ПередВыгрузкой_Контрагенты_Партнеры, во входящих данных есть нужное свойство 2. ЕЩЕ РАЗ вызывается ПКО_ПередВыгрузкой_Контрагенты_Партнеры, во входящих данных ОТСУТСТВУЕТ нужное свойство 3. Вызывается ПКС "ПрочиеОтношения", нужное свойство отсутствует |
|||
30
Dimarik_1
11.05.18
✎
13:58
|
Точнее не так. Сначала вызывается без свойства во входящих данных, а потом со свойством
|
|||
31
Cyberhawk
11.05.18
✎
14:03
|
Ну наверное первый раз объект выгружается непосредственно (из ПВД), второй раз - по ссылке (из ПКС)
|
|||
32
Йохохо
11.05.18
✎
14:04
|
(30) повезло, что не бесконечный цикл. Скорее всего где то вызывается сначала с невыгружатьреквизитыобъекта, только ссылка и поля поиска, а потом уже объект. Дважды вызываетсся ПКО
|
|||
33
Йохохо
11.05.18
✎
14:08
|
реквизит ОсновнойДоговор)
|
|||
34
Dimarik_1
11.05.18
✎
14:35
|
Вот что оно оказалось. я выгружаю Договоры. Но сначала у меня выгрузятся объекты по свойствам, а потом сам договор. В принципе это логично. Это я обнаружил когда через глобальные параметры передавать пытался данные.
|
|||
35
arsik
гуру
11.05.18
✎
14:52
|
Вообще то если объект уже выгружен, вроде он не должен второй раз выгружаться. Это конечно если правило то же самое.
|
|||
36
Dimarik_1
11.05.18
✎
15:01
|
все проблемы из-за того, что сначала партнер выгружается, а потом сам договор
|
|||
37
Йохохо
11.05.18
✎
15:04
|
(36) нет, или ключ не формируется или вы доделываете за кем то и галки сбиты
|
|||
38
Franchiser
гуру
11.05.18
✎
15:07
|
Если Правила.Договоры.Выгруженные[Источник.Владелец] = Неопределено тогда
Выгрузитьпоправилу(Источник.Владелец); КонецЕсли; |
|||
39
Franchiser
гуру
11.05.18
✎
15:08
|
Это проблема циклических ссылок
|
|||
40
Йохохо
11.05.18
✎
15:15
|
(38) коряво, и проблема ключа не решена
|
|||
41
Franchiser
гуру
11.05.18
✎
15:18
|
(40) Ключ можно передать через параметры конвертации.
|
|||
42
Йохохо
11.05.18
✎
16:42
|
(41) Выгруженные[Источник.Владелец], Источник.Владелец это ключ вроде
|
|||
43
Franchiser
гуру
11.05.18
✎
17:15
|
Тогда так:
КлючВыгружаемыхДанных = ВходящиеДанные.Контрагент_Партнер; |
|||
44
Йохохо
11.05.18
✎
17:21
|
(43) это лажает на произвольной выборке
|
|||
45
Franchiser
гуру
11.05.18
✎
17:28
|
(44) вот зануда... Все проблемы решаемы: пусть проверяет какая выборка, делает 2 правила и т.д.
|
|||
46
Йохохо
11.05.18
✎
17:55
|
(45) боюсь забыть что не знал
|
|||
47
Dimarik_1
11.05.18
✎
21:24
|
(39) почему проблема циклических ссылок? Как я читал, эта проблема основана на том, что не выгружается лишний раз объект. И одни из способов её решения (правда неоптимальный способ это) является установка галочки "Не запоминать выгруженные объекты". Но здесь дело скорее всего не в этом. Можете пояснить, по какой причине такая проблема возникла?
|
|||
48
Franchiser
гуру
12.05.18
✎
13:36
|
(47) потому что в контрагенты есть реквизит основной договор, а в договоре есть Владелец договора: т.е. Договор при выгрузке пытается сначала выгрузить контрагента, но узел контрагента записать нельзя пока не записан основной договор в котором ссылка на владельца-контрагента. Такая проблема возникает из-за того что договор выгружается раньше контрагента. Нужно обеспечить выгрузку контрагента раньше договора.
|
|||
49
Franchiser
гуру
12.05.18
✎
13:37
|
Если контрагент выгрузится первым, то затем при выгрузке договора он будет подтянут из Кеша.
|
|||
50
Franchiser
гуру
12.05.18
✎
13:41
|
Владелец договора является полем по которому ведётся поиск, в этом и заключается проблема имена с договором а не контрагентом. Поля с галками поиска является полями которые определяют основными для поиска ссылок и создания их узлов.
|
|||
51
Franchiser
гуру
12.05.18
✎
13:46
|
(48) неправильно написал: договор не может быть найден по нет закешированного контрагента, а контрагент не может записаться пока не запишется основной договор.
|
|||
52
Franchiser
гуру
12.05.18
✎
13:50
|
Короче последовательность такая: контрагента нужно писать вперёд по полям поиска он найдется или будет получен из Кеша, потом найдется или запишется основной договор и только потом будет определен Владелец твоего договора и он уже будет найден по полям поиска или получен из Кеша и затем заполненные его реквизиты.
|
|||
53
Franchiser
гуру
12.05.18
✎
13:53
|
Как вариант отключи выгрузку поля Основной договор, тогда твоей проблемы вообще не будет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |