gifts2017

OLE - монитор

Опубликовал Андрей (ghostishe) в раздел Отчеты - Анализ учета

Простенький монитор для проверки 2х синхронизированных по UID баз.

Для тех, кто синхронизирует базы по внутренним уникальным идентификаторам UID. В текущей базе необходимо открыть обработку, настроить параметры подключения к удаленной базе, выбрать тип объекта, отбор, если нужно. Отобрать данные в текущей базе, и нажать "Загрузить данные удаленной базы"... Таблица дополнится колонкой с идентификатором и колонкой со стоковым представлением ссылки в удаленной базе. Таким образом, легко можно проверить, все ли выгрузилось, и, главное, синхронизовано ли это по UID. часто бывает, что "умелые руки", не дожидаясь выгрузки, создают в удаленной базе документы или элементы справочников вручную. Когда документов много, и уследить в онлайн-режиме за дубликатами трудно, то после выгрузки обнаруживаются сюрпризы... Для наведения порядка поможет эта обработка. И не забудьте закрыть открывшееся окно удаленной базы, как только обработка начнет поиск. Скорость работы при этом увеличится в десятки раз.

Прим. Давно замечено, что если ComБаза.Visible = TRUE, а потом его закрыть, то будет в разы быстрее, чем если сразу написать ComБаза.Visible = FALSE

Последние версии всех обработок с полным описанием на http://sites.google.com/site/ghostishe1c

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
COM_MONITOR.epf
.epf 22,81Kb
08.10.10
190
.epf 22,81Kb 190 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Andy Vavaev (mamappc) 04.10.10 19:28
2. Василий Сямин (webcont) 04.10.10 19:30
3. Любовь Ухапова (lubaduba) 04.10.10 20:00
мне не нужно, но идея хорошая. плюс
4. Котэ Пруидзе (kote) 05.10.10 00:54
P.S. Кому не лень, на моей страничке, которая есть в обработке, кликните по гугловскому баннеру
===
Вы прямо в текст статьи эту ссылку поместите.. или хотите отследить, сколько чел реально тестировало обработку?
5. Андрей (ghostishe) 05.10.10 08:48
(4) Вообще хотелось бы знать, сколько народу. Просто другую мою обработку скачали 900 раз отсюда с инфостарта, так никто толком не отписался.
6. ediks (ediks) 07.10.10 12:00
(5)
1) И сколько раз я должен кликнуть, чтобы можно было уже перейти на закладку "настройка"? Переключаюсь на настройку, а меня упорно выбрасывает на закладку WEB. Это фича или баг? Или я обязательно должен куда-то кликнуть, чтобы отметиться в качестве подопытного кролика ?
2) Ctrl+V для ввода имени сервера и базы уже отменили? Или это только у меня такая фича? В notepad почему-то копируется.
3) В обработке вообще возможно работать без переключения на страничку автора? Когда она вдруг переключается на закладку WEB во время ввода данных - как-то напрягает.
4) Удалось таки нажать кнопку "Загрузить данные". получил {ВнешняяОбработка.COM_MONITOR(44)}: Значение не является значением объектного типа (Метаданные).
7. Андрей (ghostishe) 07.10.10 16:58
(6)
1. Это у тебя что-то не так...
2. ctrl+v работает во всех полях
3. можно, я не в курсе, почему у тебя что-то перескакивает. Если у тебя глючит - в конфигураторе удали эту закладку и все. проблем-то?
4. 99% неправильно ввел данные удаленной базы или прав не хватает. проверь.
8. ediks (ediks) 07.10.10 17:23
(7) После удаления закладки WEB обвинения по пунктам 1,2,3 снимаются :)
Пункт 4 остался.
Данные введены верно - проверил, да и пользуюсь я известной комбинацией Ctrl+C Ctrl+V.
Насчет прав: я под этими же правами перезаливаю данные параллельно в эту же базу. Куда уж полнее полных прав. Но у меня установлена аутентификация Windows в удаленной базе. В этом может быть проблема? Аналогичная обработка присоединилась без проблем http://infostart.ru/public/21382/
9. Алексей Константинов (alexk-is) 07.10.10 19:06
Вот решил "отписаться". Это не со зла, а так - некоторые замечания
1. Если не выбран сравниваемый объект, то ошибка
2. Если не указаны параметры подключения, то ошибка
3. Работает очень медленно
4. После заполнения таблицы значений остается висеть процесс 1С:Предприятия до закрытия обработки
5. При сравнении, например, справочника на 20000 нет наглядного отображения расхождений. Выявить расхождения визуально не реально
6. Модуль зачем-то запаролен

Модуль стыдно показать? :)
Уверен, что можно поднять скорость получения данных из подключенной базы хотя бы в 10 раз - я же смог у себя поднять скорость в 90 раз :) Хотел в 100 - не получилось :)
Как поднять скорость можно посмотреть http://www.infostart.ru/public/71130/ и http://www.infostart.ru/public/18924/ :)
10. Андрей (ghostishe) 08.10.10 08:53
(9)
1. защиту от дурака ставить не стал, т.к. написано не на продажу, а для себя. Поэтому логично предположить, что если объект не выбран, то и сравничать нечего.
3. Написано же... В описании, что надо закрыть открывшийся сеанс удаленной базы. Тогда скорость возрастет в десятки раз. Внимательнее читай описание.
4. Мой косяк. исправлено. забыл закрыть COM-соединение.
5. Проще простого. Стандартными возможностями платформы, не забывай про отбор в табличном поле. на первом ненайденном удаленном справочнике правой кнопкой - установить отбор по текущему значению - в табличке останутся ТОЛЬКО расхождения, куда уж нагляднее? ;) Это ж "1С для чайников". каждый знать должен.
6. Модуль могу открыть, если надо.

по поводу скорости я отписался. Просто внимательней читайте. Открылось окно базы, к которой выполнятеся подключение - закройте его. скорость возрастет.

11. Андрей (ghostishe) 08.10.10 09:07
(9)
Спец для тебя добавил 2 блока с "Попытка - Исключение", чтоб ошибки не вылетали.
СОМ-соединение закрыл. Процессов больше висеть не должно.
Ну а по поводу наглядности, сейчас проверил на 40 000 документах постцупления. Берешь этот столбец и по алфавиту сортируешь стандартной командой контекстного меню A-Z и все. <ОБЪЕКТ НЕ НАЙДЕН> будут все рядышком один за другим. Наглядно очень даже. ;)
12. Алексей Константинов (alexk-is) 08.10.10 10:02
(10) Быстрее это не показатель, хотелось бы увидеть результат в цифрах.
(11) По 40000 документов данные из подключенной базы получены за сколько секунд? С открытым сеансом и с закрытым? Можно в процедуре ЗагрузитьСпискиНажатие написать вместо ДополнитьДанными() следующий код:

Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.language = "javascript";
мСек1 = Формат(Скрипт.eval("new Date().getTime()"),"ЧГ=0");

ДополнитьДанными();

мСек2 = Формат(Скрипт.eval("new Date().getTime()"),"ЧГ=0");
Если
мСек2 - мСек1 <> 0 Тогда
Сообщить("Завершено за " + ((мСек2 - мСек1) / 1000) + " сек.");
КонецЕсли;
13. Алексей Константинов (alexk-is) 08.10.10 10:29
+12 Прикольно движок сайта покривел. Вместо красного красит зеленым :)
14. Андрей (ghostishe) 08.10.10 10:29
(12) 2400 секунд 900 документов с НЕзакрытым сеансом.
27 секунд ----------------------- с закрытым, как я советовал в описании.

2400/27=88,9

простая фишка для увеличения скорости. ComБаза.Visible = TRUE + закрыть сеанс - во много раз быстрее, чем ComБаза.Visible = FALSE изначально.


Это старая фишка платформы. природа ее мне непонятна =)
15. Андрей (ghostishe) 08.10.10 10:36
+14 К тому же на SQL варианте скорость может отличаться в зависимости от загруженности сервака, если на нем не только одна база крутится, т.к. SQL распределяет ресурсы неплохо. У нас 1 база УПП 200 подключений + буха + зуп на одном SQL. скорость разнится.. и это логично. Поэ\тому нижний пример я делал в файловом режиме для наглядности на Core2DUO локально.
16. Алексей Константинов (alexk-is) 08.10.10 11:00
(14) Ура цифры. Сейчас досчитает, напишу свои цифры :)
17. Алексей Константинов (alexk-is) 08.10.10 14:54
(15) Ну, у меня ПК попроще.
Итак, база УПП файловая 15 Гб соединение с УПП файловой.

Обрабатывается 894 документов.
1. НЕ закрытый сеанс - 8 612,822 сек
2. закрытый сеанс - 110,249 сек
3. немного оптимизированный код - 3,313 сек
4. еще немного оптимизированный код - 0,922 сек

Это на маленьких объемах данных, а вот на больших.
Обрабатывается 22 489 элементов справочника.
1. НЕ закрытый сеанс - не дождался, убил чтоб не мучалась
2. закрытый сеанс - 2 379,947 сек
3. немного оптимизированный код - 80,029 сек
4. еще немного оптимизированный код - 18,77 сек

Замечено, если в окне НЕ закрытого сеанса шурудить мышкой, то процесс пойдет быстрее
19. Андрей (ghostishe) 08.10.10 15:38
(17) Я не заморачивался с подключением внешних dll-ек, как у тебя в постах
20. Алексей Константинов (alexk-is) 08.10.10 15:44
(19) О каких внешних dll-ках идет речь?
21. Андрей (ghostishe) 08.10.10 16:15
(20) Ну ты ссылку дал на посты, там какие-то дллки подключаются для оптимизации, я в суть не вникал, там для 7.7
22. Алексей Константинов (alexk-is) 08.10.10 16:25
(21) Ах, dll-ки, так это для 7.7. Не, не, не. Здесь только ловкость рук и ни какого шаманства. dll-ки для 8.1 это к Душелову. Я dll-ки под 8-кой не использую и в данном случае их тоже не было.
25. Андрей (andru_dv) 29.09.11 15:25
Спасибо за обработку. Жаль что раньше её не увидел.
Я как раз синхронизирую две базы УТ по UID.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа