|
КД 2 как работает "При переносе объекта по ссылке НЕ создавать новый объект..." | ☑ | ||
---|---|---|---|---|
0
zyto
17.12.14
✎
17:42
|
В конвертации данных (2.1.8.1) у правила конвертации объекта есть свойство (галочка):
При переносе объекта по ссылке НЕ создавать новый объект, а только переносить ссылку. Если поставить это свойство, в xml-ке появляется: ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD="true" Как я понимаю оно должно работать: Если документ выгружается по ссылке (допустим есть Возврат покупателю, у которого есть основание = Реализация товаров услуг, при выгрузке Возврата идёт нормальная выгрузка, а Реализация выгружается по ссылке, т.е. не самостоятельно), то если его нет в базе-приёмнике - он не должен создаваться, или должен создаться только документ-пустышка с GUID, Номер, Дата. Как работает: В файле с данными это свойство есть, но при загрузке по ссылке документ создаётся целиком, т.е. такое ощущение, что это свойство вообще никак не анализируется. Что я делаю не так? Что сделать что бы по ссылке документы не выгружались, а выгружались бы только ссылки? |
|||
1
vicof
17.12.14
✎
17:48
|
Возможно, у тебя вместе с возвратами выгружаются и реализации. Откуда выгружаешь? В плане обмена есть изменения, связанные с реализациями?
|
|||
2
zyto
17.12.14
✎
17:51
|
Выгружаю вручную, обработкой V8Exchan82.epf, из комплекта конвертации.
Устанавливаю галку только напротив документа Возврат покупателю. Напротив Реализации галка снята. Т.е. реализация выгружается по ссылке а не самостоятельно. http://screenshot.su/show.php?img=d1ec4881cd7dca0b0128eb56cef47298.jpg |
|||
3
Alex S D
17.12.14
✎
17:53
|
У реализации стоит поиск по уиду?
|
|||
4
zyto
17.12.14
✎
17:54
|
Да, вот такие галки стоят:
http://screenshot.su/show.php?img=796eede6617f0eef15ba9d45be61f140.jpg |
|||
5
zyto
17.12.14
✎
17:54
|
Может быть надо у Возврата поставить галку Не выгружать объекты свойств источника по ссылкам? Ща попробую...
|
|||
6
Alex S D
17.12.14
✎
17:56
|
советую залезть в отладку в функцию
Функция НайтиОбъектПоСсылке(ТипОбъекта, СвойстваПоиска = "", СвойстваПоискаНеЗамещать = "", ОбъектНайден = Истина, СозданныйОбъект = Неопределено, НеСоздаватьОбъектЕслиНеНайден = Неопределено, РежимПоискаОсновногоОбъекта = Ложь, СвойстваОбъектаМодифицированы = Ложь, НППГлобальнойСсылки = 0, НппСсылки = 0, ИзвестнаяСсылкаУникальногоИдентификатора = Неопределено, ПараметрыОбъекта = Неопределено, ИмяПКО = "") |
|||
7
Alex S D
17.12.14
✎
17:56
|
там это все проверяется
|
|||
8
zyto
17.12.14
✎
18:00
|
Такс... Галка Не выгружать объекты свойств не подходит, т.к. в этом случае вообще никакие объекты не выгружаются (справочники и т.д.), что не есть хорошо.
Может у ПКС есть какие-то параметры? ЗЫ Ща отладку гляну |
|||
9
Alex S D
17.12.14
✎
18:02
|
походу там надо убрать "продолжить поиск если не найден по уиду"
|
|||
10
Alex S D
17.12.14
✎
18:02
|
попробуй
|
|||
11
zyto
17.12.14
✎
18:11
|
Убрал продолжать поиск если не найден.... Не помогло, один фиг выгружается полный документ
|
|||
12
zyto
17.12.14
✎
18:25
|
При отладке, при загрузке реализации:
РежимПоискаОсновногоОбъекта = Истина как следствие ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD = НЕ РежимПоискаОсновногоОбъекта И одАтрибут(ФайлОбмена, одТипБулево, "ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD") это выражение ложное |
|||
13
zyto
17.12.14
✎
18:29
|
В свою очередь, эта процедура вызывается так:
ИначеЕсли ИмяУзла = "Ссылка" Тогда // ссылка на элемент - сначала получаем по ссылке объект, а потом устанавливаем свойства СозданныйОбъект = Неопределено; НеСоздаватьОбъектЕслиНеНайден = Неопределено; ИзвестнаяСсылкаУникальногоИдентификатора = Неопределено; Ссылка = НайтиОбъектПоСсылке(ТипОбъекта, СвойстваПоиска, СвойстваПоискаНеЗамещать, ОбъектНайден, СозданныйОбъект, НеСоздаватьОбъектЕслиНеНайден, Истина, СвойстваОбъектаМодифицированы, НППГлобальнойСсылки, НппСсылки, ИзвестнаяСсылкаУникальногоИдентификатора, ПараметрыОбъекта, ИмяПравила); т.е. тупо передаётся Истина если это ссылка... Получается конвертация не знает что реализация выгрузилась по ссылке? |
|||
14
zyto
18.12.14
✎
09:44
|
Апну.
Смущает вот этот код, в функции НайтиОбъектПоСсылке: Если Не ЗначениеЗаполнено(СсылкаНаОбъект) И ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD Тогда СсылкаНаОбъект = СтруктураСвойств.Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор(СвойствоУникальныйИдентификатор)); ОбъектНайден = Ложь; СсылкаНаОбъектФиктивная = Истина; КонецЕсли; Здесь почему-то устанавливается ОбъектНайден = Ложь, а в дальнейшем анализируется этот параметр, и если объект не найден - то создаётся новый документ со всеми реквизитами. Вообще кто-нибудь использует этот функционал? Он работающий? |
|||
15
zyto
18.12.14
✎
09:47
|
PS Я использую конвертацию и обработки версии 2.1.8.1
|
|||
16
zyto
18.12.14
✎
10:14
|
Ап. Никто не сталкивался и никто не использует?
|
|||
17
Alex S D
18.12.14
✎
10:16
|
Глянул, походу у всех так..
|
|||
18
zyto
18.12.14
✎
10:16
|
Перефразирую вопрос, как сделать так, что бы при выгрузке по ссылке документ не выгружался, но если потом выгрузить отдельно этот документ - что бы он подтянулся в те реквизиты, где есть на него ссылки.
|
|||
19
zyto
18.12.14
✎
10:17
|
(17)Т.е. этот механизм не работает у всех? Или я что-то не так делаю?
|
|||
20
Alex S D
18.12.14
✎
10:18
|
(19) не знаю.. судя по форуму да..
|
|||
21
Alex S D
18.12.14
✎
10:18
|
не пашет
|
|||
22
zyto
18.12.14
✎
10:20
|
Вот блин :)
|
|||
23
Alex S D
18.12.14
✎
10:21
|
а чем тебе мешает док со всеми реквизитами?
|
|||
24
zyto
18.12.14
✎
10:21
|
Мне ничем не мешает :) А бухгалтерии мешает. Не нужен он на тот момент...
|
|||
25
azt-yur
18.12.14
✎
10:35
|
(18) Создать 2 ПКО для реализации. В одном со всеми реквизитами, в другом только поля поиска. Первое привязать к ПВД, а второе указать в ПКС для реализации в ПКО документа возврата.
|
|||
26
Alex S D
18.12.14
✎
10:36
|
кстати да, я так делал..
|
|||
27
zyto
18.12.14
✎
10:43
|
Ну тоже думал об этом... Но хотелось сделать "красиво", тем более такой функционал заявлен... А тут такая подстава.
А по каким критериям выбирается ПКО, если реквизит составного типа и ПКО явно не указано? ПРимер: http://screenshot.su/show.php?img=2461f6bde67530f63293662191fa90ea.jpg Действует правило ИмяВыгружаемогоДокумента = ИмяПКО или какое-то другое? Ну или другими словами как подобные ситуации, когда ИмяПКО явно не задано перенаправить на ПКО-пустышку? И можно ли создать одно правило для всех типов документов? |
|||
28
Alex S D
18.12.14
✎
10:44
|
по приоритету
|
|||
29
Alex S D
18.12.14
✎
10:44
|
подбирается то правило у которого больше
|
|||
30
zyto
18.12.14
✎
10:47
|
По приоритету, а ещё по чему - по имени или по типу источника?
Не будет же СчётНаОплату выгружаться по ПКО Реализация, если у последнего приоритет 100500? |
|||
31
Alex S D
18.12.14
✎
10:47
|
по типу источника
|
|||
32
zyto
18.12.14
✎
10:50
|
Понятно, благодарю за помощь!
Если вдруг кто узнает как заставить работать типовой механизм - отпишитесь, пожалуйста. |
|||
33
zyto
18.12.14
✎
10:52
|
...я правильно понимаю что нет возможности сделать одно правило-пустышку, и перенаправить на него все документы, выгружаемые по ссылке?
Надо на каждый тип документа создавать пустышку, а в ПВД указывать нормальные правила, так? |
|||
34
Alex S D
18.12.14
✎
10:53
|
ага..
|
|||
35
azt-yur
18.12.14
✎
10:56
|
а как выгрузку делаете? через прямое подключение к базе или через файл.
мне кажется если через файл, то если стоит галка "При переносе объекта по ссылке НЕ создавать новый объект...", то реквизиты вообще не должны выгружаться |
|||
36
Йохохо
18.12.14
✎
10:57
|
(33) можно попробовать не указывать ИмяПКО, а алгоритм написать, который будет возвращать ИмяПКО
|
|||
37
zyto
18.12.14
✎
11:11
|
(35)Выгрузку делаю через файл.
И все реквизиты переносимого по ссылке объекта есть в этом файле... Это меня и напрягло с самого начала. Но думал может если стоит признак не загружать по ссылке - то он его не будет создавать. А фиг там. |
|||
38
zyto
18.12.14
✎
11:17
|
Если кому интересно - тут выложил правила:
http://forum.infostart.ru/forum85/topic122110/message1270113/#message1270113 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |