![]() |
|
Передача таблицы со ссылками в ПКО КД 2.0 | ☑ | ||
---|---|---|---|---|
0
Euroset1
21.05.23
✎
21:34
|
Добрый день.
Есть некоторое ПКО, в котором есть некоторое ПКС, в котором передается в параметр объекта таблица значений при помощи ЗначениеВСтрокуВнутр с колонками "Номенклатура, Количество". С количеством проблем нет, а вот как мне передать номенклатуру? Естественно, т.к. я этот параметр буду использовать в приемнике, то и номенклатура мне там нужна из приемника. Сейчас пока передаю гуид ссылки и ищу в приемнике по нему, но правило конвертации справочника номенклатуры помимо поиска по идентификатору также имеет иные поля поиска, поэтому чую таким путем далеко не пойти. Если что, данные этой таблицы очень кастомные, получаю запросом. Они важны в алгоритме "после загрузки" в ПКО. |
|||
1
Aleksey
21.05.23
✎
22:28
|
выгрузитьПоПравилу() ?
|
|||
2
Smit1C
21.05.23
✎
22:35
|
(0) тут наверное лучше не ЗначениеВСтрокуВнутр , а формировать доп. таблицу в ПКС с колонками "Номенклатура, Количество" (перед выгрузкой запросом сформировать таблицу и в настройках указать Получить из входящих данных). И Правило конвертации Номенклатуры в этой таблице указать то, которые используется при переносе номенклатуры.
|
|||
3
Euroset1
21.05.23
✎
23:11
|
(2) можно поподробнее? Предложение использовать входящие-исходящие данные оно понятно, но чего этим могу добиться не совсем понятно. Ведь самая цель в том, чтобы как можно проще в ПКО моего документа в "после выгрузки" заиметь эту самую таблицу значений, полученную еще в источнике, но чтобы номенклатура там была уже не ссылки источника, а ссылки приемника.
(1) как ее тут применить конкретно в такой ситуации? |
|||
4
Euroset1
21.05.23
✎
23:46
|
(3) там опечатка. Конечно же не после выгрузки, а после загрузки - вот в ней нужна эта таблица.
|
|||
5
AneJIbcuH
22.05.23
✎
05:38
|
Если не секрет, что ты с этой таблицей делаешь в приемнике?
Не заполняешь ли другую ТЧ? Почему нельзя из приемника максимум обработанную информацию передать? |
|||
6
Euroset1
23.05.23
✎
13:52
|
(5) я ее использую для пересчета значений в тч товары.
Но самая базовая задача из всех, которые тут выполняются, это взять данные по гтд из других документов, и распределить эти данные по тч товары. если бы я хотел другую тч заполнить, то я в пгкс смотрел бы. |
|||
7
AneJIbcuH
24.05.23
✎
08:15
|
"Но самая базовая задача из всех, которые тут выполняются, это взять данные по гтд из других документов, и распределить эти данные по тч товары."
Ну так почему не можешь "приготовить" это всё в источнике? А так, нет в КД 2 возможности передать ТЗ (сразу с конвертацией значений по правилам). Только в какую-то ТЧ (пкгс). Если есть возможность доработать базу "приемник", даже расширением. То можно создать служебную ТЧ, с одним реквизитом. И через КД в неё грузить любую инфу, любые реквизиты (в виде параметров пкгс) |
|||
8
Euroset1
24.05.23
✎
23:46
|
(7) так я и готовлю в источнике, приходится это делать в ПКС чтобы в параметр объекта запихнуть. Вопрос в том, что в после выгрузки в ПКО мне приходится самостоятельно по каждой строке выяснять ссылку на номенклатуру приемника. А с учетом, что правило для номенклатуры там не простейшее, то приходится повторять весь алгоритм поиска, зашитый в ПКО номенклатуры, прямо в коде ПКО документа. И это сейчас там только гуид и код участвуют, а в перспективе вообще непонятки. И вот тому, кто будет правила редактировать, придется "знать", что помимо ПКО номенклатуры ему еще и ПКО по поступлениям нужно править. Короче какой-то костыль пока что.
|
|||
9
AneJIbcuH
25.05.23
✎
11:29
|
(8) Я понял, что ты имеешь в виду. Ты сериализовал ТЗ в строку и через параметр объекта передаешь в приемник. Там десериализуешь и постобрабатываешь (тут твои поиски).
Но хотел бы красиво с помощью конвертации получить эти данные в приемнике. Только ты мой вопрос не понял. По всей видимости, передаешь ТЧ товары из источника в приемник. Потом свою ТЗ. И потом в приемнике переколбашиваешь с учетом двух таблиц. Так почему ты не можешь подготовить всё сразу в источнике и в нужном виде передать ТЧ товары в приемник? |
|||
10
Euroset1
25.05.23
✎
13:30
|
(9) Так потому что процесс применения данных из ТЗ к табличной части зависит от контекста приемника. Там есть минимум 2 веские причины:
1. По дороге к светлому будущему строки ТЧ товары часть пропадает, а часть наоборот расслаивается. И только после этого по итоговому набору, отличному от источника, распределяется моя ТЗ. Если сделать это заведомо, то будет ошибка. 2. Мне перед распределением ГТД по ТЧ нужно из ТЗ выкинуть уже распределенные на другие проведенные документы, которые бухгалтер мог ввести вручную в том числе. В приемнике. Поэтому если бы была какая-то НайтиПоПравилу(), для которой я в источнике структурки бы набрал по каждой номенклатуре ключевых полей и в поле ТЗ запихал эти структурки, а в приемнике в цикле повызывал бы ее для каждой строки ТЗ, это бы все решило. Тут (1) (2) коллеги что-то начали предлагать, возможно дельное, но я так и не разобрался как это применить. К сожалению, моего скудного опыта в КД не хватает, чтобы с ходу понять всю идею того, что предложили, ну то есть как это применить. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |