|
Конвертация данных, отказ от создания объекта | ☑ | ||
---|---|---|---|---|
0
gr0ck
08.12.14
✎
14:36
|
Подскажите, не могу разобраться.
Гружу из 7.7 в 8 контрагентов. Беру обороты по счетам и выгружаю субконто контрагентов. При этом есть условие, что если по инн/кпп контрагентов больше 1, или нет совсем, то их создавать не нужно. В ПКО после загрузки проверяю ОбъектНайден и юрфизлицо, и делаю отказ. Все нормально, контрагент не грузится. Но с контрагентом подтягиваются договора. Так вот договора все равно загружаются, при этом у них владелец "объект не найден" |
|||
1
Абыр
08.12.14
✎
15:01
|
добавь в ПКО договора проверку на заполненность владельца и тоже делай отказ
|
|||
2
Defender aka LINN
08.12.14
✎
15:10
|
(1) Если ты думаешь, что "битая" ссылка - пустая, то у меня для тебя плохая новость.
|
|||
3
gr0ck
08.12.14
✎
15:13
|
Вообще там Владелец заполнен, Объект не найден это не пустая ссылка, так что значение заполнено не прокатит. Я сделал Найти(Владелец,""Объект не найден") > 0 Тогда Отказ Истина. И в общем то в условие заходит, и отказ истину ставит. Такое ощущение это правило срабатывает, но договор как-то еще записывается. При чем там только заполнены у договора реквизиты по которым он ищется, остальные пустые.
|
|||
4
Йохохо
08.12.14
✎
15:18
|
(3) попробуй ОбъектМодифицирован = Ложь добавить
|
|||
5
gr0ck
08.12.14
✎
15:43
|
Нет, все равно не помогает
|
|||
6
Ymryn
08.12.14
✎
15:51
|
Попробуй через ПолучитьОбъект. Вроде должен возвращать Неопредлено для битой ссылки.
|
|||
7
J_B
08.12.14
✎
15:58
|
А может договора грузятся отдельным правилом выгрузки и поэтому уходят в получатель?
|
|||
8
DrZombi
гуру
08.12.14
✎
15:58
|
(0)Держи
Функция ОбъектБДСуществует(ТестоваяСсылка) Экспорт МД = Метаданные.НайтиПоТипу(ТипЗнч(ТестоваяСсылка)); ИмяОбъекта = МД.Имя; ПолноеИмяОбъекта = МД.ПолноеИмя(); Запрос = новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ИСТИНА как НЕЧТО |ИЗ | " + ПолноеИмяОбъекта + " КАК " + ИмяОбъекта + " |ГДЕ | " + ИмяОбъекта + ".Ссылка = &Cсылка"; Запрос.УстановитьПараметр("Cсылка", ТестоваяСсылка); РезультатЗапроса = Запрос.Выполнить(); Возврат Не РезультатЗапроса.Пустой(); КонецФункции |
|||
9
gr0ck
08.12.14
✎
16:02
|
Нашел, сделал так же как написано тут
http://infostart.ru/public/83491/ |
|||
10
gr0ck
08.12.14
✎
16:08
|
Проблема в том что договор грузится по ссылке, при этом создавать новые или нет у нас в зависимости от того создали(нашли) мы контрагента или нет. И если в настройках не стоит галочки "не создавать новый объект в приемнике если он НЕ найден", то он его создает, и то что мы отказ истину делаем в при зарузке, ему на это наплевать, он его уже создал заполнил реквизиты значениями полей поиска и поместил в тз
|
|||
11
Йохохо
08.12.14
✎
16:13
|
(10) попробуй в глобальнике еще перехватить док и ОбъектМодифицирован = Ложь
|
|||
12
Defender aka LINN
08.12.14
✎
16:22
|
(3) Вот открою ООО "Объект не найден", число ради поржать и насладиться запахом пригорелых пуканов одинэснегов :)
Ну и еще такие варианты возможны: ![] http://content.screencast.com/users/DefenderLINN/folders/Jing/media/cc320c0e-4c7d-4bd5-8c9b-0e488fa3a902/2014-12-08_1618.png |
|||
13
gr0ck
08.12.14
✎
17:28
|
(12) Помню рарус это очень любил, и при обновлении платформы у многих одинэснегов появилось много работы
|
|||
14
gr0ck
08.12.14
✎
17:29
|
(12) Это разовый перенос, перенести данные, проверить, и дальше работайте в новой базе. При этом все должно еще позавчера быть готово, времени на красивые решения нет
|
|||
15
acanta
08.12.14
✎
17:32
|
(14) а раз нет времени зачем заниматься любовь с конвертацией? Имхо это инструмент многоразового использования..
Сохрани все в мхл и оттуда загрузи обработкой как надо, 20 строк кода и никаких пко.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |