|   |   | 
| 
 | Передать данные из ПКС в ПКО | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Как вариант отключи выгрузку поля Основной договор, тогда твоей проблемы вообще не будет     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |