Кд 2.0 составные типы и произвольный запрос

1. Intercititude 05.12.20 16:06 Сейчас в теме
Всем доброе время суток!
Осваиваю КД 2.0.

Необходимо перенести из УТ 10 ОФ документ "РеализацияТоваровУслуг" ( интересует Сумма и Дата Оплаты) в Финансист УФ В документ "Планируемо поступление ДС" Всё это необходимо для отслеживания финансов на расчетных счетах корректно.
Выгрузка и загрузка осуществляются по расписанию автоматически.

Сейчас выгружается всё правильно, создаются документы, сумма, дата и другие необходимые реквизиты.
Но есть два момента на которые не смог найти ответа в книгах и гугле.

1)Надо у РТУ предусмотреть ситуации с возвратом части товара, аннулированием заказа и корректировкой цен::
а) часть товара и полный, как правило - это документ "корретировка реализации", где основание РТУ.
б) Документ "возврат товаров от покупателя" , где основание РТУ.

Собственно, как это реализовать в КД? Думаю, что необходим запрос, но не пойму как его правильно составить и где впихнуть.

2) Реквизит "Банковский счёт".

У РТУ в договоре есть реквизит "Рассчетный счет" (тип. спр.Банковские счета) и в "Планируемое поступление ДС" реквизит куда надо перенести этот банковский счёт называется "МестоУчетаДенежныхСредств"( составной тип спр "Банковские счета" и спр"Кассы");

В ПКС разумеется не сопоставить, так как тянем из договора, поэтому ПКС сделано так (см.скрин 1); Далее переходит в правило конвертации "УДСКассы" ( см. скрин 2).
В итоге ничего не переносится и в базе приемнике это поле остаётся пустым. Полагаю дело в составном типе. Как сделать правильно ?

Все просторы интернета облазил, ответа не нашёл. Надеюсь на помощь специалистов.

Так же просьба подсказать, может есть какие нибудь подводные камни при переносе документов. Если что Правила обмена данными могу прикрепить так же. Спасибо заранее!
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ellavs 1027 05.12.20 16:48 Сейчас в теме
По п.1 - если реализовано через план обмена, можно сделать регистрацию этих документов и правилами их конвертировать. Если они должны изменять выгружаемый РТУ, то при обработке основного документа РТУ (в ПВД) делать запрос (где основание этот РТУ) и корректировать значения документа РТУ.
По п.2 (из того, что видно на скриншоте) у поля "МестоУчетаДенежныхСредств" не указан источник (либо нужно указать источник, либо должна стоять "галка" Получить из входящих данных) - т.е. не указано, откуда брать значение.
Intercititude; +1 Ответить
3. Intercititude 05.12.20 19:30 Сейчас в теме
(2) 1) Даже не знаю как через план обмена. Можно ссылку и как составить запрос.. Пожалуйста.
2) Источник явно не указать же, так как это реквизит из спр. Договора и он отображен лишь на форме и заполняется подтягиваеинем/перезаписью из рег.сведения. Видимо дело в том, что он реквизит формы лишь, а не объекта. Был бы благодарен за подробное описание кода если ставить галочку "Получить из входящих данных"
4. AneJIbcuH 37 06.12.20 18:42 Сейчас в теме
(3) по 2, вам верно говорят, источник или входящие данные вы не указали, поэтому ничего и не перенесется.
Сначала вы пишите: У РТУ в договоре есть реквизит "Рассчетный счет" (тип. спр.Банковские счета)
А в комментарии: это реквизит из спр. Договора и он отображен лишь на форме и заполняется подтягиваеинем/перезаписью из рег.сведения.

Что верным - то является ?

Получается в реквизит приемника "МестоУчетаДенежныхСредств" нужно подтянуть данные из Регистра сведений Источника ?

Самое простое, в ПКС у Источника "Перед выгрузкой" определите кодом реквизит Значение !
7. Intercititude 07.12.20 09:07 Сейчас в теме
(4) Это не важно, мне непонятно как работает запрос в ПВД.
То есть я и пункт 1 и пункт 2, всё описываю запросом в ПВД???
В информации написано, мол если делаешь выборку, то система не запоминает "выгруженные объекты", мне же это критически необходимо ?
12. Intercititude 07.12.20 13:29 Сейчас в теме
(4) По 2) пункту сделал так( см. скриншоты)
Всё выгружается, но поле МестоУчетаДенежныхСредств в базе приемнике всё равно остаётся пустым. В чём дело ?


UPD: всё получилось, ошибка в запросе была.
Прикрепленные файлы:
14. Intercititude 07.12.20 13:35 Сейчас в теме
(12) Так же пытался передать это значение в параметр.
Но ловлю ошибку : "получение элемента по индеексу для значения неопределенно ";
5. AneJIbcuH 37 06.12.20 18:51 Сейчас в теме
(3) по 1. РТУ сейчас выгружается же, но вам надо возвраты, корректировки учесть.
Делайте запрос в ПВД, укажите способ выборки "Произвольный запрос"
http://joxi.ru/DmBZW5nU4yND5m примерно так.
6. Intercititude 07.12.20 09:07 Сейчас в теме
(5) А разве когда я сделаю запрос, то не пропадут все другие мои настройки и заполнения программные ? Суть ясна, но как составить запрос...
РТУ это основание коррректировок, а у возвратов основание заказ.
8. ellavs 1027 07.12.20 10:14 Сейчас в теме
(6) не обязательно делать произвольный алгоритм, можно оставить стандартную выборку и делать обработку каждого документа в событии Перед выгрузкой (подтягивать недостающие данные), например так:
Прикрепленные файлы:
Drivingblind; +1 Ответить
9. Intercititude 07.12.20 12:32 Сейчас в теме
(8) У меня в ПКД у документа после загрузки ставятся програмно значения реквизитов. Они не сбросятся из-за запроса ?
Так же в ПКС у некоторых реквизитов использую обработчики события.

И всё же по по поводу запроса в ПВД.
Выходит мне нужен один запрос в котором будут:
1) Реализации связанные с возвратами и корректировки. В итоге на выходе будет меняться сумма.
2) Связать договор контрагента с рег.сведения и получить "Банковский счёт".
Всё это в одном запросе и необходимо, чтобы наименования соответствовали наименованиям в базе приемнике ?
После я Запрос передаю в ВыборкаДанных и на этом всё?

Поправьте, если я не так понял.
10. Intercititude 07.12.20 12:38 Сейчас в теме
(8) Эм. Но у меня же один документ "Реализации" как в стандаратной выборке описать другие документы ?
Извиняюсь за кучу вопросов, совсем новичок в КД.
11. ellavs 1027 07.12.20 13:11 Сейчас в теме
(10) рекомендую посмотреть какой-нибудь видеокурс по КД, там "методом тыка" вообще сложно что-то делать.
13. Intercititude 07.12.20 13:30 Сейчас в теме
(11) посмотрел курс Леоньтева полностью, но там задачи иные.
15. Drivingblind 228 07.12.20 15:01 Сейчас в теме
(13) Задачи иные, но механизмы те же. Вам нужно учесть корректировки, правильнее это сделать в ПВД, но проще всего в ПКО РТУ в обработчике события Перед выгрузкой. У вас есть объект Источник (если стандартная выборка, то это ссылка на документ РТУ), получаете запросом все его корректировки, формируете таблицу значений с учетом корректировок и помещаете её во входящие данные. у ПКГС "Товары" ставите галку "Получать из входящих данных" (если сохраните все имена колонок ТЧ, то больше ничего делать не нужно).
Про входящие/исходящие данные можно тут почитать: https://infostart.ru/1c/articles/1195038/
Intercititude; +1 Ответить
16. Intercititude 07.12.20 16:15 Сейчас в теме +2.56 $m
(15) Про вх/исх данные у него мало. Спасибо за статью!

Сейчас у меня СуммаДокумента РТУ берётся из документа, далее идёт в документ приемник СуммаДокумента РТУ - всё переносится

Далее заполнение ТЧ документа приемника сделано так: в ПКО у документа "ПослеЗагруки" я заполняю ТЧ приемника программно:
строка = Объект.Товары.добавить();
строка.сумма = объект.суммадокумента;

Всё ок отрабатывает.

Выходит здесь же в ПКО документа, только "Перед вырузкой" мне необходимо составить запрос куда я передам Источник.Ссылка(ссылка на рту)и где на выходе уже будет измененная сумма реализации вовзратом/корректировкой.
Далее это Значение помещаю во входящие данные и всё он дальше отработает "ПослеЗагрузки" сопоставится по наименованию(пердастся в объект.суммадокумента). Так ?
17. Drivingblind 228 08.12.20 05:36 Сейчас в теме
(16) вам только сумму документа нужно перенести или всю ТЧ?
18. Intercititude 08.12.20 11:44 Сейчас в теме
(17) Лишь измененную сумму.
19. Drivingblind 228 08.12.20 14:12 Сейчас в теме
(18) Тогда да, вы правильно написали.
Intercititude; +1 Ответить
20. Intercititude 08.12.20 14:28 Сейчас в теме
(19) Спасибо.
Ещё интересует последний момент.
Сейчас у меня стоит галка "запоминать выгруженные данные". То есть каждый раз когда происходит автоматическая загрузка то идёт поиск по guid, если не совпало, то создаёт новые документы.
И так каждый раз когда загружаю, системе приходится проходить по всем документам - это долго.
Возможно ли на уровне выгрузки запоминть, чтобы выгружались только те объекты, которые ещё не были выгружены.

Полагаю это надо делать через план обмена и узлы. Но не нашёл информации в интернете, может Вы подскажите статью какую-нибудь. Либо распишите с примером.

Возможно есть и другой способ?
21. Drivingblind 228 08.12.20 14:34 Сейчас в теме
22. Intercititude 08.12.20 16:48 Сейчас в теме
(21) А в обработке "Универсальный обмен данными XML" есть поля где можно выбрать узел и план обмена(например общий).
Разве этого не достаточно и необходимо всё описывать ?
23. Drivingblind 228 09.12.20 05:43 Сейчас в теме
(22) Наверное, не Общий, а Полный. Его никогда не использовал, т.к. он изначально создан для РИБ. Можно ли его использовать для самописных обменов - не отвечу. Гугл вам в помощь)
24. Intercititude 09.12.20 17:47 Сейчас в теме
(17) Ещё по этому моменту.
А если не делать этим способом, а сделать иначе:
В ПКС у моего документа РТУ "ПриВыгрузке" тянуть источник(сссылка на рту) делать запрос и уже на выходе присваивать параметру значение из запроса.

А дальше уже в пко после загрузки просто присвоить этот параметр Сумме

Выходит есть несколько способов решения задачи или это в корне не верно ?
26. Intercititude 10.12.20 18:31 Сейчас в теме
(15)Подскажите по последнему вопросу,пожалуйста. В (25) вопрос.
25. Intercititude 10.12.20 18:31 Сейчас в теме
(2) Добрый вечер.
Появился ньюанс по п.1
Сейчас у меня учитываются все реализации(с учетом возвратов и корректировок) с помощью плана обмена. Далее это я всё обрабатываю в кд 2.0.
НО!
Допустим ситуация, я выгрузил реализации. Спустя пару месяцев на неё сделался возврат или корректировка.Реализация на изменение из-за это не встанет.
Как быть в такой ситуации ? В конечной базе перепроводить документы(как то не этично)?
Оставьте свое сообщение

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