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