Конвертация 2.0 поиск по гуиду

1. Intercititude 26.12.20 18:58 Сейчас в теме
Добрый день,коллеги !
Суть задачи:
Необходимо выгрузить из ут 10 документы "корректировки реализации" и создать в базе "финансист" документ "коректировки записей регистров" на сумму эти реализации(минус).

Сейчас есть уже перенесенные документы "реализации из ут" в док. "Планируемые поступления ДС". Тоесть все гуиды совпадают.

Вопрос: В каком месте в кд2.0 правильнее делать поиск по гуиду этих документов "поступления ДС" и далее подставлять ссылку в док"коррективов регистров". Был бы благодарен за код!

Мысли что просто в пко делаем "корректировка рту" - "корректировка записей регистров" и перед выгрузкой получаю гуид реализации-его в параметр ,дальше ищу по всем документам "планирумое поступления дс" этот гуид и в конечной базе после загрузки подставляю ссылку и делаю минус?верно?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
9. oleg-x 26 27.12.20 13:45 Сейчас в теме +0.85 $m
(8) Тут немного сложнее, надо переносить движения. То есть из документа сделать набор движений.
Если одной корректировки будет соответствовать один документ корректировки и одна строка движений. То сделать можно достаточно просто.
Все данные передаете через параметры. То есть вручную создаете ПКС и указываете реквизит источник, а приемник не указывается. Ставите галку "передавать в параметр", если это ссылочный тип, то указываете ПКО. И задаете название параметра.

При загрузке документа просто прописываете движения, типа такого.
РегНакопл = Объект.Движения.РегистрНакоплений;
РегНакопл.Записывать = Истина;
Движение = РегНакопл.Добавить;
//Далее заполняете все данные регистра, получая их из параметров
//параметры получают такой строкой
ЗначениеПараметры = ПараметрыОбъекта.Получить("ИмяПараметра");
Intercititude; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. oleg-x 26 26.12.20 19:44 Сейчас в теме
(1) Зачем такие сложности?
Создаете ПКО и ставите галку искать по внутреннему индентификатору объекта. Это и есть GUID.
Так же, что бы не перезаписались, то ставите галку, не замещать существующие объекты.
4. Intercititude 27.12.20 03:06 Сейчас в теме
(2) можно подробнее пожалуйста,совсем новичок в конвертации.
Делаю пко Корект.реализации(источник) в корректировка регистров(приемник)(автоматичеое пкс не делаю) ,у них же ставлю галку поиску по внутр.идкнтфикатору и не замещать уже существующие. Далее что ,как,где? Понимаю где то надо перехватить этот поиск гуида и заполнить значением реквизита (ссылка на док.планируемое поступление ДС) ,но знаний не достаточно.

И в итоговой базе после этого уже заполнять остальные реквизиты в пко в обработчике "после загрузки" объекта и прописывать программное заполнение объект.... =
Значение ; и программная запись с проведением?
3. MikeI 73 26.12.20 22:28 Сейчас в теме
(2) Согласен с коллегой. В ПКО для корректировки в ПКС для реализации в обработчик "перед выгрузкой"
Значение = Новый Структура("Ссылка",Ссылка);
	ИмяПКО = "РеализацияКакПоступлениеДСБезСвойств";	


А далее в ПКО "РеализацияКакПоступлениеДСБезСвойств" свойства не синхронизируете и ставите галки как сказано выше
5. Intercititude 27.12.20 03:07 Сейчас в теме
(3)а в пко в каком обработки,подскажите? Не пойму по вашему тексту..
6. Intercititude 27.12.20 12:14 Сейчас в теме
(3) 1) ПКО: корректировка реализации - корректировка записей
2) Проставил галки как в (1)
3) В этом пко в пкс выбираю реквизит "ДокументРеализации" и у него пишу( так же что за Ссылка!?, откуда она вообще!?)
Значение = Новый Структура("Ссылка",Ссылка);
    ИмяПКО = "РеализацияКакПоступлениеДСБезСвойств";    

4) Что дальше?
7. oleg-x 26 27.12.20 12:25 Сейчас в теме
Корректировка регистров в базе приемник с реквизитами? или там набор записей регистра?
Если реквизиты, то просто, сопоставляете свойства документа. Если набор записей, то ссылку можно передать через параметр и там указать конвертацию.
8. Intercititude 27.12.20 12:34 Сейчас в теме
(7) Там из реквизитов у основной формы датаОТ, ответственный и комментарии.
Для заполнения самого документа сперва открывается "ФормаВыбораРегистра", далее заполняется уже объект.Таблица.Регистров.Добавить().. и на основной форме появляется набор записей регистра которую уже надо заполнить...
Без понятия как это всё кодом в КД описывать.

Так же как связать реквизит "ДокументРеализации"(ссылка.реализации) документа "корректировка реализации"(источник) с уже существующими документа в приемнике ("планируемое поступление ДС") а дальше уже это планируемое поступление подставить в документ "корректирвока записей"??
9. oleg-x 26 27.12.20 13:45 Сейчас в теме +0.85 $m
(8) Тут немного сложнее, надо переносить движения. То есть из документа сделать набор движений.
Если одной корректировки будет соответствовать один документ корректировки и одна строка движений. То сделать можно достаточно просто.
Все данные передаете через параметры. То есть вручную создаете ПКС и указываете реквизит источник, а приемник не указывается. Ставите галку "передавать в параметр", если это ссылочный тип, то указываете ПКО. И задаете название параметра.

При загрузке документа просто прописываете движения, типа такого.
РегНакопл = Объект.Движения.РегистрНакоплений;
РегНакопл.Записывать = Истина;
Движение = РегНакопл.Добавить;
//Далее заполняете все данные регистра, получая их из параметров
//параметры получают такой строкой
ЗначениеПараметры = ПараметрыОбъекта.Получить("ИмяПараметра");
Intercititude; +1 Ответить
11. Intercititude 27.12.20 14:24 Сейчас в теме
(9) А по поводу поиска по гуиду и дальнеишней подстановки ? Понял что надо проставить галки лишь, а где дальше то обрабатывать это..
10. oleg-x 26 27.12.20 13:47 Сейчас в теме
Если у параметра нет источника, то просто перед выгрузкой свойств пропишити
Значение = НужноеЗначение;
Тогда даже источник не нужен.
Intercititude; +1 Ответить
12. oleg-x 26 27.12.20 22:37 Сейчас в теме
(11) Ни где, после загрузки параметр уже будет ссылкой. То есть конвертация сама все сделает за вас.
13. Intercititude 28.12.20 02:04 Сейчас в теме
(12) Можно код ? Из ваших слов в приемник попадёт ссылка на документ "Корректирова реализации", но мне то необходима ссылка реквизита этого документа - "ДокументОснование"(Реализация гуид которой уже есть в приемнике).
14. oleg-x 26 28.12.20 13:48 Сейчас в теме
(13) Выше писал, в ПКС параметра перед выгрузкой пишите:
Значение = Источник.НужныйРеквизитНапримерДокументОснование;
И указываете правило конвертации параметра. Все остальное сделает обработка универсальный обмен данными. Главное галку поставьте в ПКО (ссылки которую конвертируете) не замещать найденные объекты.
15. Intercititude 29.12.20 11:39 Сейчас в теме
(14) не понимаю все равно..
Я передам в параметр ссылку на ДокументОснование. Укажу новое пко(реализации в коррективов регистров ) и все что-ли ?
16. Intercititude 29.12.20 12:29 Сейчас в теме +1 $m
(23) Выходит
1) Создаю ПКО - КорректировкаРеализации - КорректировкаРегистров.
2) ПКС "ДокументОснование" - помещаю в параметр [Накладная]
3) В этом же пкс ставлю имя пко на пункт (1)
4) В ПКО после загрузки делаю объект.ДокументОснование = ПараметрыОбъекта["Накладная"];
5) В итоге в приемнике попадёт ссылка на ДокументОснование(накладная) из КорректировкаРеализации !?!??

Но мне то надо подставить ссылку док.ПланируемоеПоступлениеДС(приемник - которая связана из источника по гуиду) и док.КорректировкаРегистров(Приемник);

Запутался..
17. Ivanov_OM 38 29.12.20 14:54 Сейчас в теме
Создаешь ПКО КорректрировкаРеализации.
Удаляешь поиск по внутреннему идентификатору

Далее Обработчик ПриВыгрузке заполняешь так:
УзелСсылкиXML = СоздатьУзел("Ссылка");
УстановитьАтрибут(УзелСсылкиXML,"Нпп",НПП);
УзелГуид = ДобавитьУзел(УзелСсылкиXML,"Свойство");
УстановитьАтрибут(УзелГуид,"Тип","Строка");
УстановитьАтрибут(УзелГуид,"Имя","{УникальныйИдентификатор}");
одЗаписатьЭлемент(УзелГуид,"Значение", ТвойУникальныйИдентификатор);
УзелСсылкиXML.ЗаписатьКонецЭлемента();
УзелСсылкиXML.ЗаписатьКонецЭлемента();
УзелСсылки = УзелСсылкиXML.Закрыть();
ДобавитьПодчиненный(Приемник,УзелСсылки);
Показать


Вместо ТвойУникальныйИдентификатор подставляешь занчение твоего GUID
У меня так работает перегрузка нестандартных документов
Pipapalamm; Intercititude; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот