gifts2017

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

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

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

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

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

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

См. также

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

95% случаев, когда я использую КД - это как раз перенос из (непечатные слова) 7.7 в 8.2
В противном случае мне и перенос через то же OLE сделать проще.
14. Геннадий Пиганов (Totoro) 06.03.11 02:10
(13) Если готов помочь в тестировании такой загрузки, то можно попробовать её сделать. Я сейчас уже и не помню всех тонкостей метаданных в 7.7, только если на типовых тестировать и сравнивать с типовой загрузкой.
15. Аркадий Кучер (Abadonna) 06.03.11 05:08
(14) Я точно не готов тестировать, аж по двум причинам ;) :
1. Мне самому проще написать, чем тестировать
2. Смысла получения через COM не вижу, если честно
P.S. А вот свой дремучий (года аж 2001-го) описатель метаданных к 7.7 (ert) могу выслать, там пример работы со всеми объектами метаданных 7.7.
16. Геннадий Пиганов (Totoro) 06.03.11 09:19
(15) Для 7.7. я тоже особого смысла не вижу через COM загружать метаданные, во всяком случае мне это не нужно, а вот для 8 пользуюсь постоянно (мне так удобнее, да и обновить нужно иногда только один реквизит или движения у одного документа).
ЗЫ Знания лишними не будут, спасибо :D Мыло в профиле.
17. Сергей Ожерельев (Поручик) 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) 06.03.11 19:04
1.07 (для 8.2)
- исправлена ошибка (17) возникающая при загрузке состава плана обмена, если он содержит последовательность.
ЗЫ Стандартная обработка КД 2.1.4 при загрузке состава плана обмена, если он содержит перерасчет или последовательность загружается битые ссылки.
andrey_462; artbear; Поручик; +3 Ответить
19. Сергей Ожерельев (Поручик) 06.03.11 21:35
Спасибо, теперь нормально. Если кто-то сомневается, зачем нужна эта работа, да хотя бы для удобства. Плюс у меня были случаи, когда типовой обработкой не удавалось извлечь метаданные, эта справлялась.
20. Артур Аюханов (artbear) 07.03.11 10:56
21. Никита Уколов (zzerro) 17.03.11 11:12
За обработку однозначно плюс, только вот попытался догрузить в конфигурацию справочник и получилось следующее:
В справочники объект добавился
В объекте не указаны значения: "Объект", "Синоним"
В свойствах объекта не указан "Тип"

Может я что сделал не так?
Прикрепленные файлы:
22. Никита Уколов (zzerro) 17.03.11 11:19
Да, видимо действительно что то сделал не так, повторно все удалось, спасибо, очень пригодилась обработка!!!
23. Марго (нарчена) 05.10.11 13:10
Попробовала выполнить загрузку данных - это то, что нужно! Очень удобно!
24. Наталья Горностаева (NataLisa) 15.11.11 20:30
Просто спасение, когда используются конфигурации для управляемого приложения. Стандарными пользоваться крайне неудобно.
А время загрузки (меньше минуты) радует дополнительно.
25. Сергей Ожерельев (Поручик) 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) 18.01.14 16:53
(25) Да, спасибо. За выходные сделаю. Заодно и для последней КД обновлю, давно хотел.
27. Сергей Ожерельев (Поручик) 19.01.14 02:10
(26) Она в последней КД2 прекрасно работает без каких-либо доработок. Если бы не работало, я бы давно сообщил, так у меня она один из часто используемых инструментов с первой версии.
28. Геннадий Пиганов (Totoro) 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. Сергей Ожерельев (Поручик) 19.01.14 14:38
Теперь удобно, особенно список баз.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа