#0
by DenYuliya
Добрый день. Подскажите пожалуйста, "куда копать", может как загуглить свой вопрос, чтобы не так подробно, как ниже?? Наверняка такая задача уже 100 раз разбиралась... Есть конфа - Источник (ТиС, 7.7), и конфа-Приемник (УТ 11) В Источнике есть добавленные реквизиты строкового типа (на вкладке каждого эл-та спр. Контрагенты): Должность отдел продаж; ФИО Должности отдел продаж; Тел. отдел продаж. Должность отдел закупок; ФИО Должности отдел закупок; Тел. отдел закупок и т.д. В итоге в каждом эт-те справочника контр. 5 таких строк (в них разные данные). В УТ 11 есть аналогичный по смыслу спр-к "Контактные лица партнеров", с аналогичными реквизитами (должность, ФИО, тел и т.д). Только вот я не могу понять, как мне сделать, чтобы каждый из наборов реквизитов переносились в новый элемент спр. "Контактные лица партнеров", чтобы "на выходе" на основание одного эл-та "Контрагенты" в ТиС у меня получалось 5 разных эл-тов "Контактные лица партнеров" в КА?
#9
by DenYuliya
ага, уже поняла... Я себе представляла это немного по-другому, но проверить не успела... Ссорь за глупые вопросы, когда-нибудь я непременно освою КД и перестану такие задавать.
#15
by Йохохо
там надо гуглить ВыгрузитьПоПравилу ) готовый красивый пример в ЗИК ЗУП ПКО вроде физические лица все данные, там вызывается алгоритм ПослеВыгрузкиФизЛиц. Можно прямо передрать ну там файлик такой выгружается если поставить галку выгружать текст модуля ляля для 7.7
#16
by DenYuliya
а, да, галку знаю такую, и файлик такой знаю. За пример спасиб большое, скачала - лезу изучать.
#19
by DenYuliya
День добрый! Подскажите плиз, в случае использования "ВыгрузитьПоправилу" из спр. Контрагенты в спр. КонтактныеЛицаПартнеров, Источник обязательно должен быть пустым? В спр. Контрагенты есть почти все данные, которые надо перенести.
#21
by DenYuliya
Читаю: "Описание функции ВыгрузитьПоПравилу. Функция ВыгрузитьПоПравилу используется для выгрузки объекта в xml-узел и возвращает узел ссылки на этот объект. В процессе выгрузки эта функция вызывается из: -ПВД, когда объект из выборки получен и необходимо произвести его конвертацию. -ПКО, когда необходимо выгрузить связанную с выгружаемым объектом информацию." Смотрю пример в . Там вообще ни одного из этих вариантов... Из обработчика "ПослеВыгрузкиВФайл" ПКО вызывается Алгоритм. А уже из Алгоритма функция ВыгрузитьПоПравилу. Почему это именно так сделано? Для сокращения кол-ва кода в ПКО и упрощения читабельности?
#22
by Ёпрст
да. Применение алгоритмов - уменьшение кода в правилах при выгрузке. Ну и читабельность, правка кода проще.
#24
by DenYuliya
А почему в данном случае нельзя сделать ПКО "Контрагенты_КонтактныеЛицаПартнеров", с Источником спр.Контрагенты, Приемником спр. КонтактныеЛицаПартнеров. Для данного ПКО создать ПКС с пустым Источником, прописать заполнение Свойств. Потом из ПКО "Контрагенты_Партнеры", в обработчике "ПослеВыгрузки" - ВыгрузитьПоПравилу(Источник,,,,"Контрагенты_КонтактныеЛицаПартнеров"); ? Что-то все крайне непонятно с этим "ВыгрузитьПоПравилу"
#26
by DenYuliya
а зачем в примере сделано тремя ПКО, с одинаковыми Источниками и Приемниками (Сотрудники_Физлица), а не то же самое в одном ПКО?
#27
by Йохохо
из-за сложного поиска т.к. 1 ко многим там, там же поучительный пример как работать с ключом выгружаемых. Одно обеспечивает перенос кадровых, другое корректный поиск из документов и т.д. Всё по ТЗ)
#28
by DenYuliya
жесть...там черт ногу сломит))). А я считала, что один ко многим в контексте КД - это как в "Типовых примерах", один источник - в разные приемники...
#29
by Йохохо
там один ко многим во многих смыслах, кроме справочников еще и элементы. То что в ЗИК один сотр, в ЗУП может стать двумя, но одно физлицо. И требования еще, с одной стороны "кадровые за весь период", с другой "движения и остатки за выбранный"
#30
by DenYuliya
, о, это как раз мой случай, действительно. Из одного Контрагента -> несколько КонтактныхЛицКонтрагента, спасиб.
#31
by DenYuliya
до меня только при повторном прочтение дошло, что в выражение "Все по ТЗ" речь не о ТаблицеЗначений))))
#32
by DenYuliya
можно вас еще спросить? Просто не уверена, верно ли я делаю... Смотрю ваш пример "ЗиК -ЗуП". Заполнение идет из регистров, и в алгоритме "ПослеВыгрузкиФизЛицаВФайл" идет ВыгрузитьПоправилу + ПКО соответствующего регистра, с пустым Источником и Приемником тип РегистрСведений Т.е на каждый создаваемы СписокЗначений - свое отдельное ПКО. Например: и так далее. ПКО Регистров вызываются в Алгоритме через ВыгрузитьПоПравилу Алгоритм вызывается в ПКО "Физлица", в обработчике "послеВыгрузкиВФайл". Все верно? У меня есть Источник (спр.Контрагенты), есть Приемник(спр.КонтактныеЛица). Никаких регистров, ПКО для которых можно было бы создать, нет. В Источнике есть условно 5 разных "наборов" реквизитов, из которых в Приемнике надо создать 5 разных элементов с одним и тем же "Владельцем" (спр.Ссылка.Контрагент). 1) Я создала алгоритм "ВыгрузитьКонтрагентаВКонтактныеЛица" 2) В ПКО "Контрагенты_КонтактныеЛица" прописала в обработчике "послеВыгрузкиВФайл" вызов этого алгоритма: ВыгрузитьКонтрагентаВКонтактныеЛица; *правильно?* Дальше не совсем понимаю, что делать. вариант1 Мне в алгоритме прописывать к каждому из 5 наборов в ВыгрузитьПоПравилу "ссылку" на мое ПКО "Контрагенты_КонтактныеЛица" (то, из которого я вызываю этот алгоритм), одну и ту же 5 раз? Код в алгоритме такой: вариант2 Создать отдельные ПКО для каждой из 5 "групп", именно для использовать в ВыгрузитьПоПравилу? Тогда будет вызываться не 5 раз "само из себя" ПКО Контрагенты_КонтактныеЛица, а 5 разных ПКО для каждого "набора" свое: 1)ПКО Контрагенты_КонтактныеЛица_Рукль ВыгрузитьПоПравилу(Контрагенты_КонтактныеЛица_Рукль); 2)ПКО Контрагенты_КонтактныеЛица_РукльПродаж ВыгрузитьПоПравилу(Контрагенты_КонтактныеЛица_РукльПродаж); В этом случае код в "алгоритме" будет такой: Если ПустаяСтрока(Источник.ФИОРуководителя) = 0 Тогда и т.д. еще 3 раза. В правильную ли сторону я вообще "смотрю" и какой из вариантов быстрее и проще, второй, наверное?
#33
by DenYuliya
ссорь за такое количество текста... Мне бы один раз понять, как оно вообще работает...
#35
by DenYuliya
таким оригинальным советом можно вообще на любой вопрос ответить. Ах, да - еще есть гениальный совет "погугли" Не поверите, вот прямо перед собой держу книжку Бояркина, открытую на стр.81. Понимания не очень добавляет.
#37
by DenYuliya
А по делу - можете подсказать? Нет - ну увы. Дело добровольное, конечно. Только вот никогда не могла понять прикола, когда человек совет спрашивает, причем не такой уж и общий. А "советчики" начинают - "погугли", "почитай", "позови специалиста" и т.д. Я если не знаю/не хочу подсказывать, просто и не отвечаю (*так и напрашивается "не умничаю"*)... Курсы это хорошо и правильно. Только не быстро. В книге Бояркина рассматривается вариант использования ПВД, а ранее было сказано, что можно как из ПВД вызывать, так и из алгоритмов. Описания разницы/приоритетности этих методов нигде не нашла. Если вы можете поделиться ссылкой, где бы рассматривался аналогичный вопрос, а не общее описание "ВыгрузитьпоПравиллу - это" - буду благодарна и тут же ознакомлюсь.
#38
by DenYuliya
Хотя насчет почему из алгоритма, вызываемого из ПКО, а не из ПВД, я поняла. из ПВД, когда объект из выборки получен и необходимо произвести его конвертацию. из ПКО, когда необходимо выгрузить связанную с выгружаемым объектом информацию.
#40
by Ёпрст
вот, как пример, выгрузка контактной информации всё это в ПКО Клиентосы в ПослеВыгрузки
#41
by Ёпрст
+40 в ПКО КонтактнаяИнформация, источник пусто, на всех полях в свойствах стоит галка - получить из входящих данных. Усё
#43
by DenYuliya
И я еще один момент не могу понять...У меня в итоге в любом случае должно быть как минимум 2 ПКО, верно? Условно так: 1) ПКО "Контрагенты_КонтактныеЛица", с заполнеными Источником и Приемником, и ВыгрузитьПоПравилу(,,,, "Контакты") в обработчике 2) ПКО "Контакты", с пустым источником и приемником "КонтактныеЛица", собственно вызываемов из п. 1) Не может же ПКО само себя вызывать функцией ВыгрузитьПоПравилу?
#46
by Ёпрст
ВыгрузитьПоПравилу - это просто хрень, которая позволяет выгружать связанную информацию из ПКО, или то что нужно из ПВД напимер, в ПКО номенклатура, выгрузить потом все подчиненные единицы измерения, или в ПВД Реализация выгрузить чать реализаций по одноум правилу. а часть по другому. И т.д. Не понимаю, в чем там у тебя сложность
#47
by DenYuliya
, Сложность: Если образно брать структуру Источника (спр.Контрагенты), и Приемника(спр.КонтактЛица) Источник: - ДолжностьРукляРукляПродаж и т.д - 5 одинаковых по своей сути "набора" реквизитов. Приемник: В итоге, из одного Источника => 5 разных приемников. Не могу понять, мне надо делать 5 разных ПКО, для каждого свой СЗ. Или ПКО - один, и в него все 5 СЗ пихать? Ведь каждый из 5 "наборов" - это разные реквизиты в Источнике.
#48
by DenYuliya
немного не то. В приведенном примере в каждой итерации цикла выгружаются один и тот же состав реквизитов. А у меня - в каждой итерации - свой состав. Если я правильно понимаю принцип.
#51
by DenYuliya
*щас в меня тапки полетят* А ПКЗ для основного ПКО Контрагенты_КонтактныеЛица заполнять надо? В них тоже надо прописывать в операторах, или просто добавить с пустым источником?
#54
by DenYuliya
Структура сейчас такая: ПКО Контрагенты_КонтактныеЛица, в нем Приемник - контакт. лица. Ваш совет насчет СЗ в качестве источника относится к ПКО "Контакты"?
#55
by user-ok
В ПКО Источник - пустой ПКС "Должность" ... и так далее Если справочник подчиненный - не забудь подобным образом передать владельца немного извратно. но рабочее
#56
by DenYuliya
спасибо, сейчас попробую. "В ПКО Источник - пустой" - это в ПКО "Контакты"? (то, которое вызывается), или в в вызываемом, и в обоих? И что делать с ПКС в "основном" ПКО? ("Контрагенты_Контакты") Пустыми их оставлять? Я попробовала вообще не заполнять те, которые есть в созданном СЗ, и добавить только созданные "по умолчанию" - тишина((. Ошибок нет, но и не выгружается ничего.
#57
by DenYuliya
несколько вариантов перепробовала, и во всех в файле данных пусто (не выгружается). 1 вариант: В ПКО Контрагенты_Контакты в ПослеВыгрузкиВФайл вызов Алгоритма ПослеВыгрузкиКонтактныхЛицВФайл; В ПКС "Владелец" в "ПередВыгрузкой" Значение = Источник;
#58
by DenYuliya
вариант2: В каждом из ПКС ПКО "Контакты", в обработчике "ПередВыгрузкой" указано: Значение = Источник.Получить("должностьПоВизитке"); и т.д. - по аналогии. Это я пыталась сделать, как советовал . Тоже пусто.
#61
by Ёпрст
пихать в Источник СЗ как то не очень, пихай в ВходящиеДанные. и в ПКО КонтактыКонтрагентов поставь галки - получитьИЗ входящих данных у всех свойств, которые ты в СЗ положила. Усё.
#63
by Ёпрст
ЗЫ: и нет уверенности, что Источник доступен в Алгоритмах просто так. Возможно, нужно его хотя -бы в параметры Алгоритмов пихать явно
#64
by DenYuliya
Может тогда просто не использовать Алгоритмы, а прописывать код прямо в ПослеВыгрузки "как по книжкам"? Попробую так. Пы.сы. галка"не запоминать данные" ничего не изменила.
#66
by DenYuliya
Вот. Ты прямо мой вопрос опередил! В Типовых правилах через "входящие данные" выгрузка в партнерах, хотела так попробовать
#67
by DenYuliya
(60, 61) опять та же фигня(((. Пусто в файле выгрузки, ошибок в процессе выгрузки нет. Мдя((.
#70
by DenYuliya
нет... *дико краснею* Где-то далеко выше я поднимала вопрос ПВД. Короче я поняла, что если есть вызов ВыгрузитьПоПравилу из ПКО - то ПВД не надо... Создала, с объектом выборки Контрагенты, указала правило Контрагенты_КонтактныеЛица, тип выборки - стандартная. Загружается, не все правильно (ссылка на контрагента не создается), но все же. Я идиотка...Как так можно было????
#71
by Ёпрст
пвд можно не писать, если выгружаешь зависимые объекты как реквизиты по ссылке, например, выгружаешь документы, в которых есть ссылка на Контрагенты.
#72
by Ёпрст
в твоём случае, для проверки правила, нужно было создать ПВД - клиентосы, и выгружать хотя бы одного, смотреть как выгружается-загружается связанная инфа Конт Данные.
#73
by DenYuliya
"Если справочник подчиненный - не забудь подобным образом передать владельца" Владелец ведь передается просто как "Значение = Источник"? В Приемнике реквизит Владелец есть, а в Источнике нет, надо просто ссылку на Источник передавать. И еще такой вопрос. Я так поняла, что в "изначальном" ПКО (например Контрагенты_Контакты) ПКС надо добавлять те, которые не добавлены в СписокЗначений и "вызываемое" ПКО (в моем случае ПКО "Контаркты")? А если я в ПКО "Контакты" (и в СЗ соответственно) добавлю поля Наименование и Владелец, то по каким полям мне осуществлять поиск в "изначальном" ПКО? Так-то надо по "Наименованию" и "Владельцу", но если я еще раз добавлю ПКС "наименование", но с пустым Источником, не приведет ли это к дублям?
#75
by Йохохо
брр "Я так поняла, что в "изначальном" ПКО (например Контрагенты_Контакты) ПКС надо добавлять те, которые не добавлены в СписокЗначений и "вызываемое" ПКО (в моем случае ПКО "Контаркты")?" в ПКО передан источник и входящие, если галка, то входящие, если Значение= то кодом, иначе Источник[]
#76
by DenYuliya
Ой))), объяснила я кошмарно, конечно. если делать как в Грубо говоря, можно ли в ПКС "Контр-Контакты" добавить ПКС из ПКО "Контакты"? Смотрю по примерам в типовых правилах, там везде по-отдельности, часть в одном, часть в другом.
#79
by DenYuliya
Я стараюсь понятно спросить... Если я в ПКО "Контакты" добавлю ПКС "Наименование" (не важно, из ВходящихДанных оно будет заполняться там, или из Источника) - могу ли я добавить то же Наименование в ПКС для ПКО Контр_Контакты? Или это приведет к ошибкам?
#80
by Йохохо
ПКС "Наименование" это ПКС, Наименование это строка? слишком простой вопрос, чтобы его понять)
#81
by DenYuliya
Наименование - это строка. Стандартный реквизит Приемника Реквизиты "ФИО Руководителя", "ФИО Руководителя продаж" и т.д. в источнике Логично, как мне кажется, делать поиск по нему.
#83
by DenYuliya
возможно... От дублей и от пустых значений. так грузится сейчас. А должно только 2 и 3 снизу. Потому что у остальных Контрагентов нет Контактных лиц. Я написала в ПКО Конт_Контакты в обработчике ПередВыгрузкрой .... Но как-то условие игнорится((
#84
by user-ok
>>Владелец ведь передается просто как "Значение = Источник"? в моем примере в источнике СЗ, а никак не Контрагент. Хотя уважаемый Ёпрст правильно подсказал что лучше СЗ запихнуть в ИсходящиеДанные, тогда в Источник можно положить самого контрагента.
#85
by DenYuliya
Ёпрст советовал во ВходящиеДанные пихать. ВходящиеДанные - они по тому же принципу создаются (создание СпискаЗначений в обработчике ПКО Конт_Контакты), только с галочкой "ПолучатьИзВходящихДанных" в ПКО "Контакты"? + в ПКС "Владелец" указываю ПКО "Контрагенты_Партнеры". Только он не передается все равно
#86
by DenYuliya
К ну и передаются ВходДанные ВыгрузитьПоПравилу(,,СЗ,,"КонтактыКонтрагентов"); , а не ВыгрузитьПоПравилу(СЗ,,,,"КонтактыКонтрагентов"); Это я про разницу СЗ и ВходДанных.
#88
by Йохохо
ИсходящиеДанные - Произвольный - произвольные вспомогательные данные. Данные передаются по следующим правилам:
#89
by Йохохо
не надо так проверять, надо открыть хмл выгруженных данных редактором текстовым (пока маленький любой пойдет, большой отлично но неудобно открывает 1с) и посчитать количество записей где Объект СправочникСсылка.КонтактыКонтрагентов. Потом подумать и мб полезть в отладчик, придет понимание
#90
by DenYuliya
Ну вот((. Вообще какая-то фигня теперь. Те 4 строки, где есть ФИО и Должность - да, все верно и без дублей, и лишнего тоже нет. Только Владелец там не заполнен. А другие 5 строк - в них есть Владельцы (по 1 на каждого Контрагента в базе). Но больше ничего нет))).
#91
by DenYuliya
похоже где-то я неправильно указываю поиск или соответствия. Такое обычно в запросах при неверном указание Связей
#92
by DenYuliya
В общем, такое чувство, как будто ПКО "Контр_Контакты" и "Контакты" отрабатывают независимо друг от друга. Создаются заполненные согласно ПКО "Контакты" элементы, не дублируются и даже лишних нет, и все, что проложено в передаваемый СЗ - загружается. Кроме ссылки на сам объект, который должен конвертироваться во Владельца в Приемнике. И создаются по элементу на каждого существующего в базе контрагента, у которого не заполнено ничего, кроме того самого Владельца. Это если в ПКО "Контр_Контакты" в ПКС "Владелец" указать Значение = Источник; Что-то меня гложет подозрение, что передавать ссылку "на самого себя" во ВходящиеДанные так - неверно: В ПКО Контр_Контакты В ПКО "Контакты" для ПКС "Владелец" галка "получать из входящих данных"
#93
by DenYuliya
Ну в общем задача решена. Если вдруг кому понадобится, ниже решение: ПКО "Контр_КонтактныеЛица", обработчик "ПослеВыгрузкиВФайл": В ПКО "Контакты" созданы ПКС, Приемник спр.КонтактныеЛица, Источник - пустой. В ПКС для ПКО "Контр_Контакты" Поиск и Галка "получать из вход данных" у "Наименования", больше ПКС нет. В ПКС для ПКО "Контакты" галка поиска нигде не стоит, "получать из вход данных" -тоже. В обработчике "ПередВыгрузкой" каждого из ПКС: Значение = Источник.Получить("Владелец"); (для ПКС Владелец) Значение = Источник.Получить("Наименование"); (для ПКС Наимаенование), и т.д. Для ссылочных данных в моем случае это Автор и Владелец) - в ПКС выбрано ПКО (то, по которому выгружаются эти объекты).
#94
by DenYuliya
, почему-то из обработчика "ПослеВыгрузки", и если передавать СписокЗначений в ВыгрузитьПоПравилу не как Источник, а как ВходящиеДанные - все получалось не корректно...
#95
by DenYuliya
Ребята, еще такой маааленький вопрос... Для заполнения Контактной информации в этой же задаче (в Источнике строковые реквизиты тел- почта для Контактных лиц, в Приемнике - "Контактная информация контактных лиц"), можно ли по аналогии с остальными реквизитами, заполнять КИ? То есть в ПКО Контр_Контакты в СписокЗначений пихать телефон и эл.почту, а потом через то же самое ВыгрузитьПоПравилу пихать в ПКО "Контакты"? Или это надо отдельное Правило, и вызывать/заполнять его из ПКГС "КонтактнаяИнформация"? Хм...может понятнее будет так - можно ли передать значения в КИ, минуя ПКГС, сразу же в ПКС? Блин, не знаю, как спросить понятнее. Типовое решение какое-то мутное, и там нет для "КонтактныхЛицПартнера", а в интернете все разбираемые примеры, которые я нашла - для КИ в регистре сведений
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Конвертация справочников из 77 в УПП 80? Конфа конвертация данных 2.0. КАК7
- Создание нескольких документов на основании одного
- Конвертация данных - конвертация реквизитов дока.
- Конвертация Значений. (Конвертация данных 2.0)
- Конвертация данных 2, V8.1, конвертация периодических реквизитов
- Конвертация данных. Конвертация двух реквизитов в один.
- Создание пользователя в нескольких базах 1С
- Конвертация нескольких организаций в УТ в одну в Бухии 2.0
- Конвертация данных создание документа
- Конвертация Данных. конвертация одного реквизита в другой
- 1с 8.2 Конвертация данных. Создание дубликатов элементов справочника
- Конвертация данных. Программное создание элемента справочника
В этой группе 1С
- Microsoft OLEDB + 1с = удаляет первую колонку
- Кадровый учет отдельно от расчетов в ЗУП 3.1
- ЗУП 2.5 печать приказа о выходных донору
- УНФ как сделать один акт и счет к нескольким заказ нарядам, работам?
- 1С интеграция с API по SOAP
- СКД представление стажа в понятном виде
- Бухгалтерия 2.0 в 2018 году. Будет ли поддержка?
- Меркурий ВСД. В каких единицах учета работать
- ЗУП 3.1 Норма времени
- v7: ТиС и АТОЛ 11Ф
- v7: Новые графы в книге продаж, разные для разных строк счета-фактуры
- Кто использует 1С:EDT
- Работа в ПривилегированномРежиме у пользователя с ограничением прав.
- Ребилд RAID 1. Разные SATA диски. Нужен совет.
- КД2 - как при переносе попросить базу-приемник провести перенесенные документы?
- Значение строки поиска динамического списка
- Как убрать всплывающее окошко в нижнем правом углу?
- Не отрабатывает команда certutil в WshShell
- Ка отключить прокрутку на форме
- 1С Такси. Переименовать "Главное" (он же Рабочий стол, он же Quick Menu).