#0
by Franchiser
Есть большое количество баз 7.7, из 8-ки 1-м прямым запросом получаю консолидированные данные из этих баз. Для получения имен таблиц и реквизитов использую сейчас распарсивание файлов DDS. К сожалению не все реквизиты есть в dds: например, константы, перечисления, пер. реквизиты справочников. Есть ли какой-то способ распарсить из 1с 8 MD файлы 1с 7.7? или может есть какая-то компонента, типа 1с++, работающая из 1с 8?
#11
by Franchiser
через com работает во много раз дольше, в результате было переписано на прямой запрос
#13
by Serginio1
Через КОМ ты можешь получить соответствие полей поля. Или можешь через командную строку запустить приложение и получить данные полей
#14
by marty0701
"Появляются новые базы, нет возможности контролировать процесс" Перефразирую. Кто контролирует процесс появления новых баз, бухгалер дядя Петя?
#15
by Franchiser
какое это имеет значение, я понятия не имею кто. Подключение по ком не рассматривается, интересует парсер md из 1с 8 на перспективу
#16
by Franchiser
цель написать отчети больше никогда его не исправлять при каких-либо изменениях в структуре баз
#17
by Franchiser
Тема только для илюстрации, просьба не пытаться решить данную проблему. Хочу спланировать пналогичного рода доработки на будущее.
#19
by Franchiser
спасибо, забыл про gcomp, давно не использовал Может есть еще какие-то варианты без разбора мд? Как это реализовано в 1с++, тоже выполняется сначала разбор файла?
#20
by rs_trade
я вот тоже не понял почему через ком нельзя получить структуру конфы? пробежался по метаданным, заполнил справочник в 1с8. данные получаешь прямыми запросами.
#21
by Franchiser
потому что 500 баз 1с 7.7, открытие каждой базы занимает много времени, а если какая то из них запущена монопольно, то все открытие по ком теряет смысл
#22
by rs_trade
Прям 500? Есть еще вариант выгружать в тхт из 7.7 при запуске конфы. Но это надо править 500 баз.
#23
by Franchiser
ну да при запуске 7.7 тоже вариант) Чтобы создать справочник в 1с8 нужно согласовывать и доказывать такую необходимость. В условии того что сейчас и так все работает, то этой необходимости нет.
#25
by rs_trade
Либо не выгружать в тхт, а хранить структуру в справочнике, в базе 7.7. Потом так же читать прямым запросом.
#26
by Franchiser
Может кто знает, все-таки как 1с++ получает информацию метапарсером об именах таблиц и реквизитов? после разбора md или как то напрямую?
#28
by FN
делаешь чистую конфу на 7.7 с одной функцией в глобальнике ВернутьСтруктуруИБ(путькфайлу1Cv7md). внутри функции подключаешься к файлу с помощью metadatawork и вытягиваешь соответствие полей.я вот эту базу по com и вызывай.
#29
by Franchiser
ну можно так, только это через одно место. ну я имею ввиду я нигде невидел чтобы где то лежали файлы в папочке вытащенные gcomp при использовании компоненты 1с++, 1с++ как то использует алгоритмы gcomp?
#30
by Franchiser
По идее код 1с++ открытый, мб можно добиться похожего результата путем вызова тз 1с8 vbs + gcomp?
#31
by Serginio1
Ты можешь создать пустую базу. Она будет быстро загружаться. А из неё уже можешь подключиться к любому MD шнику и его распарсить. Или спроси на форуме. Видно внутри 1С++ используются загруженные DLL.
#32
by orefkov
Нет. Метапарсер в 1С++ сам никак напрямую не работает с файлом метаданных, а вызывает функции из движка семёрки - грубо говоря, считывает то, что сама семёрка распарсила при запуске. Поэтому работать она может только внутри 77.
#35
by orefkov
Насколько я помню, они там для создания тестовой базы. Артур Аюханов там организовывал автотесты.
#36
by ЧеловекДуши
Ну да, ну да... 1С 7.7, никогда менять, сделать универсальный :) ...Чудак, в 1С 7.7 нет КОМА, есть ОЛЕ... ...Сделай проще, напиши обработку для 1С 7.7, где будешь делать все, что только пожелаешь, у 1С 7.7 нет предела для обработки, даже если у пользователя нет вообще прав. Но есть право запустить обработку :)
#38
by Serginio1
Com это все, что использует интерфейс IUnknown в том числе и Idispatch. OLE это технология связывания и внедрения объектов в другие документы и объекты. OLE 1.1 позднее развился в архитектуру COM (component object model) для работы с компонентами программного обеспечения. Позднее архитектура COM была преобразована и стала называться DCOM. И в 7 и в 8 используются объекты поддерживающие Idispatch то бишь COM. По правильному их нужно называть Объектами автоматизации, но COM проще
#39
by Odavid
Не совсем так. Вы, верно, спутали ActiveX и COM. Да, COM вырос из OLE1.1. Но это было так давно, еще до 7.7, и, тем более, до 8.х. Тут речь про 1С и поддерживаемые в ней технологии. OLE1/1 развился в OLE2.0, который потом превратился в ActiveX-компоненты. Вот эти OLE2.0-ActiveX и использует 1С 8.х. И не использует 7.7. А почему OLE, а не ActiveX? Микрософт запантентовала ActiveX, поэтому, чтобы ничего не нарушать - никто другой не называет подобную технологию "ActiveX" у себя. Хотя реализация аналогов, и очень близких, есть в других продуктах. А OLE - оно не проприетарное. Вот поэтому тут 1С и "подобрало" эту технологию.
#40
by Serginio1
ActiveX это обычно визуальные компоненты. Они тоже являются COM компонентами. COM это иерархия интерфесов родителем которого является IUnknown СоздатьОбъект и Новый ComObject используют COM объекты реализующих IDispatch
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Запуск 1С SQL на не MS SQL сервере ?
- 1С + MS SQL Прямой запрос на SQL к журналу расчетов на V 7.7
- Ошибка SQL 924 при просмотре процессов SQL 2000 +1C 77
- SQL или не SQL ??? как решить ?
- 1cv8 SQL: Имя SQL сервера и имя SQL базы данных
- 77 на SQL 2005, добавил константу , а где ее и как искать в SQL MS 2005
- Парралельная установка Sql 2000 и Sql 2005
В этой группе 1С
- Получать форму объекта - отчета возможно только для конкретного отчета
- Автоматизированный ввод документов в 1С посредством сканирования
- Аутентификация ОС в 1С при использовании веб-сервера Apache
- Драйвер весов с печатью этикеток АТОЛ. Как загрузить в Розницу 2.1?
- УПП. Возврат материалов из эксплуатации после погашения стоимости
- v7: ЗиК 77 - два исполнительных листа судебного органа одновременно
- отправка почты из 1С, Yandex
- Как в отчете Ведомость по расчетам с контрагентами 1С УПП вывести СтатьюДДС
- Почему релиз основной конфигурации не поднимается до релиза поставщика?
- v7: 1Cv7.DDS и 1Cv7.DD
- УПП: возврат денег покупателю в у.е в связи с возвратом товара
- КД - составной тип данных
- Где проставляется касса ККМ по умолчанию в УТ11?
- Мобильное приложение: автоматическое обновление конфигурации...
- Обмены и правила УТ11->БУХ30
- Колонтитул на последней странице табличного документа. Конф. УПП.
- Цвет текста в текущей ячейке Табличного Документа
- УТ 10.3 Корректировка поступления "партия не была списана полностью"
- СКД Как выделить группировку жирным шрифтом
- Перепроведение документов клиент-сервер. Есть разница на чьей стороне выполнять?