Загрузка метаданных в КД через COM-соединение 1.08

Опубликовал Геннадий Пиганов (Totoro) в раздел Обмен

Обработка загрузки структуры метаданных в конфигурацию "Конвертация данных" через COM-соединение с базой, а не через файл. Возможно частичное обновление метаданных.

Обработка загрузки структуры метаданных в конфигурацию "Конвертация данных" через COM-соединение с базой, а не через файл. Возможно частичное обновление метаданных.

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

Наименование Файл Версия Размер
ЗагрузкаСтруктурыМетаданныехКД82 1_08.epf
.epf 49,05Kb
19.01.14
30
.epf 1.08 49,05Kb 30 Скачать
кдЗагрузкаСтруктурыМетаданныхКД82_1_07.epf
.epf 45,26Kb
19.01.14
146
.epf 1.07 45,26Kb 146 Бесплатно
кдЗагрузкаСтруктурыМетаданныхКД81_1_04.epf
.epf 43,79Kb
19.01.14
39
.epf 1.04 43,79Kb 39 Бесплатно

См. также

Комментарии
1. Александр Зубцов (iov) 359 09.10.10 00:54 Сейчас в теме
Заранее плюс
но сразу вопрос может обновлять существующие структуры метаданных?
2. korefan (korefan) 09.10.10 02:22 Сейчас в теме
3. Геннадий Пиганов (Totoro) 492 09.10.10 08:13 Сейчас в теме
(0) Можно. Нужно выбрать существующую конфигурацию. Если установить флаг "добавлять только новые", то будут добавлены только новые объекты, старые изменены не будут. Иначе будут добавлены только отмеченные в метаданных объекты, остальные будут помечены на удаление. Потом доделаю обновления отмеченных в метаданных объектов, без изменения не отмеченных (например, обновить только справочники).
4. Александр Зубцов (iov) 359 10.10.10 22:56 Сейчас в теме
(3) А можно ли обновлять существующие? как пример изменились реквизиты один удалили - другой добавили или поменяли длину или тип реквизита?
5. script Мальчинко (script) 187 11.10.10 00:06 Сейчас в теме
А из 77 тоже момжно загружать ?
6. Геннадий Пиганов (Totoro) 492 11.10.10 21:17 Сейчас в теме
1.02
- Добавлен режим частичного обновления метаданных. Для этого нужно установить флажок "Изменять только выбранные объекты метаданных". Тогда, если свойства имеют тип, не выбранный для загрузки, то будет производиться попытка поиска этого типа в базе (в случае неудачи тип свойства не будет назначен). Удаление не найденных объектов в этом случае тоже будет производиться только для выбранных метаданных.
7. Геннадий Пиганов (Totoro) 492 11.10.10 21:19 Сейчас в теме
(4) Теперь можно.
(5) Нет, там другая логика и типизация. Вообще, я 7.7 уже редко пользуюсь. В принципе, если будет достаточно желающих протестировать такую загрузку, то можно попробовать сделать и загрузку из 7.7.
8. Геннадий Пиганов (Totoro) 492 14.10.10 10:59 Сейчас в теме
1.03
- При модификации конфигурации сохраняется последняя настройка метаданных для выбранной конфигурации
9. Геннадий Пиганов (Totoro) 492 22.11.10 21:50 Сейчас в теме
1.04 (пока только для 8.2)
- оптимизирован алгоритм загрузки
- возможен выбор загружаемых метаданных вплоть до объекта
- в режиме обновления тоже возможен выбор метаданных вплоть до объекта
Поручик; +1 Ответить
10. Геннадий Пиганов (Totoro) 492 08.12.10 13:26 Сейчас в теме
1.04
- добавлена версия для 8.1
11. Геннадий Пиганов (Totoro) 492 31.12.10 11:55 Сейчас в теме
1.05 (для 8.2)
- исправлена ошибка чтения лишних данных типов в режиме обновления
- добавлена поддержка новой КД 2.1.4 (новый тип УникальныйИдентификатор, загрузка состава планов обмена)
1.04 (для 8.1)
- исправлена ошибка чтения лишних данных типов в режиме обновления
12. Геннадий Пиганов (Totoro) 492 05.03.11 22:12 Сейчас в теме
1.06 (для 8.2)
- исправлена ошибка не обновления представления описания типа свойства, если при обновлении типа свойства изменился только квалификатор типа
- исправлена ошибка загрузки квалификаторов типа Субконто у регистра бухгалтерии
- добавлена поддержка загрузки метаданных из конфигураций с установленным вариантом встроенного языка "английский" (стандартная обработка КД этого не делает)
- на закладке "COM-соединение" добавлена кнопка перерегистрации comctrl.dll (при возникновении ошибки о невозможности создания COMConnector)
1.04 (для 8.1)
- исправлена ошибка не обновления представления описания типа свойства, если при обновлении типа свойства изменился только квалификатор типа
- исправлена ошибка загрузки квалификаторов типа Субконто у регистра бухгалтерии
- на закладке "COM-соединение" добавлена кнопка перерегистрации comctrl.dll (при возникновении ошибки о невозможности создания COMConnector)
Поручик; +1 Ответить 1
13. Аркадий Кучер (Abadonna) 3658 05.03.11 23:05 Сейчас в теме
(7)
А из 77 тоже момжно загружать ?
(5) Нет, там другая логика и типизация.

95% случаев, когда я использую КД - это как раз перенос из (непечатные слова) 7.7 в 8.2
В противном случае мне и перенос через то же OLE сделать проще.
14. Геннадий Пиганов (Totoro) 492 06.03.11 02:10 Сейчас в теме
(13) Если готов помочь в тестировании такой загрузки, то можно попробовать её сделать. Я сейчас уже и не помню всех тонкостей метаданных в 7.7, только если на типовых тестировать и сравнивать с типовой загрузкой.
15. Аркадий Кучер (Abadonna) 3658 06.03.11 05:08 Сейчас в теме
(14) Я точно не готов тестировать, аж по двум причинам ;) :
1. Мне самому проще написать, чем тестировать
2. Смысла получения через COM не вижу, если честно
P.S. А вот свой дремучий (года аж 2001-го) описатель метаданных к 7.7 (ert) могу выслать, там пример работы со всеми объектами метаданных 7.7.
16. Геннадий Пиганов (Totoro) 492 06.03.11 09:19 Сейчас в теме
(15) Для 7.7. я тоже особого смысла не вижу через COM загружать метаданные, во всяком случае мне это не нужно, а вот для 8 пользуюсь постоянно (мне так удобнее, да и обновить нужно иногда только один реквизит или движения у одного документа).
ЗЫ Знания лишними не будут, спасибо :D Мыло в профиле.
17. Сергей Ожерельев (Поручик) 3490 06.03.11 17:23 Сейчас в теме
(12)
Пытаюсь выполнить обновление метаданных для УТ 11.0.6.3 на УТ 11.0.6.4.
{Форма.ЗаполнениеПоМетаданнымДляКД.Форма(206)}: Ошибка при вызове метода контекста (NewObject)
	ОписаниеТипов = мCOMсоединение.NewObject("ОписаниеТипов", ИмяТипа);
по причине:
Произошла исключительная ситуация (V82.COMConnection): Недопустимое значение параметра (параметр номер '1') (ПоследовательностьСсылка.ПроведениеПоРасчетамСКлиентами)
...Показать Скрыть


1С:Предприятие 8.2 (8.2.13.205)
Конвертация данных, редакция 2.1 (2.1.4.1)
18. Геннадий Пиганов (Totoro) 492 06.03.11 19:04 Сейчас в теме
1.07 (для 8.2)
- исправлена ошибка (17) возникающая при загрузке состава плана обмена, если он содержит последовательность.
ЗЫ Стандартная обработка КД 2.1.4 при загрузке состава плана обмена, если он содержит перерасчет или последовательность загружается битые ссылки.
andrey_462; artbear; Поручик; +3 Ответить
19. Сергей Ожерельев (Поручик) 3490 06.03.11 21:35 Сейчас в теме
Спасибо, теперь нормально. Если кто-то сомневается, зачем нужна эта работа, да хотя бы для удобства. Плюс у меня были случаи, когда типовой обработкой не удавалось извлечь метаданные, эта справлялась.
20. Артур Аюханов (artbear) 850 07.03.11 10:56 Сейчас в теме
21. Никита Уколов (zzerro) 267 17.03.11 11:12 Сейчас в теме
За обработку однозначно плюс, только вот попытался догрузить в конфигурацию справочник и получилось следующее:
В справочники объект добавился
В объекте не указаны значения: "Объект", "Синоним"
В свойствах объекта не указан "Тип"

Может я что сделал не так?
Прикрепленные файлы:
22. Никита Уколов (zzerro) 267 17.03.11 11:19 Сейчас в теме
Да, видимо действительно что то сделал не так, повторно все удалось, спасибо, очень пригодилась обработка!!!
23. Марго (нарчена) 05.10.11 13:10 Сейчас в теме
Попробовала выполнить загрузку данных - это то, что нужно! Очень удобно!
24. Наталья Горностаева (NataLisa) 15.11.11 20:30 Сейчас в теме
Просто спасение, когда используются конфигурации для управляемого приложения. Стандарными пользоваться крайне неудобно.
А время загрузки (меньше минуты) радует дополнительно.
25. Сергей Ожерельев (Поручик) 3490 18.01.14 16:43 Сейчас в теме
(0) Привет.
Для использования с платформой 8.3 нет желания пофиксить?
В список выбора версии платформы добавить соответствующие строки. Далее в модуле формы изменить блок условий.

Код
   Если ВерсияПлатформы8 = "V8" Тогда
      ВерсияПлатформыКД = "8.0";
   ИначеЕсли ВерсияПлатформы8 = "V81" Тогда
      ВерсияПлатформыКД = "8.1";
   ИначеЕсли ВерсияПлатформы8 = "V82" Тогда
      ВерсияПлатформыКД = "8.2";
   Иначе
      ВерсияПлатформыКД = "8.3";
   КонецЕсли;
Показать полностью


Код
   Если ВерсияПлатформыКД = "8.0" Тогда
      ВерсияПлатформы8 = "V8";
   ИначеЕсли ВерсияПлатформыКД = "8.1" Тогда
      ВерсияПлатформы8 = "V81";
   ИначеЕсли ВерсияПлатформыКД = "8.2" Тогда
      ВерсияПлатформы8 = "V82";
   ИначеЕсли ВерсияПлатформыКД = "8.3" Тогда
      ВерсияПлатформы8 = "V83";
   Иначе
      Если Конфигурация.Приложение = Перечисления.Приложения.УправляемоеПриложение Тогда
         ВерсияПлатформы8 = "V82";
      Иначе
         ВерсияПлатформы8 = "V81";
      КонецЕсли;
   КонецЕсли;
Показать полностью
Прикрепленные файлы:
26. Геннадий Пиганов (Totoro) 492 18.01.14 16:53 Сейчас в теме
(25) Да, спасибо. За выходные сделаю. Заодно и для последней КД обновлю, давно хотел.
27. Сергей Ожерельев (Поручик) 3490 19.01.14 02:10 Сейчас в теме
(26) Она в последней КД2 прекрасно работает без каких-либо доработок. Если бы не работало, я бы давно сообщил, так у меня она один из часто используемых инструментов с первой версии.
28. Геннадий Пиганов (Totoro) 492 19.01.14 12:56 Сейчас в теме
Версия 1.08:
- добавлена загрузка общих реквизитов (появилось в КД начиная с версии 2.1.6). Как и в типовой загружаются только не участвующие в разделении данных реквизиты.
- добавлен простой диалог выбора строки подключения базы из списка локальных баз. Анализируется файл "%AppData%\1C\1CEStart\ibases.v8i"
- добавлена возможность выбора версии платформы 8.3. Т.к. на форме элемента справочника "Конфигурации" нельзя выбрать версию платформы 8.3, то после загрузки базы (и сохранения настроек) версия платформы там будет не выбрана, но в настройках она будет правильной.
Тестировалось на 2.1.8.1.
dyuha; so-quest; artbear; Поручик; +4 Ответить
29. Сергей Ожерельев (Поручик) 3490 19.01.14 14:38 Сейчас в теме
Теперь удобно, особенно список баз.