|
Как сделать в Конвертации данных? | ☑ | ||
---|---|---|---|---|
0
Сияющий Асинхраль
29.05.14
✎
00:09
|
Задача такова. За период перекидываются документы из одной конфигурации в другую. Все работает, все здорово. Надо сделать так, чтобы загружались и записывались в конфигурацию назначения только документы из выбранного периода, а из других периодов (по ссылкам) документы не тянулись, а привязывались к уже существующим документам или справочникам, если они есть в конфе назначения, или не переносились вообще, если в конфе назначения их нет. Не подскажете как это сделать в КД?
|
|||
1
Tateossian
29.05.14
✎
00:17
|
Поробуй так: в глобальном обработчике "ПередВыгрузкой" Если ТипЗнч(Источник) = Тип("Документ...") Тогда Если Источник.Дата < Параметры.ДатаНачала Тогда Отказ = Истина КонецЕсли
|
|||
2
Dionis Sergeevich
29.05.14
✎
01:46
|
", а привязывались к уже существующим документам или справочникам, если они есть в конфе назначения, или не переносились вообще, если в конфе назначения их нет"
на ПКО кликни 1 раз и поставь галочку "не создавать ненайденное" - так как то |
|||
3
Сияющий Асинхраль
29.05.14
✎
04:29
|
(2) Про эту галку я знаю, я же сказал, что в выгружаемом периоде документы и справочники должны грузиться однозначно (и перезаписываться, если что), т.е. эта галка стоять не должна, а вот для документов из старых периодов она должна срабатывать... В этом и вопрос - как это реализовать?
|
|||
4
Фокусник
29.05.14
✎
04:33
|
(3) вероятно, этот "флаг" можно установить программно для каждого документа. Я бы справку по обработчика почитал. Но в телефоне это сложно будет сделать :)
|
|||
5
novice
29.05.14
✎
05:37
|
прошу ТС рассказать о результатах успешности или неуспешности задумки
|
|||
6
Генератор
29.05.14
✎
06:06
|
(3) или можно еще 2 правила создать для дока, в одном создавать в другом не создавать; выгружать то которое создавать, а в прочих ссылках указать то, которое не создавать
|
|||
7
Генератор
29.05.14
✎
06:07
|
+(6) приоритет у того которое не создавать выше поставить
|
|||
8
SleepyHead
гуру
29.05.14
✎
06:21
|
(7) В обработчике ПКС "Перед загрузкой" выбирать правило тогда уж, если нет уверенности в том, что Фокусник посоветовал
ИмяПКО = ... |
|||
9
Генератор
29.05.14
✎
06:48
|
(8) что проще, для каждого свойства прописать обработчик (а ведь могут быть свойства составного типа) или один раз проставить пко в правиле выгрузки и приоритет?
|
|||
10
SleepyHead
гуру
29.05.14
✎
06:50
|
(9) Ну, если вопрос ставится именно так - что проще, то конечно флажок.
:) |
|||
11
SleepyHead
гуру
29.05.14
✎
06:54
|
(9) Не понял только вашу идею, каким образом приоритет и флажок вы свяжете с датой документа (смотрю идею ТС о том, что документы ранее определенной даты должны переноситься по ссылкам, а прочие загружаться).
|
|||
12
Генератор
29.05.14
✎
07:05
|
(11) Документы которые должны загружаться он выгружает явно, правилом выгрузки. Документы на которые должны загружаться только ссылки, выгружаются не явно, по свойствам. Указываем у свойств и у правила выгрузки разные ПКО и все.
|
|||
13
Рэйв
29.05.14
✎
07:09
|
(0)
В ПослеЗагрузки ПКО документа: Если Объект.Дата<НачПериода И Объект>КонПериода И Объект.ссылка.Пустая() Тогда Отказ = Истина; Возврат; конецЕсли; |
|||
14
Рэйв
29.05.14
✎
07:10
|
Объект>КонПериода -> Объект.Дата>КонПериода
|
|||
15
SleepyHead
гуру
29.05.14
✎
07:15
|
(12) Перечитал посты (1) и (3), ничего подобного не увидел про явную выгрузку.
Самый нормальный совет дал Фокусник, в ПКО можно установить параметр "НеЗамещатьОбъект" , в обработчике "ПередЗагрузкой" в самом ПКО. Проанализировать дату документа в ПКО и установить при необходимости. Цитата из справки: "НеЗамещатьОбъект - Если для данного параметра установить значение Истина, то объект идентифицированный при загрузке (т.е. найденный в информационной базе приемнике по значению синхронизирующих полей) не будет изменен/замещен." |
|||
16
SleepyHead
гуру
29.05.14
✎
07:16
|
Таким образом, не нужно плодить лишние ПКО.
|
|||
17
ASU_Diamond
29.05.14
✎
09:34
|
а как при загрузке отработает система то что в реквизит нужно занести значение, а самого значения нет в файле?
|
|||
18
Сияющий Асинхраль
30.05.14
✎
11:31
|
(4) Прав. Уже перед выгрузкой можно проанализировать даты и расставить флаги программно:
НеЗамещатьОбъектПриЗагрузке - Булево. По умолчанию - определяется в правилах обмена, но может быть изменено. Если для данного параметра установить значение Истина, то объект идентифицированный при загрузке (т.е. найденный в информационной базе приемнике по значению синхронизирующих полей) не будет изменен/замещен. НеСоздаватьЕслиНеНайден – Булево. По умолчанию определяется в форме элемента правила конвертации объекта. Если Истина, то выполняется только поиск объекта в приемнике, новый объект не создается. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |