|
КД 2 выгружать произвольную структуру | ☑ | ||
---|---|---|---|---|
0
breezee
19.12.17
✎
17:19
|
Добрый день! У меня есть выгрузка из 8 в 7. В выгрузке, в зависимости от контрагента и договора контрагента надо подставлять контрагенту разные ИНН.
То есть если у нас есть контрагент "Ромашка" с догвором "Договор1" ИНН ставить "888". Если контрагент "Ромашка" с договором "Договоро2" ИНН ставить "666". Я знаю, что есть волшебная функция "ВыгрузитьПоПравилу" но есть проблема. Эта функция не может вернуть выгружаемую структуру в объект выгрузки(документ, откуда идет выгрузка), а подмена происходит непосердственно при выгрузке документа. Как мне выгружать не ссылку на контрагента, а произвольную структуру? Я выгружаю только ИНН, ссылка мне не нужна совсем, но как выгрузить структуру не понимаю. Подскажите, пожалуйста. |
|||
1
Вафель
19.12.17
✎
17:21
|
выгружать параметры
|
|||
2
breezee
19.12.17
✎
17:23
|
(1) Это их еще загружать надо, я хз как это в семерке делать. Можно без этого?
|
|||
3
Вафель
19.12.17
✎
17:25
|
те тебе нужно разные пары К/Д выгружать в разных контрагентов.
Тебе нужно сделать правило: источник пустой (из вход. данных) приемник "Контрагент" и при выгрузке формировать Исхходящие данные |
|||
4
vde69
модератор
19.12.17
✎
17:28
|
(2) ты делай конвертацию при выгрузки в восьмерке, а в семерке у тебя все будет красиво
|
|||
5
Ёпрст
19.12.17
✎
17:37
|
(0) дык выгружай сразу как надо.
|
|||
6
Byasha
19.12.17
✎
17:40
|
(0) В обработчике "При выгрузке" у ПКС добавь
"Значение = <Нужный ИНН>". Выгрузится не ИНН контрагента а то что ты хочешь |
|||
7
Вафель
19.12.17
✎
17:54
|
(6) так зависит не от контрагента, а от договора
|
|||
8
Ёпрст
19.12.17
✎
17:56
|
в пкс у ИНН в Перед выгрузкой воткни значение = нужный инн в зависимости от договора. усё.
|
|||
9
vde69
модератор
19.12.17
✎
17:57
|
(7) а какая разница?
где то при загрузке правил пишем мСоотв = новый соответствие() мСоотв.добавить(дог1,Инн222) параметры.добавить("СоответсвиеИННДоговор", мСоответсвие) далее ищешь по этому и все... |
|||
10
mistеr
19.12.17
✎
18:11
|
И я попробую. В обработчике ПередВыгрузкой документа определяешь ИНН и пихаешь в ИсходящиеДанные. В ПКС для ИНН ПКО контрагента подставляешь ИНН из входящих данных, если он там есть. Галку "получить из входящих" не ставишь, это позволит выгружать контрагента как обычно, со своим ИНН.
|
|||
11
breezee
20.12.17
✎
04:55
|
(9) (8) Так я примерно так и сделал, добавил таблицу значений в параметры, заполняю её а потом в перед выгрузкой для ИНН пишу
СтрокаКонтрагента = Параметры.ТаблицаКонтрагенты2.Найти(Источник.Ссылка, "Контрагент"); Если СтрокаКонтрагента = Неопределено Тогда Сообщить("Критическая ошибка! Не найден ИНН для контрагента в таблице параметров в правилах выгрузки. Контр = " +Источник.Ссылка); Иначе Значение = СтрокаКонтрагента.ИНН; КонецЕсли; Однако, на уровне подстановки ИНН я не могу уже видеть договор, то есть если у меня в одном документе будет 2 договора для одного контрагента, а такое может быть, так как я загружаю в табличную часть в приемнике контрагентов и договоров - я могу найти не те данные. А исходящие данные - это тоже типо параметров общих? Есть параметры, которые я могу передать ввместе с конкретной ссылкой? |
|||
12
breezee
20.12.17
✎
05:34
|
(8) Так я там не вижу договор уже, только ссылку на контрагента
|
|||
13
mistеr
20.12.17
✎
08:21
|
(12) Тогда вопрос - а на каком этапе ты договор видишь?
|
|||
14
PCcomCat
20.12.17
✎
08:40
|
(0) Выгружай только договор, а у договора при выгрузке владельца (Контрагента) посылай исходящие данные, в которых записывай договор. У контрагента лови входящие данные и анализируй, ставь нужное. А ссылка на контрагента меняется, надеюсь? Два ИНН - два контрагента? Коды контрагентов?
|
|||
15
vde69
20.12.17
✎
09:03
|
(14) +
Сделай ПКО где Источник - Договор Приемник - Контрагент в нем в обработчике ПослеВыгрузкой пишешь ВыгрузитьПоПравилу(Источник,"Договор") |
|||
16
breezee
20.12.17
✎
13:09
|
(13) Договор вижу на этапе выгрузки самого документа, в котором указан контрагент и договоров.
(14)Спасибо за идею, но у контрагента может быть несколько договоров при выгрузке двух договоров по одному контрагенту у этого контрагента может криво проставиться ИНН второй раз. Два ИНН - 2 контрагента в источнике. 2 ИНН - неизвестно сколько контргантов в приемнике, такая связь. Вообще звучит хорошо, спасибо! Попробую так сделать. Получу договор при выгрузке, из договра получу нужное инн и через исходящие данные в ВыгрузитьПоПравилу передам ИНН для контрагента. Вот только есть проблема. При выгрузке этого документа, откуда тащу договор я произвольным алгоритмом заполняю контрагента и если я использую "ВыгрузитьПоПравилу" контрагент может и не встать в выгрузку, если я не укажу его на прямую, вроде... |
|||
17
PCcomCat
20.12.17
✎
16:09
|
(16) Создай правило, где превращай договор в контрагента, и укажи вместо источником договор, приемником контрагента и правило твое по превращению. Опять же исходящие и входящие данные используй.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |