1с 8.3 создание сом объектов новый. Три кита работы с COM-объектами

1с 8.3 создание сом объектов новый. Три кита работы с COM-объектами

Когда мы хотим видеть данные из нескольких таблиц одновременно, т.е. собрать несколько таблиц в одну возникает понятие соединения таблиц и связей между ними. Соединения бывают четырех типов:

  • левое;
  • правое,
  • внутреннее;
  • полное.

Каждый тип мы рассмотрим на абстрактном примере. Имеется 2 таблицы, в первой храним описательную информацию о номенклатуре, во второй о ее остатках:

Для того, чтобы получить из этих таблиц одну нам необходимо явным образом указать какие поля мы будем связывать, по какому условию и типу. Сейчас станет более понятно.

Левое соединение

Используя левое соединение мы говорим системе, что в результате хотим видеть все записи из левой таблицы и записи из правой удовлетворяющие условию связи. Допустим мы связываем таблицы по полю товар с условием равно, тогда получим таблицу вида:

Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Товар,
| Номенклатура.Цвет КАК ЦветНоменклатура,
| Остатки.Цвет КАК ЦветОстатки,
| Остатки.Количество
|ИЗ

";

Для стула не нашлось сопоставлений из таблицы остатков, поэтому поля заполнились значениями NULL, которые обязательно нужно обработать функцией ЕСТЬNULL, см. Функции языка запросов 1С 8.

Левое соединение работает примерно как цикл в цикле - берется первая запись из левой таблицы и пробегаются все записи из правой на предмет удовлетворения условию связи. Затем берется вторая запись из левой таблицы и т.д. Если вдруг условию связи удовлетворяют несколько записей из правой таблицы, то в результирующую таблицу будет добавлено несколько строк (по количеству удачных связей).Как видим, полученная таблица не информативна, данные не отражают реальную суть, поэтому лучше связать эти таблицы по двум полям: Товар и Цвет, только на этот раз обработаем NULLы:

Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Товар,
| Номенклатура.Цвет,
| ЕСТЬNULL(Остатки.Количество, 0) КАК Количество
|ИЗ
| Номенклатура КАК Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Остатки КАК Остатки
| ПО Номенклатура.Товар = Остатки.Товар

Правое соединение

Правое соединение по сути ничем не отличается от левого. Если поменять таблицы местами, то правое соединение превратится в левое, более того, при использовании конструктора система сама преобразует все правые соединения в левые.

Внутреннее соединение

Используя внутреннее соединение мы говорим системе, что в результате хотим видеть только те записи, которые удовлетворяют условию связи как из правой таблицы, так и из левой. Таким образом, количество результирующих записей будет меньше или равно количеству записей самой "короткой таблицы", участвующей в соединении. Применим внутреннее соединение к полям Товар и Цвет наших таблиц:

Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Товар,
| Номенклатура.Цвет,
| Остатки.Количество КАК Количество
|ИЗ
| Номенклатура КАК Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Остатки КАК Остатки
| ПО Номенклатура.Товар = Остатки.Товар
| И Номенклатура.Цвет = Остатки.Цвет";

Полное соединение

Полное соединение передаст в результат все записи из обоих таблиц, те записи, которые удовлетворяет условию связи - будут связаны, те записи, которые не удовлетворяют условию связи все равно окажутся в результате запроса, но с частью NULLовых полей. Полное это как бы левое и правое соединения в одном.

Задач на эту тему может быть много, давайте попробуем решить одну из них. Наша организация является дилером 2 мебельных фабрик: "Заря" и "Рассвет". Ассортимент со стоимостью каждой из фабрик хранится в разных таблицах. Необходимо составить единый прайс лист, причем брать в него продукцию по минимальной цене:

Применим полное соединение с выборкой всех полей, связывать будем по товару:

Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураЗаря.Товар КАК ТоварЗаря,
| НоменклатураЗаря.Цена КАК ЦенаЗаря,
| НоменклатураРассвет.Товар КАК ТоварРассвет,
| НоменклатураРассвет.Цена КАК ЦенаРассвет
|ИЗ

Это не совсем то, что нам нужно, давайте соединим поле товар в одно и обработаем NULLы:

Запрос.Текст =
"ВЫБРАТЬ
//конструкция ЕСТЬNULL рассматривалась в разделе функции языка запросов
//если цена не определена, то инициализируем ее
//почему 1000000 см. пояснения ниже
| ЕСТЬNULL(НоменклатураЗаря.Цена, 1000000) КАК ЦенаЗаря,
| ЕСТЬNULL(НоменклатураРассвет.Цена, 1000000) КАК ЦенаРассвет
|ИЗ
| НоменклатураЗаря КАК НоменклатураЗаря
| ПОЛНОЕ СОЕДИНЕНИЕ НоменклатураРассвет КАК НоменклатураРассвет
| ПО НоменклатураЗаря.Товар = НоменклатураРассвет.Товар";

Осталось только выбрать минимальную цену. Итоговый тект запроса будет выглядеть следующим образом:

Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(НоменклатураЗаря.Товар, НоменклатураРассвет.Товар) КАК Товар,
| ВЫБОР
| КОГДА ЕСТЬNULL(НоменклатураЗаря.Цена, 1000000) > ЕСТЬNULL(НоменклатураРассвет.Цена, 1000000)
| ТОГДА ЕСТЬNULL(НоменклатураРассвет.Цена, 1000000)
| ИНАЧЕ ЕСТЬNULL(НоменклатураЗаря.Цена, 1000000)
| КОНЕЦ КАК Цена
|ИЗ
| НоменклатураЗаря КАК НоменклатураЗаря
| ПОЛНОЕ СОЕДИНЕНИЕ НоменклатураРассвет КАК НоменклатураРассвет
| ПО НоменклатураЗаря.Товар = НоменклатураРассвет.Товар";

Если цена не определена (NULL), то ее необходимо инициализировать каким либо значением, иначе операция сравнения на больше/меньше вывалится с ошибкой. инициализируем цену нереально большой суммой, чтобы она "проиграла" в операции сравнения, ведь по условию задачи мы подбираем наименьшую цену.

← Функции языка запросов 1C 8 | Объединения в запросах 1С 8 →

Печать (Ctrl+P)

Один из вариантов обмена данными между базами 1С это обмен через COM соединение. С помощью COM соединения можно из одной базы 1С подключиться к другой и прочитать или записать данные. Пользоваться этим методом можно как в клиент-серверных вариантах баз, так и в файловых базах. В этой статье рассматривается такого рода соединений на платформа 8.3

com соединение

Можно создать два вида COM объектов для приложения 1С. Это ole соединения V83.Application и com соединения V83.COMConnector . В случае с V83.Application запускается практически полноценный экземпляр приложения 1С. В случае использования V83.COMConnector запускается небольшая серверная часть. Скорость работы в этом случае выше, но некоторые функции могут быть недоступны. В частности работа с формами и с общими модулями для которых не установлено свойство работы с внешними соединениями. Преимущественно надо использовать V83.COMConnector и только в случае нехватки функционала V83.Application . Особенно сильно разница в скорости работы может быть заметна на базах большого объема. Для платформе 8.2 используется V82.Application или V82.COMConnector

Установить OLE соединение

Соединение = Новый COMОбъект(“V83.Application” ) ;

Установить COM соединение

Соединение = Новый COMОбъект(“V83.COMConnector” ) ;

Строка подключения

//Для варианта клиент- сервер
СтрокаСоединения = “Srvr = “ “ИмяСервера” “;Ref = “ “ИмяБазы” ;
//Для варианта файлового режима:
СтрокаСоединения = “File = “ “ПутьКБазе” “; Usr = ИмяПользователя; Pwd = Пароль” ;
Попытка
Подключение = Соединение. Connect (СтрокаСоединения) ;
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст = “Не удалось подключиться к базе” + ОписаниеОшибки() ; Сообщение. Сообщить() ;
КонецПопытки ;

Разрыв соединения

Соединение = Неопределено ;
Для объекта V83.Application выполнять разрыв соединения обязательно, в противном случае останется висеть незавершенный сеанс, который потом придется удалять вручную. В случае с V83.COMConnector соединение разрывается автоматически при завершении процедуры в которой выполнялось подключение.И есть еще один маленький момент. Для пользователя под которым выполняется подключение должен быть отключен флажок «Запрашивать подтверждение при закрытии программы» в его настройках.

Метод NewObject()

Для создания нового объекта можно воспользоваться методом NewObject(), например:

для V83.COMConnector

ЗапросCOM = Подключение. NewObject(“Запрос “ ) ;
ТаблицаCOM = Подключение. NewObject(“ТаблицаЗначений” ) ;
МассивCOM = Подключение. NewObject(“Массив” ) ;

УидCOM =Подключение.NewObject

для V83.Application

ЗапросOLE = Соединение. NewObject(“Запрос “ ) ;
ТаблицаOLE = Соединение. NewObject (“ТаблицаЗначений” ) ;
МассивOLE = Соединение.NewObject (“Массив” ) ;
УидCOM =Соединение.NewObject (“УникальныйИдентификатор”,СтрокаУИД);

ЗапросCOM. Текст = “ВЫБРАТЬ
| ДолжностиОрганизаций.Код,
| ДолжностиОрганизаций.Наименование
|ИЗ | Справочник.ДолжностиОрганизаций
КАК ДолжностиОрганизаций” ;

Результат = ЗапросCOM. Выполнить () ;
Выборка = Результат. Выбрать () ;
Пока Выборка. Следующий() Цикл
КонецЦикла ;
Можно также использовать менеджеры объектов конфигурации:
СправочникCOM = Подключение. Справочники. ИмяСправочника;
ДокументCOM = Подключение. Документы. ИмяДокумента;
РегистрCOM = Подключение . РегистрыСведений . ИмяРегистра ;

Получение и сравнение перечисления через COM соединение

Для сравнения значений элементов перечислений, определенных в конфигурации, необходимо выполнить преобразование этих элементов к одному из примитивных типов, сравнение которых не вызывает трудности. Такими типами могут быть либо числовой, либо строковый тип. Преобразовать значение элемента перечисления к числовому типу можно так

ЭлементПеречисления = Подключение.Справочники.Справочник1.НайтиПоКоду(1).Реквизит1;

ВозможныеЗначения = ЭлементПеречисления.Метаданные().ЗначенияПеречисления;

НомерЭлементаПеречисления = ВозможныеЗначения.Индекс(ВозможныеЗначения.Найти(Соединение.XMLString(ЭлементПеречисления)));

Если НомерЭлементаПеречисления = 0 Тогда Сообщить(“ЗначениеПеречисления1” );

ИначеЕсли НомерЭлементаПеречисления = 1 Тогда Сообщить (“ЗначениеПеречисления2”);

КонецЕсли;

Получение объекта через COM по идентификатору

Через менеджеры объектов конфигурации получаем com объект, например:
ДокументCOM = Соединение. Документы. ИмяДокумента;

Затем получаем строку уникального идентификатора:

СтрокаУИД =Соединение.string (ДокументCOM.УникальныйИдентификатор ())

Идентификатор = Новый УникальныйИдентификатор(СтрокаУИД) ;
СсылкаПоИдентификатору = Документы[ИмяДокумента].ПолучитьСсылку(Идентификатор);

Если нужно найти com объект по документ по идентификатору, то тогда нужно написать так:

УидCOM = Соединение.NewObject (“УникальныйИдентификатор”,СтрокаУИД );
СсылкаПоИдентификатору = Соединение.Документы[ИмяДокумента].ПолучитьСсылку(УидCOM);


Ключевые слова: COM, соединение, внешнее, OLE, Automation, Connect, ComConnector, Srvr

При использовании для доступа к данным 1С:Предприятия 8.0 COM -соединения имеются следующие преимущества по сравнению с использованием Automation сервера:

  1. Более быстрая установка соединения, так как не требуется создания отдельного процесса операционной системы, а все действия производятся в рамках вызывающего процесса;

  2. Более быстрое обращение к свойствам и методам объектов 1C:Предприятия, так как для организации обращения не требуется организации межпроцессной коммуникации;
  3. Меньший расход ресурсов операционной системы.

В общем и целом работа с 1С:Предприятием 8.0 через COM -соединение подобна работе с 1С:Предприятием в режиме Automation сервера. Основные отличия заключаются в следующем:

  1. В случае Automation сервера запускается полноценное приложение 1С:Предпприятия 8.0, а в случае COM -соединения запускается относительно небольшой внутрипроцессный COM -сервер.

  2. При работе через COM -соединение недоступны функциональные возможности так или иначе связанные с организацией пользовательского интерфейса 1С:Предприятия 8.0;
  3. При работе COM -соединения не используется модуль приложения конфигурации 1С:Предприятия 8.0. Его роль при работе с COM -соединением играет модуль внешнего соединения.

1.1 Порядок установки COM-соединения

Для организации доступа к данным 1С:Предприятия 8.0 через COM -соединение, выполняется следующая последовательность действий:

  1. создается COM -объект с идентификатором V8.COMConnector , с помощью которого производится установка соединения;

  2. производится обращение к методу Connect ранее созданного объекта V8.COMConnector . Метод Connect возвращает ссылку на объект COM -соединения с информационной базой 1С:Предприятия 8.0;
  3. через полученный объект COM -соединения производится обращение к допустимым методам, свойствам и объектам информационной базы, с которой установлено соединение.

Важно! В связи с отсутствием пользовательского интерфейса в COM-соеденении не все объекты, а также свойства и методы можно использовать в COM -соединении.

Объекты 1С:Предприятия, доступные извне через COM -соединение:

  1. Экспортируемые переменные и процедуры/функции модуля внешнего соединения

  2. Экспортируемые переменные и процедуры/функции общих модулей
  3. Включение и исключение модулей целиком с помощью установки свойств общих модулей

  4. Включение и исключение фрагментов общих модулей с помощью препроцессора
  5. Глобальный контекст 1С:Предприятия 8.0, за исключением объектов, жестко связанных с клиентским приложением (ТекстовыйДокумент, ТабличныйДокумент, ...)

1.2 Модуль внешнего соединения

Как уже отмечалось обязанности модуля приложения при работе через COM -соединение, выполняет модуль внешнего соединения. Данный модуль может иметь процедуры-обработчики событий ПриНачалеРаботыСистемы() и ПриЗавершенииРаботыСистемы(), в которых могут быть размещены действия, выполняемые при инициализации и завершении соединения, соответственно.

Процедуры, функции и глобальные переменные, определенные в модуле внешнего соединения с ключевым словом Экспорт становятся, как и в случае модуля приложения, частью глобального контекста.

1.3 Общие модули

Для общих модулей введены свойства "Клиент", "Сервер" и "ВнешнееСоединение". Они предназначены для определения в конфигурации использования модулей в клиент - серверном варианте и в режиме COM -соединения.

1.4 Объект "V8.COMConnector"

Единственная задача, решаемая COM -объектом V8.COMConnector – установка COM -соединения с информационной базой 1С:Предприятия 8.0. С помощью одного экземпляра объекта V8.COMConnector может быть установлено неограниченное число соединений. Объект V8.COMConnector имеет один-единственный метод Connect , предназначенный для установки COM -соединения с информационной базой 1С:Предприятия 8.0.

<СтрокаСоединенияИБ>

Строка соединения с ИБ представляет собой цепочку фрагментов вида Параметр=Значение. Фрагменты отделяются друг от друга символами ";". Если значение содержит пробельные символы, то оно должно быть заключено в двойные кавычки (").

Общие параметры:

Usr - имя пользователя;
Pwd - пароль.

Для файлового варианта определен параметр:

File - каталог информационной базы.

Для клиент-серверного варианта определены параметры:

Srvr - имя сервера 1С:Предприятия;
Ref - имя информационной базы на сервере.

Метод Connect устанавливает COM -соединение с информационной базой 1С:Предприятия 8.0 и возвращает ссылку на объект COM -соединение.

// Создается объект-коннектор
V8 = Новый COMObject ("V8.COMConnector");
// создается объект COM -соединение
Соединение = V8.Connect ("File=""c:\InfoBases\Trade""; Usr =""Director"";")

1.5 Объект "COM-соединение"

COM -соединение с информационной базой 1С:Предприятия предоставляет полный доступ к своему глобальному контексту (см. «Контекст выполнения программного модуля»). Поэтому COM -соединение в качестве своих методов может иметь: системные константы, значения заданных в конфигураторе объектов, доступ к которым осуществляется с помощью менеджеров (например, константы, перечисления, справочники, документы, журналы документов, отчеты, обработки, планы видов характеристик, планы счетов, планы видов расчета, регистры), а также переменные, объявленные в модуле внешнего соединения с ключевым словом Экспорт.

Кроме того, COM -соединение имеет дополнительный метод NewObject, с помощью которого можно создавать значения определенных типов.

тз = Соединение. NewObject ("ТаблицаЗначений");

Метод String Позволяет получать строковые представления значений 1С:Предприятия.

Представление = Соединение.String(Данные.УникальныйИдентификатор());

1.6. Особенности работы с COM -соединением

В Automation и в COM -соединении TRUE и FALSE имеют соответственно значения: -1 (минус единица) и 0.

Имеется возможность организации пула COM-соединений. При этом на принимающей на сервере 1С:Предприятия ЗАРАНЕЕ создаются несколько объектов COM-соединения и на установку соединения требуется еще меньше времени, поскольку не нужно создавать новый объект.

Реализован новый объект ПостроительЗапроса, предназначенный для генерации текстов запросов на основании указанных настроек. Данный объект поддерживает функциональность построителя отчета, не относящуюся к выводу отчета в табличный документ и другим задачам, связанным с пользовательским интерфейсом. Данный объект может использоваться на сервере 1С:Предприятия и в COM -соединении.

Доступно использование COM -объектов при работе встроенного языка на сервере 1С:Предприятия.

Ошибки COM преобразуются в исключения встроенного языка.

Если в конфигурации производится попытка создания недопустимого объекта, например, табличного документа, в модуле внешнего соединения, в общем модуле или в модуле объекта, то COM -соединение может быть не установлено или прервано в виде исключения.

)Все верно

Одновременно, я видел не раз, когда просто "взлетали" публикации которые не тянули даже на 10 баллов.
Почему так происходило? Видимо потому, что кому то они явно пришлись по душе.


Я про это и говорю, что было бы неплохо не читая статью по рейтингу понять насколько она тебе нужна, или оценить ее не так примитивно +/-. Насчет пришлась по душе я бы скорректировал так: она так много набрала из-за того что так звезды сложились и на сайте собралось много народу и многим понравилось, сами понимаете это дело случая т.к. как только статья уходит с главной страницы то ее уже можно найти только по запросу, а так голосуют все мимо проходящие. И поддерживать на главной, насколько я понимаю, позволяют как раз постоянные комментарии = раскрутка статьи.
Именно для этого и ставят магазины на проходных улицах - ведь часто важно не качество и актуальность товара, а проходимость места, люди гуляя часто покупают то что выкинут на следующий день, просто ради процесса. Это давно всем известная болезнь - шопомания. Или просто увеличения потока увеличивает вероятность нужного покупателя.

А плюсы и минусы... - это всего лишь некое "спасибо" за потраченное время и труд


Т.е. минус тоже считается за "спасибо"? Я вот и хотел узнать ваше отношение к тому нужно ли ставить в таких случаях его, и как интересно считают другие? Ставить ли его когда статья вредная/плохая или когда она тебе просто бесполезная/пустая.
На мой взгляд статья смахивает на просто повышение рейтинга, т.к.:
1. Приведенные мной проблема с типами вообще проигнорирована автором, хотя он не поленился написать кучу комментов.
2. В статье явная неточность: сказано что можно только так

V82 = Новый COMобъект("V82.ComConnector"); Код = КонтрагентСОМ.Code;


а вот я спокойно делаю при помощи обработки вот так:

Сообщить(База.Справочники.Контрагенты.НайтиПоНаименованию("ООО").Код);


и все нормально! А подключение выбираю V82.ComConnector
Странно как-то что автору совершенно плевать на то что его статья содержит такие проблемы на которые указали, а он не реагирует никак.
3. А ведь есть еще проблема когда выскакивает ошибка "Класс не существует"
4. А есть проблема когда установлена 8.2, а потом установлена 8.1 - попробуйте-ка обменяться по ОЛЕ/COM типовым обменом УТ-БП!
5. Могли бы указать основные обработки на сайте которые позволяют универсально подключаться по ОЛЕ/COM чтобы новички не тратили времени, вы же для них пишите! Та же кстати ее картинка почему то у вас красуется, с чего бы?. А в результате 2 слова по существу, и еще 6 за кадром.

В общем, я не поливаю грязью, а указываю на конкретные пробелы, но реакции ноль. Если это тот опыт которым вы делитесь то он какой-то ошибочный и неполный.
Я к тому что если бы у автора было бы желание собрать все глюки то он бы мог хотя бы прислушаться к чужому опыту, а не огрызаться на комменты. Тут же складывается ситуация когда тот кто прочел ее знают больше чем автор, говорят ему (иногда и некорректно), а он еще и отбивается. В итоге вся информация не в статье, а в коментах! Забавно! Так часто бывает, но не нужно при этом упирать на то что хотели как лучше - я же показываю как лучше, и другие показывают! Включите это в статью и она будет стоящая, не всем же интересно читать эту перепалку.

Один из вариантов обмена данными между базами 1С это обмен через COM соединение.

С помощью COM соединения можно из одной базы 1С подключиться к другой и прочитать или записать данные. Пользоваться этим методом можно как в клиент-серверных вариантах баз, так и в файловых базах. В этой статье и разберем примеры такого рода соединений. В примерах используется платформа 8.2.

Можно создать два вида COM объектов для приложения 1С. Это V82.Application и V82.COMConnector . В случае с V82.Application запускается практически полноценный экземпляр приложения 1С. в случае использования V82.COMConnector запускается небольшая серверная часть.
Скорость работы в этом случае выше, но некоторые функции могут быть недоступны. В частности работа с формами и с общими модулями для которых не установлено свойство работы с внешними соединениями. Преимущественно надо использовать V82.COMConnector и только в случае нехватки функционала V82.Application . Особенно сильно разница в скорости работы может быть заметна на базах большого объема.

Итак, приступим

  1. Создадим COM объект
    • для V82.Application Соединение = Новый COMОбъект("V82.Application" ) ;
    • для V82.COMConnector Соединение = Новый COMОбъект("V82.COMConnector" ) ;
  2. Сформируем строку подключения
    • для серверного варианта базы СтрокаСоединения = "Srvr = " "ИмяСервера" ";Ref = " "ИмяБазы" ;
    • для файлового варианта базы СтрокаСоединения = "File = " "ПутьКБазе" "; Usr = ИмяПользователя; Pwd = Пароль" ;
  3. Выполняем подключение к базе Попытка Подключение = Соединение. Connect(СтрокаСоединения) ; Исключение Сообщение = Новый СообщениеПользователю; Сообщение. Текст = + ОписаниеОшибки() ; Сообщение. Сообщить() ; КонецПопытки ;
  4. Разрываем соединение с базой Соединение = Неопределено ;

    Для объекта V82.Application выполнять разрыв соединения обязательно, в противном случае останется висеть незавершенный сеанс, который потом придется удалять вручную. В случае с V82.COMConnector соединение разрывается автоматически при завершении процедуры в которой выполнялось подключение.И есть еще один маленький момент.

    Для пользователя под которым выполняется подключение должен быть отключен флажок «Запрашивать подтверждение при закрытии программы» в его настройках.

А теперь соберем весь код в кучу

Соединение = Новый COMОбъект("V82.Application" ) ; //Соединение = Новый COMОбъект("V82.COMConnector"); СтрокаСоединения = "Srvr = " "Server1C" ";Ref = " "MyBase" "; Usr = Петя; Pwd = 123" ; //СтрокаСоединения = "File = ""С:\MyBase""; Usr = Петя; Pwd = 123"; Попытка Подключение = Соединение. Connect(СтрокаСоединения) ; Исключение Сообщение = Новый СообщениеПользователю; Сообщение. Текст = "Не удалось подключиться к базе" + ОписаниеОшибки() ; Сообщение. Сообщить() ; КонецПопытки ; Соединение = Неопределено ;

Для вида подключения V82.Application метод применяется для COM объекта, который создавался изначально, а для V82.COMConnector метод применяется к подключению. далее работа с запросом идет стандартными средствами 1С. в коде это выглядит так:

Запрос = Подключение. NewObject("Запрос" ) ; // для V82.COMConnector Запрос = Соединение. NewObject("Запрос" ) ; // для V82.Application Запрос. Текст = "ВЫБРАТЬ | ДолжностиОрганизаций.Код, | ДолжностиОрганизаций.Наименование |ИЗ | Справочник.ДолжностиОрганизаций КАК ДолжностиОрганизаций" ; Результат = Запрос. Выполнить () ; Выборка = Результат. Выбрать() ; Пока Выборка. Следующий() Цикл КонецЦикла ;

Для версии 1С:Предприятие 8.3 все остается без изменений за исключением того, что при создании COMОбъектов надо использовать «V83.COMConnector» или «V83.Application» .

просмотров