Сформировать хеш документа #471388


#0 by Злопчинский
Как сформировать хеш документа а) с учетом его положения на оси времени в пределах дня б) без учета его положения на оси времени в пределах дня? . какой "аппарат" использовать для создания хеша? Хеш - он вообще какого размера будет? где его хранить (пока справочник типа кортежа "документ-хеш") . что хочу: из тиса 7.7 выгружаю документы в бухию 7.7, в момент выгрузки фиксирую хеш выгруженного документа в базе ТиС. Потом, в любой момент, могу по хешу сравнить с текущим состоянием документа, для выгрузки измененных документов... как-то так... . кто может поделится соображениями по сабжевой задаче? стопудово делал кто-то...
#1 by Chai Nic
Ну ничего кроме цикла по метаданным в голову не приходит
#2 by Злопчинский
типа идем по метаданным по шапке и ТЧ для каждого реквизита - получаем его внутренний идентификатор в базе, конкатенируем в строку с каким-нить разделителем (ну типа на всякий случай?), получаем длинную строку, сторим по ней хеш (чтоб поменьше был) - типа так?
#3 by Джинн
Чем идентификатор документа не устраивает, уникальный в пределах базы?
#4 by Chai Nic
Ага. Я бы так сделал. Наверное тем, что идентификатор не является хэшем содержимого документа
#5 by Rie
Сцепи нужные реквизиты документа в строку и возьми от неё MD5.
#6 by Попытка1С
А как ось времени будет задействована в реквизитах?
#7 by Злопчинский
мну нужна не идентификация документа, а идентификация события изменения документа... тут предложили просто в реквизит дока писать дату-время последней записи документа - но тут мне видится "много" дыр, да и все равно по умум перед записью этого реквизита надо проверить - был документ изменен или нет... в слишком многих местах придется на! править.. сформировать хеш и запомнить его мне кажется "выгоднее"...
#8 by Джинн
А на фига ему содержимое? Достаточно при выгрузке в базе сбрасывать флаг выгрузки. А при модификации снова его поднимать. Все доки с взведенным флагом нужно перегружать. Зачем какие-то телодвижения непонятные совершать с хэшем?
#9 by Джинн
Править всего лишь в одном месте - ПриЗаписи или в ОбработкаПроведения. Хранить флаги для выгрузки в справочнике.
#10 by Злопчинский
логично... призаписи - не проканает. могут производиться программные модификации.. за всем не уследишь или сам забудешь... ;-) А если доки по сути не проводятся, но их выгрузка нужна, то.... . надо подумать...
#11 by Джинн
#12 by AlexNew
А зачем справочник? Регистр оборотов а-ля регистр сведений.
#13 by Джинн
Да хрен редьки не слаще. Разницы практически никакой. Со справочником, IMHO, в чем-то удобнее работать. Но тут у каждого свой вкус.
#14 by AlexNew
А обработка проведения? Помеченные на удаление, или ждать пока 1SConst лопнет?
#15 by Джинн
А причем здесь 1SConst? Зачем периодику использовать? Тут история не нужна. Контролировать дубли можно и в "ручном" режиме.
#16 by Злопчинский
а УРБД - регистрирует, когда документ перепроводится но при этом сам док не изменен?
#17 by AlexNew
Думаю, что нет. Там еще и его движения надо контролировать.
#18 by Злопчинский
движения доков - неактуальны...
#19 by AlexNew
А причем тогда УРБД? На SQL можно триггер навесить.
#20 by vde69
я Сабж выкладывал на инфостаре, но потом потер, единственое чего сраху - нужно держать 2 хеша 1 - хешь данных 2 - хешь структуры метаданных по которым был получен 1 (для контроля версий обьекта и следовательности актуальности первого хеша)
#21 by AlexWolf
регистрирует
#22 by Дядя Васька
Уриб просто добавляет док в выгрузку, не уточняя что и с ним делали. Задачу не пойму, что добиться-то хочешь?
#23 by Дядя Васька
+ В УРИБе система простая, все что ты так или иначе изменишь попадет в файл выгрузки, и уйдет в регионы. Что и где ты конкретно делал он не фиксирует.
#24 by AlexWolf
+ я бы сказал не "все что ты так или иначе изменишь", а все объекты, которые были перезаписаны или перепроведены, причем интерактивно или программно - без разницы, и не важно - менялся объект или нет.
#25 by Дядя Васька
Ну а почему тогда "не сказал бы"? Когда мне надо было глюки подлечить я тупо писал обормотку где в цикле выбирались нужные доки, ну и Записать, и все уходило в лучшем виде. Более того, отчетег накатал который кажет кому ушло, кому нет, могу поделиться.
#26 by AlexNew
Как нужные доки фиксировались, отбирались (критерии)?
#27 by AlexWolf
я к тому, что справочники/доки можно не менять, просто записал, и всё, привет урбд, попал в выгрузку. просто уточнил, давай не будем из этого битву начинать :)))
#28 by Дядя Васька
Не понял вопроса
#29 by AlexNew
Как посчитать док нужный, или нет?
#30 by Дядя Васька
+ У меня обормоткой отбирались косячные доки, ей же правились, а чтобы в регионы ушли писалось тупо Записать, а нужный или нет, тут по ситуации
#31 by AlexWolf
как вариант - отобрать только те объекты, которые созданы в периферийках, которые нужно поправить
#32 by Дядя Васька
Ща хочу в подмосковных МЧС атоматическое обновление сделать на базе уриба. Сами базы независимые, тупо чтобы мд обновлялся. Накатал конвертер который внутренние мд подгоняет под эталон, если допилить чтобы работал не только с бухией, но и с торговлей да зряплатой, имеет смысл на инфостарте вывалить, пока рабочая версия, не знаю, найду ли в себе силы херней заняться )
#33 by AlexNew
Вот про тупо записать и вопрос?
#34 by Дядя Васька
Так в чем вопрос-то? Если сделаешь по доку Записать он попадет в выгрузку, да и все.
#35 by Дядя Васька
внутренние мд = внутренние ид конечно
#36 by AlexNew
Я не про то, я понял тебе УРБД нужен просто как регистратор изменений. Это я понял, как распознать, что в нем (движения не нужны) не изменилось?
#37 by Дядя Васька
Так енто он сам и делает, без бубнов. Что изменилось, то и выгрузит, хрен ли там отслеживать. До кого выгрузка дошла, а до кого нет, накатал отчетег который mlg парсит, в кармане ща валяется на флешке, могу подарить если надо, а чисто за урибом проверять смысла не вижу, это тупо чтобы проверить нажали на кнопку в филиале или нет.
#38 by AlexNew
Да он то хотел выгрузить то, что "изменилось" по его условиям. Т.е. если данные у накладной не изменились, а ее записали, она попасть не должна.
#39 by AlexWolf
"Ведение лога изменений в документах" "FAQ по распределенными базами данных программы 1С: Предприятие 7.7"
#40 by Дядя Васька
Да не, там скорее надо выгрузить что изменил обормоткой надо. Тупо Записать и уйдет.
#41 by AlexWolf
+ есть еще ToySpy, но оно уже за деньги
#42 by Дядя Васька
+ Там еще какая-то хрень есть типа РегистрацияИзменений или вроде того, но не юзал, не буду врать.
#43 by AlexWolf
это применительно ко всему объекту, при записи или проведении, закинуть его в обмен или нет
#44 by AlexNew
Разговор был про хеш, т.е. чтобы компактно сложить и вытащить только  то, что нужно. С минимальными затратами время и места.
#45 by AlexNew
В смысле по хешу определить, что передавать надо.
#46 by Холст
типа контрольная  сумма всех реквизитов дока ?
#47 by Aleksey_3
В простом случае Id док + VerStamp
#48 by Злопчинский
О!!!!! вот тут вот как раз м может быть то что надо! VerStamp - когда меняется?
#49 by Aleksey_3
При каждой записи документа/справочника (без разнице как была инициализирована записать)
#50 by Злопчинский
верстамп меняется в любом случае, даже если документ не изменялся? (я таки полагаю = да)
#51 by Злопчинский
так, и как теперь этот VerStamp вытянуть программно? - только прямым запросом?
#52 by КонецЦикла
Подсказка: служебная база УРБД только получатель Работает не первый год для "нетипового" засасывания данных
#53 by Злопчинский
спсб, выше уже озвучивали. это у меня будет вторым вариантом. думаю верстампа - хватит
#54 by КонецЦикла
Неудобно однако Тут же все готовое лежит, тем более фактически обмена не будет, только накопление и очистка списка объектов :)
#55 by Злопчинский
можно и это подумать... только вот вопрос: в комплексную поставку 7.7 УРБД - входит?
#56 by Злопчинский
хм.. а вот при выгрузке инфы из базы в файл обмена - каким образом "потереть" инфу в урбд о выгруженных объектах...? само же - не потрется - придется извращаться?
#57 by vde69
запостил на всякий случай
#58 by Mikeware
Выложу в понедельник на инфостарт.
#59 by Ёпрст
МОД-ом можно еще всё делать сразу.. и регистрировать изменения и обмен с бухией..
#60 by Ёпрст
делете в табличке и  всё..
#61 by Mikeware
кстати, да...
#62 by Ёпрст
+59 кого не устраивает МОД-овская регистрация изменений, лепят гибрид - регистрируют урибом, выгружают МОД-ом..
#63 by Ёпрст
Блин.. на кубани ветку почитал.. Чебур решил всех достать сегодня :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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