|
КД 2.0 Перенос документов между базами v77 | ☑ | ||
---|---|---|---|---|
0
xazrad
01.12.11
✎
19:59
|
уже тема давно обсуждалась, v8: Конвертация 2.0. Перенос документов между базами v77 , но вопрос для меня не решился. Как перенести статус документа "Проведен", "Помечен на удаление"?
|
|||
1
truba
01.12.11
✎
20:01
|
после записи
|
|||
2
xazrad
01.12.11
✎
20:04
|
(1) После загрузке?
|
|||
3
truba
01.12.11
✎
20:06
|
(2) да я б там попробовал. сам не делал, но где еще?
|
|||
4
truba
01.12.11
✎
20:07
|
если оно конечно для 7ки работает
|
|||
5
xazrad
01.12.11
✎
20:10
|
(4) работает Функция ПКО_ПослеЗагрузки_ХХХ(Объект, ИмяПравила, УзелОбъекта) вот только что править не пойму
|
|||
6
Aleksey
01.12.11
✎
20:19
|
Я делал 2 общих реквизита "Проведен", "Помечен на удаление". Ну а дальше я думаю все понятно
|
|||
7
truba
01.12.11
✎
20:22
|
(5) //сам не делал, рассматривать только как пробный вариант при отсутсвии дельных предложений//
ПараметрыОбъекта - либо Неопределено либо Соответствие, в котором хранятся дополнительные параметры переденные для данного объекта из источника в приемник. Если параметров передано не было, то ПараметрыОбъекта = Неопределено. т.е. так: Если ПараметрыОбъекта.Проведен = 1 Тогда Объект.Провести(); КонецЕсли; Теперь как заполнить ПараметрыОбъекта. В ПКС проведен заходишь и ставишь галку - Передавать данные в параметр. Если время много - попробуй. А может стандартно взлетит механизм встроенный проведения. //см внимательно первую строку модуля// |
|||
8
xazrad
02.12.11
✎
00:07
|
(7) что я понял. функция передавать параметр отсутствует если в обмене участвует 7.7.
Но зато вот полезная статья Книга знаний: КД 2.х Передача произвольного параметра с объектом выгрузки при переносе 7.7-8.х |
|||
9
xazrad
02.12.11
✎
00:08
|
(8) Просто немного надо изменить вторую часть. ибо в обмене участвует не 7.7-8, а 7.7 - 7.7
|
|||
10
xazrad
07.12.11
✎
23:44
|
Решил. думаю может кому пригодится.
в ПКО каждого документа в "При Выгрузке" добавил УзелПараметра = DOMDocument.createNode(1, "ЗначениеСтатуса", ""); Если Источник.Проведен()=1 тогда Статус = "Проведен"; ИначеЕсли Источник.ПометкаУдаления()=1 тогда Статус = "ПомеченНаУдаление"; Иначе Статус = "НеПроведен"; КонецЕсли; УзелПараметра.setAttribute("ЗначениеПараметра", Статус); Приемник.appendChild(УзелПараметра); В обработку V7imp.ert в процедура "ЗагрузитьДокументV8" добавил: УзелСтатус = Объект.ВыбратьУзел("ЗначениеСтатуса"); Статус = УзелСтатус.ПолучитьАтрибут("ЗначениеПараметра"); Если Статус = "Проведен" Тогда Если ОбъектБД.ПометкаУдаления() = 1 Тогда ОбъектБД.СнятьПометкуУдаления(); КонецЕсли; Попытка ОбъектБД.Провести(); Исключение Сообщить(""+ОписаниеОшибки()); КонецПопытки; ИначеЕсли Статус = "ПомеченНаУдаление" Тогда ОбъектБД.Удалить(1); Иначе Если ОбъектБД.Проведен()=1 Тогда ОбъектБД.СделатьНеПроведенным(); ИначеЕсли ОбъектБД.ПометкаУдаления() =1 Тогда ОбъектБД.СнятьПометкуУдаления(); КонецЕсли; КонецЕсли; |
|||
11
DJ Anthon
08.12.11
✎
02:24
|
а конфигурации одинаковые?
|
|||
12
Aleksey
08.12.11
✎
09:49
|
(11) А какая разница? "Проведен", "Помечен на удаление" есть во всех конфигурациях
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |