Хранилище 1С. Просмотр истории хранилища обработкой

27.01.18

Разработка - Инструментарий разработчика

Всем привет. Недавно пришлось реализовать выгрузку изменений из хранилища 1С для конфигураций, у которых установлен режим совместимости 8.2.13 и ниже. В рамках задачи появилась вот эта обработка, решил ее выложить отдельно, вдруг кому-то еще пригодится.

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

Наименование Файл Версия Размер
Хранилище 1с. Просмотр истории обработкой:
.dt 782,27Kb
50
.dt 270118 782,27Kb 50 Скачать

Адрес проекта на GitHub: https://github.com/BlizD/HistoryStorage

Выгрузка таблиц из хранилища выполняется программой Tool_ 1 C D (автор Валерий Агеев дал разрешение на использование). 

 

Спасибо, Александру за доп сведения:

на версии платформы 8.3.5.1383 у меня не заработало правильно. Файл читался, но типы "дата",

"булево" загружались строкой. Пришлось сделать парсинг строк.

UPDATE 270118:  

* Исправил ошибку при получении строки родителя по OBJID. Оказывается он может повторяться, если старый объект был удален, то для нового может будет этот же OBJID.

UPDATE 241217:  

* В макет классов добавлены объекты: HTTPСервис

UPDATE 081217:  

* В макет классов добавлены объекты: общие реквизиты.

UPDATE 090817:  

* В обработку добавлена колонка "Версия конфигурации".
* В макет классов добавлены объекты: РегистрРасчета, Форма списка регистра расчета, Перерасчет регистра расчета, 
Форма регистра бухгалтерии, НумераторДокументов.
* Добавлен реквизит "Вывести служебную таблицу" по этой таблице, можно определить класс объекта.
* Убраны лишние закомментированные блоки.

 

UPDATE 070717:  

Можно использовать и без копирования файла хранилища, это безопасно, по заверению тех кто уже давно использует Tool_1CD:

Артур Аюханов (artbear): А почему не пользоваться не монопольным доступом утилиты? 
я лично уже несколько лет юзаю этот режим с боевыми хранилищами для gitsync, проблем ни разу не было :)

Артур Аюханов (artbear): Да и не я один юзаю gitsync в течение нескольких лет, 
так что немонопольный доступ правильно работает и в бою можно юзать.

 

Пример работы:

В публикации файл выгрузки базы DT.

 

 
Старое описание

ВНИМАНИЕ! Используйте данную обработку в качестве эксперимента. 

ВНИМАНИЕ! Из за того, что выгрузка таблиц происходит не в монопольном режиме, поэтому лучше копируйте файл хранилище 1cv8ddb.1CD в другое место и просматривайте его. 

Из справки к Tool_1 C D

.

d:\Cloud\Dev\Tasks\Tool_1CD>ctool_1cd /?
cTool_1CD (с) 2009-2017 awa

 -ne
 -NotExclusively
   открыть базу не монопольно (Это небезопасно, возможны ошибки!).

 

 

 

 

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122144    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7291    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3534    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177745    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99346    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18110    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28108    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23601    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. JohnyDeath 301 06.07.17 21:34 Сейчас в теме
2. BlizD 1024 06.07.17 21:51 Сейчас в теме
(1)
А почему штатными средствами не обошлись?
Например вот так: https://github.com/Stepa86/1C-Gitter/blob/master/src/CommonModules/ПакетныйРежим/Ext/Modul­­e.bsl#L2


До этого и обходился штатными средствами, но для конфигураций в которых указан режим совместимости 8.2.13 и ниже
отчет выдается в другом формате он мне не подходил в нем нет нужных мне сведений:
нет версии, нет пользователя, нет даты версии, нет признака (добавлен, изменен, удален) или не было комментария.
+ сведений группируются по объектам метаданных.

Возможно, что то делал не так, но не получилось сформировать нужный мне отчет.
Bukaska; gubanoff; artbear; awa; JohnyDeath; +5 Ответить
3. artbear 1448 07.07.17 10:49 Сейчас в теме
А почему не пользоваться не монопольным доступом утилиты?
я лично уже несколько лет юзаю этот режим с боевыми хранилищами для gitsync, проблем ни разу не было :)
4. BlizD 1024 07.07.17 11:01 Сейчас в теме
(3)
А почему не пользоваться не монопольным доступом утилиты?
я лично уже несколько лет юзаю этот режим с боевыми хранилищами для gitsync, проблем ни разу не было :)


Должен был предупредить, тех кто собирается использовать.
У меня просто такой практики еще нет, поэтому доверяюсь описанию к Tool_1CD.
5. artbear 1448 07.07.17 11:15 Сейчас в теме
Да и не я один юзаю gitsync в течение нескольких лет,
так что немонопольный доступ правильно работает и в бою можно юзать.
JohnyDeath; +1 Ответить
6. BlizD 1024 07.07.17 11:29 Сейчас в теме
(5)
Да и не я один юзаю gitsync в течение нескольких лет,
так что немонопольный доступ правильно работает и в бою можно юзать.


Спасибо, поправил описание.
7. JohnyDeath 301 07.07.17 12:48 Сейчас в теме
Соглашусь с artbear: Tool_1CD корректно работает с файлом боевого хранилища уже давно и не на одном проекте.
Можно и не заморачиваться на постоянное копирование
8. gubanoff 63 07.07.17 15:21 Сейчас в теме
(0) Работает. К тому же быстро работает. Очень крутая вещь. По задумке 1С, это можно получить парсингом файла по истории хранилища, который формируется при пакетном запуске конфигуратора:
/ConfigurationRepositoryReport <имя файла> [-NBegin <номер версии>] [-NEnd <номер версии>] [-GroupByObject] [-GroupByComment] — построение отчета по истории хранилища. 


но беда в том, что этот отчет формируется некорректно - всегда с группировкой по объектам, а не по комментариям (если я правильно помню, я даже посылал такую ошибку в 1С).

Не знал, что Tool_1CD умеет работать в командной строке, это тоже полезно было. Будем брать на вооружение.
9. BlizD 1024 07.07.17 15:32 Сейчас в теме
(8)
Александр, спасибо за отзыв.

но беда в том, что этот отчет формируется некорректно - всегда с группировкой по объектам, а не по комментариям (если я правильно помню, я даже посылал такую ошибку в 1С).


Для конфигураций в которых указан режим совместимости 8.2.16 и выше, отчет для парсинга выходит нормальный.
А вот для тех, что в режиме совместимости 8.2.13 и ниже то там да беда.
10. artbear 1448 07.07.17 15:55 Сейчас в теме
(8)
Не знал, что Tool_1CD умеет работать в командной строке, это тоже полезно было. Будем брать на вооружение.

Эту возможность @awa (Валерий Агеев) по нашим просьбам давно добавил, сначала даже в GUI-версию
11. Fatov_DI 20.07.17 10:03 Сейчас в теме
(10) Извиняюсь за оффтоп, а эта программка случайно не может захватывать объекты в хранилище под определенным пользователем?
12. BlizD 1024 20.07.17 11:27 Сейчас в теме
(11)
Добрый день, Дмитрий.

Извиняюсь за оффтоп, а эта программка случайно не может захватывать объекты в хранилище под определенным пользователем?


Нет, такого функционала в ней не заложено.
13. Tavalik 3350 01.08.17 19:21 Сейчас в теме
Спасибо. Возникла подобная задача, очень кстати подвернулась ваша конфигурация. С некоторыми допилами обработка заработала на нашем проекте.

Что хотелось бы добавить:

1. Почему-то вы не считываете версию конфигурации и метку из истории хранилища.
2. Если решение в виде конфигурации, то разумно было бы добавить подсистему, роль (не "ПолныеПрава", а на запуск обработки). В общем оформить в виде готового к объединению и внедрению решения. Я добавлял еще регистр сведений для хранения истории, регламентное задание для обновления регистра сведений по истории хранилища, подсистему, константы, роли.
3. Ловлю ошибки вида:
Ошибка! Не найдена строка в "мТЗИменаКлассов" для CLASSID = a2cb086c-db98-43e4-a1a9-0760ab048f8d
Ошибка! Не найдена строка в "мТЗИменаКлассов" для CLASSID = f2de87a8-64e5-45eb-a22d-b3aedab050e7
Ошибка! Не найдена строка в "мТЗИменаКлассов" для CLASSID = 274bf899-db0e-4df6-8ab5-67bf6371ec0b
Ошибка! Не найдена строка в "мТЗИменаКлассов" для CLASSID = d3b5d6eb-4ea2-4610-a3e2-624d4e815934

4. Уж извините, что придираюсь, но хотелось бы некой чистоты кода. Я имею в виду удаление отладочных комментариев, описание к экспортным процедурам и т. д. Например, вот это:
    #Если Тромбон тогда
		ТЗИзФайла = Новый ТаблицаЗначений;
	#Конецесли

Что за тромбон, простите? Я что-то не знаю в синтаксисе 1С? :)

Но в целом, все работает. Конечно, ставлю звездочку.
14. BlizD 1024 02.08.17 09:18 Сейчас в теме
(13)
Добрый день, Виталий.
Спасибо за отзыв.

1. Почему-то вы не считываете версию конфигурации и метку из истории хранилища.

Версия конфигурации считывается, по поводу метки - она не выгружается и в типовой выгрузке, только комментарий выгружается.

2. Если решение в виде конфигурации, то разумно было бы добавить подсистему, роль (не "ПолныеПрава", а на запуск обработки). В общем оформить в виде готового к объединению и внедрению решения. Я добавлял еще регистр сведений для хранения истории, регламентное задание для обновления регистра сведений по истории хранилища, подсистему, константы, роли.

Согласен с Вами, но данное решение не планировалось как готовое к объединению с чем то. Данная загрузка используется в конфигурации "Управление задачами" https://infostart.ru/public/552480/


3. Ловлю ошибки вида:

Это ошибки означают, что в макете "ИменаКлассов" нет записи для CLASSID.
Можете сказать из какой конфигурации такие ошибки появляются?
Если есть возможность, то скиньте конфигурацию и добавлю запись в макет.

4. Уж извините, что придираюсь, но хотелось бы некой чистоты кода. Я имею в виду удаление отладочных комментариев, описание к экспортным процедурам и т. д. Например, вот это:


Как вариант, могу выложить на Github данную разработку и там через Pull request исправите то, о чем описываете.

Что за тромбон, простите? Я что-то не знаю в синтаксисе 1С? :)
Но в целом, все работает. Конечно, ставлю звездочку.


Что касается Тромбон, данный подход был взять из мастер группы профессионального программирования от Евгения Гилева и Насипова Фарита.
Данной инструкции препроцессора в 1с точно нет, поэтому весь код который обрамлен этой конструкцией будет удален в режиме исполнения. Но при написании кода, данный подход позволяет избежать ошибок синтаксических, т.к. становятся доступны методы вызываемые через точку. Чаще всего данную конструкцию удобно использовать в подписках на событиях, там есть Источник, чтобы обратиться к его методам или свойствам достаточно вставить такую конструкцию:

#Если Тромбон Тогда
       Источник = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
#Конецесли
gubanoff; +1 Ответить
15. kiruha 388 08.08.17 17:37 Сейчас в теме
(14)

Что касается Тромбон, данный подход был взять из мастер группы профессионального программирования от Евгения Гилева и Насипова Фарита.
Данной инструкции препроцессора в 1с точно нет, поэтому весь код который обрамлен этой конструкцией будет удален в режиме исполнения. Но при написании кода, данный подход позволяет избежать ошибок синтаксических

Мы пишем
Если Ложь Тогда
       Источник = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Конецесли

Без Тромбона ) и сворачивается
16. BlizD 1024 09.08.17 08:20 Сейчас в теме
(15)
С тромбоном всегда веселее :)
17. Tavalik 3350 09.08.17 12:44 Сейчас в теме
(14)
Версия конфигурации считывается, по поводу метки - она не выгружается и в типовой выгрузке, только комментарий выгружается.

Я имею в виду версию конфигурации поставщика. Она есть в истории хранилища, но нет в обработке.

Можете сказать из какой конфигурации такие ошибки появляются?

УПП с большим числом доработок. Но я так понимаю, сама конфигурация не обязательна. Можно добавить новые объекты во все возможные ветки конфигурации и поместить в хранилище.

Данной инструкции препроцессора в 1с точно нет, поэтому весь код который обрамлен этой конструкцией будет удален в режиме исполнения

Интересный метод. Спасибо. Я обычно скрываю подобный код под комментарием.
20. AKnyazkov 54 09.10.17 09:15 Сейчас в теме
(14)
Добрый день, вместо Тромбон (что режет глаз) лучше писать:
#Если Клиент И Не Клиент Тогда
...
#КонецЕсли
21. BlizD 1024 09.10.17 14:15 Сейчас в теме
(20)
Добрый день, вместо Тромбон (что режет глаз) лучше писать:
#Если Клиент И Не Клиент Тогда
...
#КонецЕсли


Добрый день, Алексей.
Тут дело привычки, просто тромбон это гарантированное имя, по которому код точно не выполнится.
А вот инструкция препроцессора:
#Если Клиент И Не Клиент Тогда 

За нее всегда будет цепляться глаз и каждый раз надо думать, а вдруг тот кто писал это просто ошибся и зря поставил такое не выполнимое условие.
SagittariusA; gubanoff; +2 Ответить
22. AKnyazkov 54 10.10.17 17:06 Сейчас в теме
(21)
Добрый день!
У меня такая конструкция даже добавлена в шаблон под названием "Заглушка", чтобы никто глазами не спотыкался, можно добавить комментарий ), а по поводу несуществующих команд препроцессору, вдруг их перестанут поддерживать и они станут вызывать ошибку (гипотетически) ?
Про привычки - согласен, люди ко всему привыкают )
23. BlizD 1024 11.10.17 11:44 Сейчас в теме
(22)
Добрый день, Алексей.

по поводу:
вдруг их перестанут поддерживать и они станут вызывать ошибку (гипотетически) ?


Сомневаюсь, что такое случиться, это будет означать, что могут быть проблемы и по другим конструкция препроцессора (если кто то в коде указал неправильное имя конструкции например &НаКлиенте1), что повлечет проблемы. Думаю вряд ли фирма 1с, пойдет на такой шаг.

Но даже если такое случиться, слово Тромбон отлично подходит для глобальной замены во всей конфигурации =)
18. BlizD 1024 09.08.17 18:30 Сейчас в теме
UPDATE 090817:

* В обработку добавлена колонка "Версия конфигурации".
* В макет классов добавлены объекты: РегистрРасчета, Форма списка регистра расчета, Перерасчет регистра расчета,
Форма регистра бухгалтерии, НумераторДокументов.
* Добавлен реквизит "Вывести служебную таблицу" по этой таблице, можно определить класс объекта.
* Убраны лишние закомментированные блоки.
19. BlizD 1024 09.08.17 18:32 Сейчас в теме
(13)
1. Почему-то вы не считываете версию конфигурации и метку из истории хранилища.

Добавил.

3. Ловлю ошибки вида:


Добавил в макет классов новые классы, теперь ошибки должны уйти.

4. Уж извините, что придираюсь, но хотелось бы некой чистоты кода. Я имею в виду удаление отладочных комментариев, описание к экспортным процедурам и т. д. Например, вот это:


Убрал часть закомментированных блоков, теперь должно быть чище немного.
24. gubanoff 63 08.12.17 09:58 Сейчас в теме
(0) Еще раз спасибо за обработку. Применил у себя.
Что изменил/с чем столкнулся:
1. Добавил имя класса HTTPСервис
0fffc09c-8f4c-47cc-b41c-8d5c5a221d79	HTTPСервис

2. Не хватает имени класса ОбщийРеквизит, но у меня такого пока нет, поэтому и проблем нет.
3. Для хранилища с количеством версий 24566 файл HISTORY.XML получился 680 МБ и формировался более 10 минут. После этого загрузка не получилась из-за недостатка памяти на сервере 1С. Это связано с тем, что чтение файлов XML реализовано методом, который загружает сразу весь файл в ОЗУ:
	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(СтрокаXML);
	
	ПакетХранилищаXDTO = ФабрикаXDTO.Тип(ИмяПространстваИмен,ИмяПакетаXDTO);
	Если ПакетХранилищаXDTO = Неопределено Тогда
		//ВызватьИсключение "Ошибка! не удалось определить Тип пакета XDTO";
		ФайлХранилища = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
	Иначе
		ФайлХранилища = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ПакетХранилищаXDTO);
	Конецесли;
Показать

что сделал - добавил параметры
-BlobToFile yes
и
-ParseBlob no
, чтобы blob строки из файла HISTORY выгружались в отдельные файлы. В результате выгрузка стала происходить еще медленнее, но файл HISTORY.xml стал весить 98Мб (+800 МБ blob-файлов), что позволило его загрузить на сервере без нехватки памяти.
4. Не заметил разницы между параметром
-ParseBlob no
и
-ParseBlob yes
. По справке, разница должна была быть - в одном случае blob должен был остаться зашифрованным, в другом нет.
5. По идее, чтение XML можно сделать последовательными методами, чтобы читать большие файлы. Так можно выиграть время при выгрузке файлов (не выделять blob), но потерять время на чтении файлов. Я подумал, что потери примерно одинаковые и последовательное чтение не делал.
6. Для хранилища с числом версий около 3000 выгрузка-загрузка истории с выделением BLOB файлов занимает около 5 минут. Без выделения blob будет быстрее, но нужно следить, чтобы памяти хватало на сервере 1С. В связи с этим самый печальный вывод - для оперативной работы в онлайн-режиме это медленно (даже для маленьких хранилищ). Поэтому ряд бонусов от истории хранилища невозможно использовать. Остается вариант с регламентной загрузкой по расписанию, но это не онлайн-режим.
7. Чтение через
ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ПакетХранилищаXDTO);
на версии платформы 8.3.5.1383 у меня не заработало правильно. Файл читался, но типы "дата", "булево" загружались строкой. Пришлось сделать парсинг строк.
26. BlizD 1024 08.12.17 10:14 Сейчас в теме
(24)
Добрый день, Александр.
Спасибо за отзыв, приятно, что обработка Вам пригодилась.

1. Добавил имя класса HTTPСервис
0fffc09c-8f4c-47cc-b41c-8d5c5a221d79 HTTPСервис


Подскажите как точно называется HTTPСервис? Он также проходит и при типовой выгрузке 1с?

2. Не хватает имени класса ОбщийРеквизит, но у меня такого пока нет, поэтому и проблем нет.

Да, с этим уже столкнулся где то 2-3 недели назад, все некогда было обновить обработку. Спасибо.

что сделал - добавил параметры
-BlobToFile yes
и
-ParseBlob no


Подскажите, куда Вы их добавили? Тоже добавлю в основную версию.

6. Для хранилища с числом версий около 3000 выгрузка-загрузка истории с выделением BLOB файлов занимает около 5 минут. Без выделения blob будет быстрее, но нужно следить, чтобы памяти хватало на сервере 1С. В связи с этим самый печальный вывод - для оперативной работы в онлайн-режиме это медленно (даже для маленьких хранилищ). Поэтому ряд бонусов от истории хранилища невозможно использовать. Остается вариант с регламентной загрузкой по расписанию, но это не онлайн-режим.


Самое правильное было ускорение, это если бы утилита Tool_1CD могла накладывать отбор на версии, которые надо выгружать.
У нас более 9000 версий, загружается через регл. задание, но для нас 5-10 минут это не проблема.

на версии платформы 8.3.5.1383 у меня не заработало правильно. Файл читался, но типы "дата", "булево" загружались строкой. Пришлось сделать парсинг строк.


Добавлю в описании.
28. gubanoff 63 08.12.17 11:10 Сейчас в теме
(26)
Подскажите как точно называется HTTPСервис? Он также проходит и при типовой выгрузке 1с?
- не понял вопрос, это объект в ветке Общие - HTTP-сервисы, появились в платформе 8.3.

Подскажите, куда Вы их добавили? Тоже добавлю в основную версию.
добавил в функцию ВыгрузитьТаблицыХранилищаВФайлы, получилось вот так:
		ДобавитьВКомандуКлючЗначение(ТекстКоманды,,ИмяФайлаХранилища);
		ДобавитьВКомандуКлючЗначение(ТекстКоманды,"-ne");
		ДобавитьВКомандуКлючЗначение(ТекстКоманды,"-ex",КаталогВыгрузкиФайлов);
		ДобавитьВКомандуКлючЗначение(ТекстКоманды,"USERS,HISTORY,VERSIONS,OBJECTS");
		Если ОбщиеПараметры.мХранилищеКонфигурации.ВыгружатьBLOBОтдельно Тогда
			ДобавитьВКомандуКлючЗначение(ТекстКоманды,"-BlobToFile yes");
			ДобавитьВКомандуКлючЗначение(ТекстКоманды,"-ParseBlob no");
		КонецЕсли;
Показать


Самое правильное было ускорение, это если бы утилита Tool_1CD могла накладывать отбор на версии, которые надо выгружать.
согласен, но думаю, навряд ли автор это доработает.
30. BlizD 1024 08.12.17 11:44 Сейчас в теме
(28)
Александр,

- не понял вопрос, это объект в ветке Общие - HTTP-сервисы, появились в платформе 8.3.

Есть типовая (платформенная) выгрузка истории изменений из хранилища. И есть вот эта альтернативная выгрузка.
Важно, чтобы и типовая и альтернативная выгрузка на выходе получало одинаковое имя класса.

Типовая выгрузка это примерно вот такая строка запуска конфигуратора с ключами:
"C:\Program Files (x86)\1cv8\8.3.9.2170\bin\1cv8.exe" DESIGNER  /F "D:\Storage_transit\Kons" /N "UserStorage" /P "123" /ConfigurationRepositoryF "D:\Storage\Kons" /ConfigurationRepositoryN "UserStorage" /ConfigurationRepositoryP "123" /ConfigurationRepositoryReport "C:\\Temp\StorageHistory_08122017_114726.mxl" -NBegin "183"
32. gubanoff 63 08.12.17 11:52 Сейчас в теме
(30)
Есть типовая (платформенная) выгрузка истории изменений из хранилища. И есть вот эта альтернативная выгрузка.
Важно, чтобы и типовая и альтернативная выгрузка на выходе получало одинаковое имя класса.
как использовать типовую выгрузку? Я не в курсе этого. Если речь об отчете по истории хранилища, так в нем нет идентификаторов.
33. BlizD 1024 08.12.17 11:57 Сейчас в теме
(32)
как использовать типовую выгрузку? Я не в курсе этого. Если речь об отчете по истории хранилища, так в нем нет идентификаторов.

Да, речь об отчете.
Неправильно выразился, да там нет идентификаторов.
Скажу по другому, важно, чтобы в альтернативной выгрузке было ровно такое же имя для метаданных, что и в типовой.
Чтобы не получилось так, что в типовой объект называется "HTTP-Сервис", а в альтернативной "HTTPСервис" т.е. без дефиса.
34. gubanoff 63 08.12.17 12:00 Сейчас в теме
(33) да, так и называется HTTPСервис :)
Прикрепленные файлы:
35. BlizD 1024 08.12.17 12:05 Сейчас в теме
(34)
Спасибо добавлю в обработку чуть позже
29. gubanoff 63 08.12.17 11:14 Сейчас в теме
(26)
У нас более 9000 версий, загружается через регл. задание, но для нас 5-10 минут это не проблема.
подскажите, для чего используете историю? При регламентной загрузке у меня только такие идеи к использованию:
1. самые часто/редко меняемые объекты - определять, нужен ли рефакторинг.
2. количество версий за период по программистам - для определения тренда скорости.

В онлайн-режиме можно было это дело связать с системой учета задач и ошибок.
31. BlizD 1024 08.12.17 11:51 Сейчас в теме
(29)
подскажите, для чего используете историю? При регламентной загрузке у меня только такие идеи к использованию:
1. самые часто/редко меняемые объекты - определять, нужен ли рефакторинг.
2. количество версий за период по программистам - для определения тренда скорости.


Это используется в конфигурации Управление задачами https://infostart.ru/public/552480/
Если в двух словах, то измененные метаданные связываются с конкретными задачами.
А задачи в свою очередь собираются в релиз, в документ выпуск релиза.
В котором уже видно, какие метаданные необходимо перенести в рабочую базу по этому релизу.

Вот пример видео на эту тему:
https://www.youtube.com/watch?v=XzWCFyrIPcI
mikukrnet; +1 Ответить
27. BlizD 1024 08.12.17 10:39 Сейчас в теме
(24) Александр,

выложил на Github конфигурацию: https://github.com/BlizD/HistoryStorage
25. BlizD 1024 08.12.17 10:04 Сейчас в теме
UPDATE 081217:

* В макет классов добавлены объекты: общие реквизиты.
36. BlizD 1024 24.12.17 10:02 Сейчас в теме
UPDATE 241217:

* В макет классов добавлены объекты: HTTPСервис
37. BlizD 1024 27.01.18 15:05 Сейчас в теме
UPDATE 270118:

* Исправил ошибку при получении строки родителя по OBJID. Оказывается он может повторяться, если старый объект был удален, то для нового может быть этот же OBJID.
38. zekrus 151 05.04.18 07:34 Сейчас в теме
Доброе утро!
Тема весьма актуальная.
Нужно кое-что поправить:
1. Фильтрация нужна по дате.
2. Отчет о проделанной работе сотрудника
(выводить комментарии и метки за период).
3. Необходима кнопка "Печать".
4. Множественный выбор каталогов хранилищ.
С уважением
39. BlizD 1024 05.04.18 11:22 Сейчас в теме
(38)
Доброе утро, Николай.

По поводу пожеланий к обработке.
Большую часть описанных вещей можно получить в конфигурации:
* Управление задачами: Канбан доска (https://infostart.ru/public/552480/)

В данной конфигурации необходимо открыть справочник "История конфигурации".
Там можно и отфильтровать по дате и вывести список и отфильтровать по конфигурациям.

Если все же кто то хочет доработать именно эту обработку то тоже не против.
Обработка выложена на Github любой желающий может ее доработать.
* Адрес проекта на GitHub: https://github.com/BlizD/HistoryStorage

Как доработать обработку, можно почитать вот тут:
* Github и 1С. Пошаговая инструкция на конкретном примере (https://infostart.ru/public/691382/)
40. VVi3ard 52 06.04.23 17:17 Сейчас в теме
Конечно крутая штука, но к сожалению мало где есть доступ к файлам (в целях безопасности) правильно же давать доступ через
tcp://host:4542/Dev_Sup

И тут уже разобрать CD не получится :(.
Оставьте свое сообщение