Есть большое количество баз 7.7, из 8-ки 1-м прямым запросом получаю консолидированные данные из этих баз. Для получения имен таблиц и реквизитов использую сейчас распарсивание файлов DDS.
К сожалению не все реквизиты есть в dds: например, константы, перечисления, пер. реквизиты справочников.
Есть ли какой-то способ распарсить из 1с 8 MD файлы 1с 7.7? или может есть какая-то компонента, типа 1с++, работающая из 1с 8?
(4) DenisCh, полагаю, имелось ввиду получение айди конкретной константы/периодического реквизита и т.д.
Из того, что привели вы, никак не понятно, как построить запрос, что бы получить значение, например, константы "ЕдиновременнаяВыплатаБеременным".
(1) Я для аналогичных целей составлял в свое время таблицу вида
база - значение (константа, перечисление, и т.д.) - ид
и предварительно автоматически заполнял ее из 1С 77 с помощью чего то типа
ЗагрузитьВнешнююКомпоненту(каталогиб()+"1CPP.dll");
mdw=СоздатьОбъект("metadatawork");
Для ФФ = 1 По Метаданные.Константа() Цикл
Сообщить(
"Константа."+Метаданные.Константа(ФФ).Идентификатор+" - "+mdw.GetMetaDataId(Метаданные.Константа(ФФ))
);
КонецЦикла;
Для ФФ = 1 По Метаданные.Перечисление() Цикл
Для ЯЯ = 1 По Метаданные.Перечисление(ФФ).Значение() Цикл
Сообщить(
"Перечисление."+Метаданные.Перечисление(ФФ).Идентификатор+"."+Метаданные.Перечисление(ФФ).Значение(ЯЯ)+" - "+mdw.GetMetaDataId(Метаданные.Перечисление(ФФ).Значение(ЯЯ))
);
КонецЦикла;
КонецЦикла;
КонецПроцедуры
А что мешает в скуле сделать свою отдельную таблицу, и в нее заносить (Добавлять, обновлять) все эти данные из 7-чных баз?
Тогда и парсить не придется... Джойнить только. С константами я поступил именно так.
Для табличек сделай вьюшки с русскими именами, которые генерятся автоматически при первом старте 1С (7.7).
Для перечислений и констант можно сделать функции. Для периодики тоже можно функции попробовать.
После этого можно писать запросы на нормальном русском языке.
пример вьюшки для материалов:
CRE ATE VIEW спрМатериалы AS
SEL ECT
ROW_ID ROW_ID,
ID ID,
IsMark IsMark,
IsFolder IsFolder,
ParentID ParentID,
Code Code,
Code Код,
Descr Descr,
RTrim(Descr) Наименование,
VerStamp VerStamp,
'ID,11,'+' 1EH'+ID РасшифровкаДляОтчетов,
Descr+ID ПорядокСортировки,
SP19976 Артикул,
SP2824 ЕдиницаИзмерения,
SP19977 МинОстаток,
SP18976 ОсновнаяЕдиницаИзмерения,
SP14756 ПолнНаименование,
SP15026 Стоимость,
SP2794 Субсчет,
...
FR OM SC1817 WITH (NoLock)
Писал обработку по отправлению СМС по номерам телефонов клиентов из нескольких баз одновременно...
Попытка сэкономить деньги и нервы))
В общем удалась))