|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Всем добрый день. у нас стоит задача извлекать данные из 1С путем использования COM объекта V82.COMConnector в своем приложении на C#. Здесь http://habrahabr.ru/post/191660/ пример показали. И он работает. Но пример примером, а вот найти ПОЛНЫЙ ТОЛКОВЫЙ ХЕЛП по классам/методам/свойствам не могу. Как пример, покажу что ищу: давайте посмотрим сюда . Вот если интересует класс FileStream - все четко и красиво разложили по полочкам, вот вам список всего, что в классе. Существует ли что-то подобное по V82.COMConnector? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:08 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь Бобак, существует. Но Вам будет недоступно точно так же, как многим недоступна приведенная Вами ссылка. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:11 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
обычная помошь 1с. Использование можно все кроме тех у кого написано что в коме не работают. Запрос (Query) Запрос (Query) Свойства: МенеджерВременныхТаблиц (TempTablesManager) Параметры (Parameters) Текст (Text) Методы: Выполнить (Execute) ВыполнитьПакет (ExecuteBatch) НайтиПараметры (FindParameters) УстановитьПараметр (SetParameter) Конструкторы: На основании текста запроса Описание: Предназначен для выполнения запросов к базе данных. Доступность: Сервер, толстый клиент , внешнее соединение. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:13 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Sergey Sizov, не совсем понял, какая ссылка вам недоступна? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:26 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь Бобак V82.COMConnector - это ОБЕРТКА. Через нее можно вызывать все методы 1с. Соответственно обычно разработчик сначала пишет свой код в 1с, а потом переносит его на другой язык, используя COMConnector . Потому весь список методов - в справке 1с. Примеров использования ком коннектора - много, ищите. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:30 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Zerroобычная помошь 1с. Использование можно все кроме тех у кого написано что в коме не работают. Запрос (Query) Запрос (Query) Свойства: МенеджерВременныхТаблиц (TempTablesManager) Параметры (Parameters) Текст (Text) Методы: Выполнить (Execute) ВыполнитьПакет (ExecuteBatch) НайтиПараметры (FindParameters) УстановитьПараметр (SetParameter) Конструкторы: На основании текста запроса Описание: Предназначен для выполнения запросов к базе данных. Доступность: Сервер, толстый клиент , внешнее соединение. Где эта "обычная помощь"? Я вот при запущенном 1С вошел в "Помощь", и что-то мне не видно там ни пункта "Помощь для разработчиков", ни "помощь по программированию 1С экспорта/импорта", ни чего-то подобного. Вот Вы тут привели какую-то информацию о методах ВыполнитьПакет, НайтиПараметры и т.д. Вопрос: где это ТОЛКОМ написано? где страница в интернете с ПОЛНЫМ СПИСКОМ этих методов? Вот Вы лично откуда изъяли эту информацию? Буду очень признателен, если кто-то даст ссылку. А что касается конкретных методов и свойств - то мы уже как-то сами справимся с чтением хелпа. Нам бы знать где этот хелп. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:30 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакSergey Sizov, не совсем понял, какая ссылка вам недоступна?Ссылка на MSDN. Она не всем доступна. Так же не всем доступны ссылки на 1c-овский ITS, в котором, как и в MSDN, есть документация по продуктам 1С. К тому же, у самого коннектора всего пара свойств в и методов и все они описаны в Синтакс-помощнике. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:38 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакZerroобычная помошь 1с. Использование можно все кроме тех у кого написано что в коме не работают. Запрос (Query) Запрос (Query) Свойства: МенеджерВременныхТаблиц (TempTablesManager) Параметры (Parameters) Текст (Text) Методы: Выполнить (Execute) ВыполнитьПакет (ExecuteBatch) НайтиПараметры (FindParameters) УстановитьПараметр (SetParameter) Конструкторы: На основании текста запроса Описание: Предназначен для выполнения запросов к базе данных. Доступность: Сервер, толстый клиент , внешнее соединение. Где эта "обычная помощь"? Я вот при запущенном 1С вошел в "Помощь", и что-то мне не видно там ни пункта "Помощь для разработчиков", ни "помощь по программированию 1С экспорта/импорта", ни чего-то подобного. Вот Вы тут привели какую-то информацию о методах ВыполнитьПакет, НайтиПараметры и т.д. Вопрос: где это ТОЛКОМ написано? где страница в интернете с ПОЛНЫМ СПИСКОМ этих методов? Вот Вы лично откуда изъяли эту информацию? Буду очень признателен, если кто-то даст ссылку. А что касается конкретных методов и свойств - то мы уже как-то сами справимся с чтением хелпа. Нам бы знать где этот хелп. откройте хелп из конфигуратора ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:39 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь Бобак, вот, изучайте: Внешнее соединение (External connection) Методы: NewObject (NewObject) String (String) Описание: В общем и целом работа с 1С:Предприятием 8 через внешнее соединение подобна работе с 1С:Предприятием в режиме Automation сервера. Основные отличия заключаются в следующем: В случае Automation сервера запускается полноценное приложение 1С:Предприятия 8, а в случае внешнего соединения запускается относительно небольшой внутрипроцессный COM-сервер. При работе через внешнее соединение не доступны функциональные возможности, так или иначе связанные с организацией пользовательского интерфейса 1С:Предприятия 8; При работе внешнего соединения не используется модуль управляемого приложения (модуль обычного приложения) конфигурации 1С:Предприятия 8. Его роль при работе с внешним соединением играет модуль внешнего соединения. При использовании внешнего соединения имеются следующие преимущества по сравнению с использованием Automation сервера: Более быстрая установка соединения, так как не требуется создания отдельного процесса операционной системы, а все действия производятся в рамках вызывающего процесса; Более быстрое обращение к свойствам и методам объектов 1C:Предприятия, так как для организации обращения не требуется организации межпроцессной коммуникации; Меньший расход ресурсов операционной системы. Для организации доступа к данным 1С:Предприятия 8 через внешнее соединение, выполняется следующая последовательность действий: создается менеджер COM-соединений, с помощью которого производится установка соединения; производится обращение к методу Connect менеджера COM-соединений. Метод Connect возвращает внешнее соединение с информационной базой 1С:Предприятия 8; через внешнее соединение производится обращение к допустимым методам, свойствам и объектам информационной базы, с которой установлено соединение. Важно! В связи с отсутствием пользовательского интерфейса не все объекты, а также свойства и методы можно использовать во внешнем соединении. Внешнее соединение предоставляет полный доступ к своему глобальному контексту. Поэтому внешнее соединение в качестве своих методов может иметь: системные константы, значения заданных в Конфигураторе объектов, доступ к которым осуществляется с помощью менеджеров (например, константы, перечисления, справочники, документы, журналы документов, отчеты, обработки, планы видов характеристик, планы счетов, планы видов расчета, регистры), а также переменные, объявленные в модуле внешнего соединения с ключевым словом Экспорт. Доступность: Интеграция. Пример: // Создание объекта-коннектора cntr = Новый COMObject("V83.COMConnector"); // создается объект COM-соединение connection = cntr.Connect("File=""c:\InfoBases\Trade"";Usr=""Director"";"); СпрКонтрагенты = connection.Справочники.Контрагенты; Выборка = СпрКонтрагенты.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Наименование); КонецЦикла; // Пример на языке MS Visual Basic Sub Excel_to_trade() Dim cntr As Object Dim trade As Object Dim Товар As Object Set cntr = CreateObject("V83.COMConnector") Set trade = cntr.Connect("File=""c:\InfoBases\Trade""; Usr=""Director"";") Set Товар = trade.Справочники.Товары Группа = Товар.СоздатьГруппу() Группа.Наименование = "***** Экспорт из Excel ******" Группа.Записать() N = 100 'Количество строк в документе For Count = 1 To N Элемент = Товар.СоздатьЭлемент() Элемент.Наименование = Application.Cells(Count, 2).Value Элемент.Розн_Цена = Application.Cells(Count, 3).Value Элемент.Мел_Опт_Цена = Application.Cells(Count, 4).Value Элемент.Опт_Цена = Application.Cells(Count, 5).Value Элемент.Родитель = Группа.Ссылка Элемент.Записать() Next Count End Sub См. также: Соединение с рабочим процессом, метод Connect Менеджер COM-соединений, метод Connect Глобальный контекст, метод ПолучитьСообщенияПользователю Обратите внимание, что про коннектор тут только первые две строки кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:46 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Sergey SizovСсылка на MSDN. Она не всем доступна. На самом деле для того, чтобы доступиться до MSDN, надо немного - завести почту на hotmail или на msn, и вы получите live id (аналог google-идентификатора, он же ваша gmail почта, под ним входите на youtube, google+). Дальше надо войти под live id в сайт - и вы получаете весь MSDN. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:47 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакВот если интересует класс FileStream - все четко и красиво разложили по полочкам, вот вам список всего, что в классе. Существует ли что-то подобное по V82.COMConnector? В синтакстис-помощнике вам будет доступно все методы 1с видимые для внешнего соединения: Запрос.МенеджерВременныхТаблиц (Query.TempTablesManager) Запрос (Query) МенеджерВременныхТаблиц (TempTablesManager) Использование: Чтение и запись. Описание: Тип: МенеджерВременныхТаблиц. Содержит менеджер временных таблиц, в котором будут создаваться временные таблицы. Доступность : Сервер, толстый клиент, внешнее соединение . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:48 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
а так вообще обязательно к com присасываться? там потенциальных грабель много раскидано... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:51 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакSergey SizovСсылка на MSDN. Она не всем доступна. На самом деле для того, чтобы доступиться до MSDN, надо немного - завести почту на hotmail или на msn, и вы получите live id (аналог google-идентификатора, он же ваша gmail почта, под ним входите на youtube, google+). Дальше надо войти под live id в сайт - и вы получаете весь MSDN.На самом деле чтобы получить доступ к ИТС надо просто купить на него подписку. Доступ на MSDN у меня есть. Речь о необходимости получать доступ, а не о легкости его получения. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 15:54 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Коллеги, где хелп - понял. Внимательно изучаю. Но не вижу пока что ответа на один вопрос: как получить все значения перечисления, при этом надо получить их названия, порядковые номера и GUID-ы ? Делаю вот так Код: c# 1. 2. 3. 4. 5.
Если читать в синтакс-справочнике, то видно, что свойство "ЮрФизЛицо" будет иметь тип ПеречислениеМенеджер.<Имя перечисления> В хелпе написано такое - Код: sql 1. 2. 3. 4. 5.
Значит мой foreach, который бежит по этой коллекции, присваивает в переменную v значения типа "ПеречислениеСсылка" Читаем хелп для него: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
В нем нет свойств ни Name, ни Caption, ни GUID, ничего, что я бы ожидал тут увидеть. Кто знает куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 16:38 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакКоллеги, где хелп - понял. Внимательно изучаю. Но не вижу пока что ответа на один вопрос: как получить все значения перечисления, при этом надо получить их названия, порядковые номера и GUID-ы ? ... В нем нет свойств ни Name, ни Caption, ни GUID, ничего, что я бы ожидал тут увидеть.А теперь расскажите на каком основании Вы это все ожидаете? Особенно GUID. А если бы сразу правильно вопрос формулировали, то сразу бы получили более адекватный ответ. А именно: ключевое слово - Метаданные. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 16:50 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
В продолжение предыдущего поста. А зачем Вам понадобились все эти сведения? Вы собрались работать с конфигой неизвестной структуры? Собрались рисовать свои формы для 1с-овских объектов? Где и зачем собираетесь использовать ожидаемые данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 17:17 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакКоллеги, где хелп - понял. Внимательно изучаю. Но не вижу пока что ответа на один вопрос: как получить все значения перечисления, при этом надо получить их названия, порядковые номера и GUID-ы ? Делаю вот так Код: c# 1. 2. 3. 4. 5.
Если читать в синтакс-справочнике, то видно, что свойство "ЮрФизЛицо" будет иметь тип ПеречислениеМенеджер.<Имя перечисления> В хелпе написано такое - Код: sql 1. 2. 3. 4. 5.
Значит мой foreach, который бежит по этой коллекции, присваивает в переменную v значения типа "ПеречислениеСсылка" Читаем хелп для него: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
В нем нет свойств ни Name, ни Caption, ни GUID, ничего, что я бы ожидал тут увидеть. Кто знает куда копать? ммм... перечисления - пример несколько специфичный... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 17:19 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 17:26 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Оъясняю задачу. Мы занимаемся бизнес-аналитикой - строим хранилище данных. Одной из учетных систем у заказчика есть 1С. Надо сделать SSIS-пакет (SQL Server Intergation Services), который вытягивает данные из 1С базы. "По культурному" мы это строим так: - 1С программист заказчика делает обработку, целью которой есть выгрузка данных куда-то в "промежуточное место" (csv файлы, sql-таблицы - не важно). Назовем это "буфером" - наш SSIS-пакет делает вытягивание из буфера и вставку в хранилище. Но это "по культурному". Однако бывают заказчики, с которыми это не проходит. Они не могут или не хотят выделить 1С-специалиста, который сделает обработку для выгрузки в буфер, а хотят чтобы мы сами путем SQL запросов вытягивали данные. Так вот, вытянуть SQL-запросами мы можем все, кроме енумов (потому что названий нет в таблицах _Enum123 и т.д.). Для енумов надо писать кусок кода на C# который их вытянет с помощью COM Interop. Кто знает более умный способ как получить все значения перечислений извне - буду благодарен на идеи. У нас работает вот такой код: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Как видите, он запускает запросы типа select * from enum.ЮрФизЛицо для всех возможных перечислений, и вытягивает оттуда все данные. Но вот проблема: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
не вижу я почему-то поля, которое соответствует _IDRRef в таблице _Enum256... Вот в связи с этим вопрос: могу ли я на 100% положится на свойство "Порядок" для осуществления связки? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 17:37 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакВот в связи с этим вопрос: могу ли я на 100% положится на свойство "Порядок" для осуществления связки? 100% - нет... значение перечисления можно гонять в пределах коллекции как раз полем порядок... т.е. для 1с собственно пофигу с точки зрения прямого пользования по назначению какой порядок будет: Юрлицо;Физлицо или Физлицо;Юрлицо - а у вас будут траблы... перечисление - это часть конфигурации, нет под них отдельных таблиц http://www.gilev.ru/forum/viewtopic.php?f=9&t=264 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 17:54 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Хорошо. Тогда какой 1С запрос надо написать - типа Код: sql 1.
можете подсказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 19:11 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакХорошо. Тогда какой 1С запрос надо написать - типа Код: sql 1.
можете подсказать?В запросе никак. В скд можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 20:52 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Поправка - гуид перечисления никак вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 20:53 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Программист 1сВ запросе никак. В скд можно. Если вы имели в виду "в sql можно", то ответ: да, можно. Но можно вытянуть IDRRef и Порядок. Однако нельзя вытянуть имя. Я проверил лично: в таблицах _Enum* значение поля "порядок" успешно меняется после того, как в конфигураторе поменять порядок. Если тянуть sql запросом из _Enum* таблиц - получим IDRRef и Порядок, если тянуть с помощью C# кода - то вытягивается порядок и название. По полю "порядок" объединили - и проблема закрыта. У нас на блоге детально описал нюансы, кому интересно - приаттачил туда и обработки, и саму програмку, вытягивающую все перечисления. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 22:38 |
|
Где увидеть полный список классов, методов и свойств V82.COMConnector ?
|
|||
---|---|---|---|
#18+
Игорь БобакХорошо. Тогда какой 1С запрос надо написать - типа Код: sql 1.
можете подсказать? Игорь БобакХорошо. Тогда какой 1С запрос надо написать - типа Код: sql 1.
можете подсказать? Создайте вьюхи на все объекты: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Получите Код: sql 1. 2. 3. 4. 5. 6.
Ну и надо не забывать пересоздавать вьюхи после реструктуризации БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2014, 22:56 |
|
|
start [/forum/topic.php?fid=28&fpage=34&tid=1519436]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
317ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 408ms |
0 / 0 |