Возник вопрос, как можно достать ID элемент справочника из дбфки самой 1с (конкретно, файл SC84.dbf). Первая мысль была средствами ХBase выдернуть и всего делов... Но на практике оказалось, что ее нельзя открыть, т к сама 1С ее использует в данный момент(как это ни странно :) ). Попробовал скопировать эту дбфку - тоже не прокатило по той же причине. Вот дальше мысль не идет, подскажите, плз...
DBF = СоздатьОбъект("XBase");
DBF.ПоказыватьУдаленные(0);
DBF.ОткрытьФайл(КаталогИБ() + "sc84.dbf", КаталогИБ() + "sc84.cdx", 1);
DBF.ТекущийИндекс("CODE");
DBF.Ключ.CODE = Прав(" " + СокрЛП(КодВ1ССправочника), 5);// вот тут надо под свое проверить, длину поля кода в 1С и как в дбф оно пишется
Если DBF.НайтиПоКлючу(0) = 0
Возврат;
КонецЕсли;
Id = DBF.ПолучитьЗначениеПоля("ID");
DBF.ЗакрытьФайл();
Ну и перевести в 36-ную систему:
_IdToStr()
Синтаксис: _IdToStr(<Ид>)
Назначение: Возвращает строку - результат преобразования 10-тичного значения в 36-ричное.
Параметры: <Ид> - выражение со значением типа число.
Пример: Зн36 = _IdToStr(371);
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший