v7: Конвертация Данных: передача значений для полей поиска в ПКО #637367


#0 by PiotrLoginov
Не смог найти информацию: как-то можно передать Исходящие данные для нескольких полей поиска ПКО прямо из ПВД? (В ПВД формирую ТаблицуЗначений.) Синтаксис такой же, как если бы я передавал Исходящие данные из обработчика Перед выгрузкой для ПКС ссылочного типа? Заранее спасибо за подсказки.
#1 by leonidkorolev
Вроде как эта формируемая ТЗ и является типа Исходящими данными. Напрашивается просто добавить в нее колонки с нужными данные. Можно подробнее, в какой объект загружатся данные и зачем входящие данные?
#2 by PiotrLoginov
Переношу договора. То есть один справочник в один справочник (ПКО ДоговорыКонтрагентов) Не справляюсь. На днях консультировался по произвольному алгоритму в ПВД, сейчас вот проблема с ПКС для реквизитов ссылочного типа. Вот например надо, чтобы в формируемом в приемнике справочнике "Договоры контрагентов" у каждого элемента был заполнен реквизит Партнер - ссылка на элемент справочника Партнеры.
#3 by acsent
Сделай правило Контрагент > Партнер
#4 by PiotrLoginov
Уже сделал.  В нем ПКС Наименование. Это поле, по которому будет производится поиск.
#5 by PiotrLoginov
Отбой. Не то написал.  Вы предлагаете Создать ПКС Контрагент - > Партнер? Так у меня же значения в ПКО ДоговорыКонтрагентов берутся не из источника, а из ТаблицыЗначений, формируемой в ПВД. Источника у ПКО ДоговорыКонтрагентов нету.
#6 by acsent
В таблице же поле контрагент ну или владелец есть?
#7 by PiotrLoginov
В таблице есть колонка Партнер. Значение "Партнер" для каждой строки таблицы формируется произвольным алгоритмом обработчика ПВД "Перед обработкой"
#8 by PiotrLoginov
Бог с ними, с несколькими полями поиска. Для начала понять бы, как передать значение в одно поле поиска. Еще раз: есть ПКО ДоговорыКонтрагентов . В нем ПКС для реквизита Партнер (реквизит - ссылочного типа). Для этого ПКС указано правило конвертации (отдельное ПКО) Партнеры, в котором создано ПКС Наименование (по нему должен производится поиск). Как же мне передать значение реквизита источника Контрагент в это поле поиска?
#9 by leonidkorolev
В ПКС Партнер добавь в обработчик ПередВыгрузкой ИсходящиеДанные = Новый Структура; ИсходящиеДанные.Вставить("Наименование",Источник.Партнер); p.s. Мне интересно если в ПВД в колонку Партнер запихивать ТЗ с колонками прокатит нет?
#10 by PiotrLoginov
Обычно сначала указывал в параметрах функции что вставлять, а потом уже - куда вставлять. Пробую...
#11 by leonidkorolev
Это структура Вставить (Insert) Синтаксис: Вставить(<Ключ>, <Значение>) Параметры: Тип: Строка. Ключ устанавливаемого элемента. Тип: Произвольный. Значение устанавливаемого элемента. Описание: Устанавливает значение элемента структуры по ключу. Если элемент с переданным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример:
#12 by PiotrLoginov
err ИсходящиеДанные = Новый <<?>>Структура; Переменная не определена (Структура) Вспомнил: обычно для семерки писал Пробую...  Тока сомневаюсь - источника-то как такого нету.
#13 by PiotrLoginov
* как такового
#14 by PiotrLoginov
Ошибка исполнения обработчика:  ПКС_ПередВыгрузкой_ДоговорыКонтрагентов_Партнер_Реквизит9  - Поле агрегатного объекта не обнаружено (Владелец)
#15 by PiotrLoginov
Попробую теперь в алгоритме создания ТаблицыЗначений попытаться засунуть в "Партнер" специальное ТЗ, как написано в Так или иначе спасибо за участие. Жаль, что формирование ИсходящихДанных прямо из ПВД не упомянуто ни у Бояркина, ни в справке в конфе.
#16 by PiotrLoginov
* к конфе
#17 by acsent
Обработчики "Правила выгрузки данных" Перед выгрузкой объекта Условия возникновения события Событие выполняется при получении очередного объекта из выборки, до передачи этого объекта правилу конвертации. Параметры: ВходящиеДанные - произвольные вспомогательные данные, инициализированные в обработчике «Перед обработкой» правила выгрузки данных как ИсходящиеДанные.
#18 by acsent
#19 by PiotrLoginov
Ну допустим, создам я в ПВД ИсходящиеДанные.  И в ПКО они придут как ВходящиеДанные... *пытаясь сообразить, чешу лоб"  Что мне там с ними делать?
#20 by PiotrLoginov
я хоть правильно понял ? я могу в обработчике ПКО засунуть в ИсходящиеДанные для ПКС поля поиска те значения, что пришли ко мне из ПВД в виде ВходящихДанных?
#21 by PiotrLoginov
Так. Спасибо за наводку. Почитал соответствующее место у Бояркина.  Получается, 1) в ПВД "Перед обработкой" создаю ИсходящиеДанные. 2) В "Перед выгрузкой" принимаю ВходящиеДанные, преобразую в ИсходящиеДанные. 3) В ПКО получаю ВходящиеДанные, преобразую в ИсходящиеДанные 4) В ПКС поля поиска получаю ВходящиеДанные - использую их. Мягко говоря, витиевато.. ну да лишь бы сработало. Если я что-то не так понял, поправьте меня заранее, гуру, ибо писать эту цепочку я буду до-олго.
#22 by Йохохо
ПВД Стандартная выборка ПКО ПКС Партнер: Источник пусто ПередВыгрузкой
#23 by PiotrLoginov
В ПКС Партнер формировать Значение? А не ИсходящиеДанные?
#24 by Йохохо
на 1 галку меньше ставить
#25 by PiotrLoginov
Аа-а.. дошло.. сформировать Значение, чтобы потом его использовать в полях поиска...  А можно в Значение вставлять информацию из ВходящихДанных?  Меня просто смущает тот факт, что у ПКО ДоговорыКонтрагентов будет несколько ПКС ссылочного типа... Как бы не запутать ситуацию еще больше...
#26 by PiotrLoginov
В любом случае буду помнить всегда, что можно сразу сформировать Значение.  Спасибо большое, ценная информация.
#27 by PiotrLoginov
Так. Алгоритм не сработал: ссылка на элемент справочника Контрагенты выгружается, так что выгружаемых объектов стало в 2 раза больше, но в реквизит Партнер в приемнике ссылка не попадает, он по-прежнему пуст в приемнике. Пробую
#28 by PiotrLoginov
Ошибка исполнения обработчика:  ПКС_ПередВыгрузкой_ДоговорыКонтрагентов_Партнер_Реквизит9  - Поле агрегатного объекта не обнаружено (РеквизитПартнер) Изменил РеквизитПартнер на Партнер. Тогда выгружается без ошибок и - о, чудо! - в файле обмена у Свойства "Партнер" появилось "Наименование" , но оно пустое :( Покумекаю еще...
#29 by Йохохо
"Как бы не запутать ситуацию еще больше..." укажи явно ПКО для ПКС
#30 by PiotrLoginov
Разобрался: надо было у ПКС поля поиска снять галку "получать из входящих данных".  Заработало наконец, фу-ух. Получается, передавать значения в поля поиска можно без использования Входящих-Исходящих данных... хотя конечно возможны исключения, посмотрим..
#31 by PiotrLoginov
ПКО для всех ПКС ссылочного типа всегда указываю явно. Йохохо, спасибо за помощь. Странно, что передача значений в поля поиска до сих пор не освещена было подробна на мисте.. Или это только мне кажется сложным...  Еще раз всем за помощь Большое Человеческое спасибо.
#32 by acsent
так там ничего и нет такого, просто галочки ставишь "Поиск" и все
#33 by Йохохо
можешь произвольной выборкой формировать ТЗ и в ней хоть вложенными ТЗ формировать ТЧ, хоть структурами "объекты"
#34 by PiotrLoginov
Ну да, когда разберешься, уже не так все страшно :)  Хотя до конца я еще не въехал - использовать информацию, помещаемую в ПВД в ИсходящиеДанные так и не смог.
#35 by Йохохо
#36 by PiotrLoginov
да, конечно, обязательно копну
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С