Конвертация 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 72 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 Ответить
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день