Вход | Регистрация



Передать данные из ПКС в ПКО

Передать данные из ПКС в ПКО
Я
   Dimarik_1
 
11.05.18 - 09:55
При работе ПКО "ДоговорыКонтрагентовДоговорыКредитовИДепозитов" есть ПКС Владелец-Партнер. В этом ПКС ПередВыгрузкой я написал:
ИсходящиеДанные = Новый Структура("ПрочиеОтношения", Истина);
Затем захожу в ПКО "Контрагенты_Партнеры и прописываю в ПКС "ПрочиеОтношения"

Если ТипЗнч(ВходящиеДанные) = Тип("Структура") Тогда
    Если ВходящиеДанные.Свойство("ПрочиеОтношения") Тогда
        Значение = ВходящиеДанные.ПрочиеОтношения;
    Иначе
        Значение = Ложь;
    КонецЕсли;
Иначе
    Значение = Ложь;
КонецЕсли;



в результате не отрабатывает
https://fastpic.co/image/P86eWd
https://fastpic.co/image/P86Ta2

и у меня в отладчике во входящих данных нет ничего
 
 
   cons74
 
1 - 11.05.18 - 10:02
Выгружай модули выгрузки и отладка в руки
   hhhh
 
2 - 11.05.18 - 10:03
(0) ты же данные в ПКО передал, вот и читай их в ПКО. Зачем ты в ПКС "ПрочиеОтношения" полез?
   Dimarik_1
 
3 - 11.05.18 - 10:13
и что мне в ПКО с ними сделать? Записать их в какой-нибудь параметр или как?
   Dimarik_1
 
4 - 11.05.18 - 10:29
В ПКО тоже нет входящих данных
   mexanik_96
 
5 - 11.05.18 - 10:38
В этом ПКС ПередВыгрузкой я написал:
ИсходящиеДанные = Новый Структура("ПрочиеОтношения", Истина); ????
   mexanik_96
 
6 - 11.05.18 - 10:39
не так нужно, в ПКО "Контрагенты_Партнеры и прописываю в ПКС "ПрочиеОтношения" ставишь галку получать из входящих данных, далее в пко перед выгрузкой определяешь(получаешь из других пко\пкс) входящие данные.
   Dimarik_1
 
7 - 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
   mexanik_96
 
8 - 11.05.18 - 10:54
ИсходящиеДанные  поменяй на входящие в пко Контрагенты_Партнеры
   Dimarik_1
 
9 - 11.05.18 - 11:02
ну вот. пусто
https://fastpic.co/image/P860yn
   Ёпрст
 
10 - 11.05.18 - 11:19
(9) две ххххх в ИсХХодящиеданные
 
 Рекламное место пустует
   hhhh
 
11 - 11.05.18 - 11:23
(9) да, чо за Исхх такое? Пятница?
   Dimarik_1
 
12 - 11.05.18 - 13:09
Всё равно не передается значение
https://fastpic.co/image/P8CGcr
https://fastpic.co/image/P8C5w6
https://fastpic.co/image/P8CFkO
   Cyberhawk
 
13 - 11.05.18 - 13:11
(8) Нет. Это из ПКО в ПКС входящие --> входящие, из ПКС в ПКО все в этом плане нормально (исходящие ПКС --> входящие ПКО)
   Йохохо
 
14 - 11.05.18 - 13:13
ИсходящиеДанные - Произвольный - произвольные вспомогательные данные. Данные передаются по следующим правилам:

1.      ПВД.ИсходящиеДанные -> ПКО.ВходящиеДанные

2.      ПКО.ВходящиеДанные -> ПКС.ВходящиеДанные

3.      ПКС.ИсходящиеДанные -> ПКО.ВходящиеДанные
   Cyberhawk
 
15 - 11.05.18 - 13:13
Что куда там у автора не передается, Я хз - внятного описания текущей ситуации Я у него увидел
   Dimarik_1
 
16 - 11.05.18 - 13:24
(15) Я переношу договоры в договоры кредитов и депозитов.
Для партнеров, у которые есть договор кредитов и депозитов, я хочу поставить галочку "прочие отношения". Для этого
1. В ПКС КонтрагентыПартнеры ПКО ДоговорыКредитовИДепозитов я прописал
ИсходящиеДанные = Новый Структура("ПрочиеОтношения", Истина);

2. в ПКО "Контрагенты_Партнеры" я прописал:
    Если ТипЗнч(ВходящиеДанные) = Тип("Структура") Тогда
        Если ВходящиеДанные.Свойство("ПрочиеОтношения") Тогда
            Сообщить("Есть во входящих ПКО");
        КонецЕсли;

    КонецЕсли;

Внутрь попадает!!!
3. В ПКС "Прочие отношения" я прописал
Если ТипЗнч(ВходящиеДанные) = Тип("Структура") Тогда
    Если ВходящиеДанные.Свойство("ПрочиеОтношения") Тогда
        Значение = ВходящиеДанные.ПрочиеОтношения;
        Сообщить("УРА");
    Иначе
        Значение = Ложь;
    КонецЕсли;
Иначе
    Значение = Ложь;
КонецЕсли;


Внутрь не попадает.
https://fastpic.co/image/P8CjPx
https://fastpic.co/image/P8CZbQ
https://fastpic.co/image/P8CeJK
   Cyberhawk
 
17 - 11.05.18 - 13:26
(16) Ты давай в трех словах и в одной картинке
   Dimarik_1
 
18 - 11.05.18 - 13:28
необходимо, чтобы при переносе договоров кредитов и депозитов, у партнера устанавливалась галочка "Прочие отношения".
Я делал через входящие данные. У меня входящие данные из ПКО не попадают в ПКС
   Cyberhawk
 
19 - 11.05.18 - 13:29
"входящие данные из ПКО не попадают в ПКС" // По такому описанию вряд ли можешь рассчитывать на помощь
   Dimarik_1
 
20 - 11.05.18 - 13:31
Захожу в ПКО. У меня там во входящий данные есть Свойство "Прочие отношения". А затем в ПКС внутрь когда попадаю, этого свойства уже нет
   Cyberhawk
 
21 - 11.05.18 - 13:32
(20) В ПКО проинициализируй и входящие, и исходящие. А то вдруг ты пользуешься обменом данными из БСП, где это пофиксено
   Dimarik_1
 
22 - 11.05.18 - 13:33
мне еще раз написать ВходящиеДанные = Новый Структура?
И для исходящих? зачем? если у меня входящие уже структура со своими свойствами?
   Cyberhawk
 
23 - 11.05.18 - 13:36
"ВходящиеДанные = Новый Структура" // Нет конечно, так ты затрешь то что туда могло быть положено из ПВД
   Cyberhawk
 
24 - 11.05.18 - 13:36
Продолжай задавать вопросы и мыкаться, видимо ты жираф
   Dimarik_1
 
25 - 11.05.18 - 13:37
ПКО проинициализируй и входящие, и исходящие
тогда как
   Cyberhawk
 
26 - 11.05.18 - 13:42
Ну добавь ключ в структуру
   Cyberhawk
 
27 - 11.05.18 - 13:42
Если это структура. Если неопределено, то создай стуктуру
   arsik
 
28 - 11.05.18 - 13:46
Ой да сделай уже через глобальные параметры.
   Dimarik_1
 
29 - 11.05.18 - 13:54
(28) Сейчас увидел проблему.
2 раза вызывается ПКО_ПередВыгрузкой_Контрагенты_Партнеры для одного и того же контрагента.
то есть происходит следующее
1. вызывается ПКО_ПередВыгрузкой_Контрагенты_Партнеры, во входящих данных есть нужное свойство
2. ЕЩЕ РАЗ вызывается ПКО_ПередВыгрузкой_Контрагенты_Партнеры, во входящих данных ОТСУТСТВУЕТ нужное свойство
3. Вызывается ПКС "ПрочиеОтношения", нужное свойство отсутствует
   Dimarik_1
 
30 - 11.05.18 - 13:58
Точнее не так. Сначала вызывается без свойства во входящих данных, а потом со свойством
   Cyberhawk
 
31 - 11.05.18 - 14:03
Ну наверное первый раз объект выгружается непосредственно (из ПВД), второй раз - по ссылке (из ПКС)
   Йохохо
 
32 - 11.05.18 - 14:04
(30) повезло, что не бесконечный цикл. Скорее всего где то вызывается сначала с невыгружатьреквизитыобъекта, только ссылка и поля поиска, а потом уже объект. Дважды вызываетсся ПКО
   Йохохо
 
33 - 11.05.18 - 14:08
реквизит ОсновнойДоговор)
 
 
   Dimarik_1
 
34 - 11.05.18 - 14:35
Вот что оно оказалось. я выгружаю Договоры. Но сначала у меня выгрузятся объекты по свойствам, а потом сам договор. В принципе это логично. Это я обнаружил когда через глобальные параметры передавать пытался данные.
   arsik
 
35 - 11.05.18 - 14:52
Вообще то если объект уже выгружен, вроде он не должен второй раз выгружаться. Это конечно если правило то же самое.
   Dimarik_1
 
36 - 11.05.18 - 15:01
все проблемы из-за того, что сначала партнер выгружается, а потом сам договор
   Йохохо
 
37 - 11.05.18 - 15:04
(36) нет, или ключ не формируется или вы доделываете за кем то и галки сбиты
   Franchiser
 
38 - 11.05.18 - 15:07
Если Правила.Договоры.Выгруженные[Источник.Владелец] = Неопределено тогда
Выгрузитьпоправилу(Источник.Владелец);
КонецЕсли;
   Franchiser
 
39 - 11.05.18 - 15:08
Это проблема циклических ссылок
   Йохохо
 
40 - 11.05.18 - 15:15
(38) коряво, и проблема ключа не решена
   Franchiser
 
41 - 11.05.18 - 15:18
(40) Ключ можно передать через параметры конвертации.
   Йохохо
 
42 - 11.05.18 - 16:42
(41) Выгруженные[Источник.Владелец], Источник.Владелец это ключ вроде
   Franchiser
 
43 - 11.05.18 - 17:15
Тогда так:
КлючВыгружаемыхДанных = ВходящиеДанные.Контрагент_Партнер;
   Йохохо
 
44 - 11.05.18 - 17:21
(43) это лажает на произвольной выборке
   Franchiser
 
45 - 11.05.18 - 17:28
(44) вот зануда... Все проблемы решаемы: пусть проверяет какая выборка, делает 2 правила и т.д.
   Йохохо
 
46 - 11.05.18 - 17:55
(45) боюсь забыть что не знал
   Dimarik_1
 
47 - 11.05.18 - 21:24
(39) почему проблема циклических ссылок? Как я читал, эта проблема основана на том, что не выгружается лишний раз объект. И одни из способов её решения (правда неоптимальный способ это) является установка галочки "Не запоминать выгруженные объекты". Но здесь дело скорее всего не в этом. Можете пояснить, по какой причине такая проблема возникла?
   Franchiser
 
48 - 12.05.18 - 13:36
(47) потому что в контрагенты есть реквизит основной договор, а в договоре есть Владелец договора: т.е. Договор при выгрузке пытается сначала выгрузить контрагента, но узел контрагента записать нельзя пока не записан основной договор в котором ссылка на владельца-контрагента. Такая проблема возникает из-за того что договор выгружается раньше контрагента. Нужно обеспечить выгрузку контрагента раньше договора.
   Franchiser
 
49 - 12.05.18 - 13:37
Если контрагент выгрузится первым, то затем при выгрузке договора он будет подтянут из Кеша.
 
 Рекламное место пустует
   Franchiser
 
50 - 12.05.18 - 13:41
Владелец договора является полем по которому ведётся поиск, в этом и заключается проблема имена с договором а не контрагентом. Поля с галками поиска является полями которые определяют основными для поиска ссылок и создания их узлов.
   Franchiser
 
51 - 12.05.18 - 13:46
(48) неправильно написал: договор не может быть найден по нет закешированного контрагента, а контрагент не может записаться пока не запишется основной договор.
   Franchiser
 
52 - 12.05.18 - 13:50
Короче последовательность такая: контрагента нужно писать вперёд по полям поиска он найдется или будет получен из Кеша, потом найдется или запишется основной договор и только потом будет определен Владелец твоего договора и он уже будет найден по полям поиска или получен из Кеша и затем заполненные его реквизиты.
   Franchiser
 
53 - 12.05.18 - 13:53
Как вариант отключи выгрузку поля Основной договор, тогда твоей проблемы вообще не будет


Список тем форума
Рекламное место пустует  Рекламное место пустует
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует