Копия статьи с http://www.softpoint.ru/article_id90.htm под катом
Пришлось воспользоваться webarchive, т.к. сайт лежит уже несколько дней.
Пришлось воспользоваться webarchive, т.к. сайт лежит уже несколько дней.
1С и OLE Automation - краткая справка
Вопросы:
Для запуска системы 1С-Предприятия в качесте OLE
Automation сервера из внешнего приложения выполняется следующая
последовательность действий:
Initialize() - открыть базу.
Синтаксис метода такой:
3. Методы: Initialize ( , где:<Имя объекта>.RMTrade - имя переменной и ключевое слово RMTrade .<Командная строка> - командная строка, в которой можно прописать путь к базе, имф пользователя и пароль.<Пустая строка> ) - либо пустая строка, либо "NO_SPLASH_SHOW" - чтобы не показывать заставку при загрузке.Для того, чтобы открыть базу через OLE - необходимо создать объект с идентификатором OLE, выполнить инициализацию базы и проверить успешность выполнения инициализации. В своем примере я не указываю никаких дополнительных параметров, поэтому открывается квадратное окошко выбора базы, предлагается выбрать пользователя и ввести пароль. ДругаяБаза =СоздатьОбъект( CreateObject () - создать объект агрегатного типа.
Этот метод создает объект агрегатного типа данных системы 1С-Предприятия и возвращает ссылку на него.
Синтаксис метода такой:
4. Методы: CreateObject ( , где:<ИмяАгрегатногоТипа> - строковое выражение, значение которого содержит имя агрегатного типа данных, заданного в конфигураторе. Например: "Справочник.Номенклатура" , "Документ.ПриходнаяНакладная" .EvalExpr () - вычислить выражение.
Синтаксис метода такой:
EvalExpr ( , где:<СтрокаВыражения> - строковое выражение, записанное на встроенном языке 1С-Предприятия.
Результатом выражения может быть число, строка, дата
или значение любого агрегатного типа данных. Результат с неопределенным
типом преобразуется к строковому типу.
5. Методы: ExecuteBatch () - выполнить последовательность операторов.
Синтаксис метода такой:
6. Пример: создание документа в другой базе, открытой через ExecuteBatch ( , где:<СтрокаОператоров> - строковое выражение, текст программы на встроенном языке 1С-предприятия. Возвращает значение логического типа: TRUE , если последовательность операторов выполнена успешно, FALSE , если нет. В OLE Automation TRUE и FALSE имеют соответственно значения -1 (минус единица) и 0 .OLE .
Выгрузка происходит из обработки.
ВыбДокумент - документ, выбранный пользователем для выгрузки в другую базу.ДругаяБаза =СоздатьОбъект(
Этот пример на 100% рабочий. Используется у меня для выгрузки документов из одной конфигурации в другую.
7. Сравнение в базе OLE . Константы, перечисления, элементы справочников.
Для сравнения значений агрегатных типов данных в базе,
открытой через Оле, использовать стандартный алгоритм с использование
знаков равно и неравно (
= ,<> )
не получается. Выход простой. Необходимо перейти от сравнения
агрегатных типов данных к простым типам данных - дата, строка и число.
Отсюда вывод: мы сравниваем не сами элементы, а их
уникальные атрибуты. Например, для элементов справочника - это код (если
он есть), либо наименование. Для перечисления используется метод
Идентификатор () . Вот два примера://Сравнение реквизита номенклатуры с Константой БазоваяВалюта Если |
Комментариев нет:
Отправить комментарий