КД: Источник 7.7, приемник 8.2 (синхронизация доков по дате без учета времени) #643425


#0 by Новиков
Настраиваю правила конвертации для переноса документа из 7.7 в 8.2 И в источнике, и в приемнике у данного документа периодичность настроена в пределах года. Столкнулся с такой траблой: хочется чтобы документ искался по номеру в пределах года по дате, без учета времени. Сначала добавил в поля поиска реквизиты Дата и Номер. Документы синхронизируются только, если в приемнике время совпадает до СЕКУНДЫ. Это меня не устраивает. Потом убрал из полей поиска реквизит Дата, - теперь документы с одним номером из разных лет стали схлопываться в один. Другие варианты, кроме как руками запрос по полям поиска писать - есть в моем случае? Делал кто-то подобный алгоритм? Т.е. не хочется вообще, чтобы секунды как-то влияли на поиск.
#1 by Wobland
а пускай загружается всегда на полдень, не?
#2 by Новиков
просто в приемнике, документы тоже могут создать РУКАМИ (пустышка под выдачу номера счета). И когда он по обмену прилет из источника, то 10 на чорное ставлю - времена у них не совпадут :)
#3 by Cartman
а в ПКС "дата" этих документов стоит галка "Поиск по дате на равенство"? если стоит, то попробуй снять.
#4 by NcSteel
начало дня ставить не пробовал?
#5 by Новиков
для 7.7 этой галки нет вообще то. в файл дата документа пишется как дата + время. Я в файле менял на произвольное время - фиг один и тот же :( Видимо, низя так штатными средствами делать. Пичалька :(
#6 by NcSteel
можно.
#7 by NcSteel
+ Поля поиска Условия возникновения события Только для платформы V8. Событие выполняется при поиске элемента ссылочного типа. Если установлен поиск по уникальнму идентификатору и программа нашла элемент, то поиск прекращается. Если поиск по уникальному идентификатору не дал положительного результата и указано, что нужно продолжить поиск в этом случае или поиск по уникальному идентификатору не проводился, то программа пытается найти элементы по свойствам поиска. В обработчике нужно установить список полей через запятую по которым нужно проводить поиск. Если очередная попытка дала положительный результат, то поиск прекращается. Поиск возможен только по тем полям у которых на этапе выгрузка был установлен флаг поиска данных!!!
#8 by Новиков
так понятно, что можно обработчик подъюзать, и там или запросом или как-то еще найти нужный документ. Я хотел уточнить, можно ли обойтись без кодирования :) И кстати, по Идшнику в 7.7 тоже ничего не поищешь.
#9 by NcSteel
Тогда юзай: Обработчики "Правила конвертации свойств" Перед выгрузкой Условия возникновения события Событие выполняется перед выгрузкой значения свойства. Возможен отказ от выгрузки. УзелСвойства еще не создан, конвертируемое значение Неопределено.
#10 by Новиков
Значение =НачалоДня<<?>> Функция не обнаружена Посмотрел в справке по 7.7 - такой функции нет. Посмотрел - как же ш в 7.7 такое сделать, без могучего бородатого и седого ГУРУ не обойтись :)
#11 by NcSteel
Вроде как в 7.7 есть отдельно дата документа и отдельно время документа. Но тут надо адепта черной магии звать.
#12 by ДенисЧ
Или как-то так называется функция
#13 by Новиков
Получаются доки с датами 00:00:00. Меняю у них руками последнюю секунду - загружаю заново - дубли, мать их.
#14 by NcSteel
не меняй секунду. ))))
#15 by Новиков
так вот про это и разговор. Хотя зарекаться не буду, но похоже, что только обработчик поля поиска нужно использовать. Хотелось каких-нибудь бородачей послушать, у кого уже такие траблы были решены, когда дедушка Новиков еще не родился :)
#16 by Popkorm
При переносе данных из 77 в 8.2 лучше всего синхронизовать по GUID. GUID в 77 можно получить либо из отдельного реквизита, либо как в UUID в 1С 7.7
#17 by NcSteel
Как раз бородачи как я мучаем обработчик полей поиска. Алгоритм описать в алгоритмах!
#18 by Popkorm
либо поиск по Дате и Номеру,в 77 помоему начало дня это 8-00
#19 by Новиков
не. Не пойдет, к сожалению такое, т.к. не соблюдается правило что этот документ всегда будет этим и на другой стороне. Хотят строго по номеру (даже если изменят руками) в пределах периодичности. Пример можно такого выкрутаса - т.е. как семерошный уид сделать понимаемым для 8-ки? Это какая-то опять встроенная функция? Или что?
#20 by Popkorm
В алгоритме процедура НайтиОбъектПоИД ///////////////////////////////////////////////////////////////////////////////////////////// ПКС (комментарий): В Алгоритмах Процедура ПолучитьИдОбъекта
#21 by Новиков
а, ну понятно. Спасибо :) Но у меня покрасивше, без регистра - правда не в этой базе. Ну вообщем резюме такое: только через обработчик.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С