Реализация физического хранения периодических реквизитов #361


#0 by Udjin
All, поделителитесь, плиз... Как реализовано физическое хранение периодических реквизитов в 1С 7.7 SQL версии?
#1 by Udjin
К примеру связываем таблицу справочника с таблицей  _1SCONST по справочник_ID = _1SCONST.OBJID, а само определение какой реквизит какому _1SCONST.ID принадлежит можно произвести только опытным путем?
#2 by skunk
Еслия правильно понял вопрос, то смотри в таблице справочника поле ID нужного элемента. а затем отбираешь все записи таблици 1SCONST с полем OBJID равный полученному ID.
#3 by Udjin
это понятно :) Не понятно вот что: к примеру в справочнике_А есть периодический реквизит "Подразделение", опытным путем я определила, что для "Подразделениz" _1SCONST.ID=5895, где соответсвенно _1SCONST.OBJID=справочник_А_ID. У справочника_А есть еще 15 периодических реквизитов, определить все их _1SCONST.ID опытным путем можно, но может есть другой путь. Вот он как раз и интересует.
#4 by skunk
открываешь md и задаешь поиск строки параметром поиска указываешь искомый переодический реквизит. Пример в ТиС ищем курс валюты. Задаем поиск  -   ,"Валюты",       ," - указывается для уменьшения ложных срабатываний, а то там валют сам понимаешь. Должен найти следующие: {"14","Валюты","","","0","3","1","1","1","10","1","2","1","19","19","0","1","1", {"Params", {"17","Курс","","","N","10","4","0","1","1","1","1","0","0","1","0","0"} Перед нужным реквизитом стоит цифра в кавычках это и есть идентификатор реквизита в БД. То бишь для нас это 17. Далее переводишь ее 36-ую систему счисления, используя цифры 0..9 и латинские буквы A..Z. Получаешь "E". При отборе 1SCONST смотришь в нем поле ID и отбираешь с нужным тебе реквизитом.
#5 by skunk
В скуле не знаю как сделать, но выылить базу в md всегда можно
#6 by Udjin
Спасибо, skunk! Думаю примерно этом мне и надо. Жаль, что все равно автоматически это никак не увязать... Нужна работа ручками, нужна...
#7 by skunk
Почему есть проги котрые смотрят md. У меня есть пару сылок на эту имфу, волшебник подсказал, смотри тему Так что терпение и труд все перетрут. Удачного поиска!
#8 by Udjin
to skunk: Еще раз спасибо, тоже полезная инфа! Жаль что поиска по форуму нет :(
#9 by Волшебник
услышал, воспринял. Как немного освобожусь, займусь поиском.
#10 by Udjin
Будем ждать с нетерпением!
#11 by skunk
Возвращаясь к теме. Сейчас могу сказать как это сделать программно.
#12 by Udjin
Что для этого нужно, чтобы Вы сказали?
#13 by skunk
Да в принципе ничего. Если со внешними компонентами проблем нет, тогда ищите в интернете библиотеки ActiveMD.dll и Compound.dll и их используйте. По моему первая будет получше, больше возможностей. У меня есть ActiveMD 0.4.1.00 и Compound.dll 4.5. Если надо могу скинуть мылом.
#14 by Udjin
с ActiveMD.dll разбираюсь, но пока как-то не очень успешно.
#15 by skunk
В чем проблема, сразу бы писанула
#16 by Udjin
Пробная работа с ActiveMD. В 1С окрываю файл Конфигуратор.ert. Там все поля пустые, пробую указать в поле "путь" путь к 1Cv7.md - выдается ошибка: "М.Д.Идентификатор=Идентификатор; {путь к файлу конфигуратор.ERT: неизвестное имя". Другие .ert файлы не открываются, ошибка: "... Значение не представляет агрегатный объект (...)"
#17 by skunk
А ты его dll в системе за регистрировал.
#18 by Udjin
да
#19 by skunk
Покажи текст обработки
#20 by skunk
регистриовать COM сервер надо командой regsrv32 <полный путь до dll>ActivateMD.dll винда скажет там чего то success! Проверка в реестре есть ключ HKEY_CLASSES_ROOTActiveMD.MDFile Дальше 1С. Пример получение всех справочников плюс все атрибуты справочников,  их ID в десятичной и шестнадцатиричной представлении: Все ок.
#21 by Udjin
Спасибо, skunk, очередной раз выручаешь! При регистрации dll я не указывала полный путь до нее :) После того как указала, все стало на свои места.
#22 by skunk
Я первый раз вижу женщину программистку, которая знает, то что я незнаю. Виват! Удачи тебе в нашем не легком труде.
#23 by Udjin
к ветке по теме: "OFF: Счастье": Счастье - это когда skunk ТАК ВОТ отвечает и желает удачи :) P.S. Пишу здесь, потому как там боюсь, могут не понять...
#24 by skunk
А ты думаешь я один сюда заглядываю, не думаю, что мы в троем накрутили 263 просмотра. P.S. А на самом деле я ужасно злой и страшный тип.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям