Конвертация - не менять документы прошлых периодов

1. starjevschik 19.06.19 14:39 Сейчас в теме
Конвертация 2.0
Конвертация переносит документ (Д1), в реквизитах которого есть ссылка на другой документ (Д2). Надо бы как-то сделать так, что если дата Д2 в прошлых месяцах, то чтобы Д2 переносился только в виде ссылки, чтобы он не перезаполнялся. А если Д1 и Д2 в одном месяце, то пусть переносит все и заполняет полностью.
Т.е. по сути чтобы в ПКО Д2 она ставился галку "не замещать существующие объекты в приемнике", но только для некоторых документов.
Как-то это можно сделать? кроме создания второго ПКО для Д2 с такой галкой...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tusv 212 19.06.19 15:13 Сейчас в теме
В глобальном обработчике После загрузки прописать
Если Лев(ИмяТипаОбъекта,8)="Документ" и ОбъектНайден и Объект.Дата<Праметры.ДатаЗапрета Тогда
	Отказ = Истина;
КонецЕсли;
3. starjevschik 19.06.19 15:23 Сейчас в теме
(2) спасибо, это идея
Но если дата запрета не стоит?
Они перенесли месяц, все там заполнили, как им надо. А потом при переносе следующего месяца прилетает заново документ. Даты запрета они могут и не ставить...
4. tusv 212 19.06.19 15:25 Сейчас в теме
(3)Тут уж алгоритм нужно согласовать с Бухгалтерами. Не стоит так, брать месяц или еще что то.
5. starjevschik 19.06.19 15:27 Сейчас в теме
(4) в идеале да, но приходится учитывать особенности о) а они там есть.
Может есть какой-то способ. Я пока только придумал сделать второе ПКО, в принципе это вроде годное решение. Но какое-то уж слишком топорное, может можно как-то аккуратнее.
6. tusv 212 19.06.19 15:28 Сейчас в теме
(5)Это вечерком посмотрю. Сейчас убегаю
7. tusv 212 19.06.19 17:42 Сейчас в теме
(3)В принципе у Бухи Актуальность есть по закрытому месяцу. Можно на нее смотреть. То есть Месяц закрыт, это типа дата запрета
9. starjevschik 20.06.19 15:53 Сейчас в теме
(7)(8) спасибо, в итоге сделал второе правило ПКО все же
хотел сравнивать именно даты двух документов, не привязываясь ни к чему другому.
11. tusv 212 20.06.19 16:04 Сейчас в теме
8. Йожкин Кот 1008 20.06.19 15:11 Сейчас в теме
В обработчике "После загрузки объекта":
Если ИмяТипаОбъекта = "Документ" Тогда
	Если Объект.Дата<ДатаНачала Тогда
		Сообщить(Строка(Объект)+" не записан! Документ находится в прошлом периоде!");
		Отказ = Истина;
	КонецЕсли;
КонецЕсли;

и дополнительных параметров никаких не нужно
10. tusv 212 20.06.19 16:04 Сейчас в теме
(8)Угу. Не фига не сработает
ИмяТипаОбъекта это Объект.Метаданные().ПолноеИмя()
И к томуже в приемнике ДатаНачала = Дата(1,1,1)
12. Йожкин Кот 1008 21.06.19 08:41 Сейчас в теме
(10) Лучше сначала проверь, а потом пиши, что не работает...
13. tusv 212 21.06.19 10:07 Сейчас в теме
(12)Вот выдержка из мануала
ИмяТипаОбъекта – Строка. Имя типа загруженного объекта, например, «СправочникСсылка.Номенклатура».

К тому же обмен идет не Универсальной загрузкой, а обработкой КонвертацияОбъектовИнформационныхБаз, где ДатаНачала, ДатаОкончания отсутствуют
14. Йожкин Кот 1008 21.06.19 10:21 Сейчас в теме
(13) Все-таки лучше не надеяться на справку, а проверить руками.
И т.к. у топикстартера возник вопрос про перенос по ссылкам, то скорее всего речь шла именно про УниверсальныйОбменДаннымиXML, т.к. КонвертацияОбъектовИнформационныхБаз по умолчанию "по ссылкам" объекты не переносит.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот