1С отладка com соединения

Одним из способов перенести данные из одной конфигурации 1С в другую является программное подключение с помощью COM. Многие компании используют несколько различных баз, между которыми должны быть определенные связи и зависимости. Если необходимо не только перенести данные, но и выполнить определенную обработку данных, то COM соединение будет оптимальным механизмом. Умение анализировать данные из другой базы 1С пригодиться любому разработчику.

Подключаемся через COM к базе 1С

Для реализации COM соединения в 1С используется специальный механизм под названием COMConnector. Этот объект устанавливается вместе с платформой и применяется для связи информационных баз. Следует учесть, что для версий 8.2 и 8.3 используются разные по наименованию объекты – «V82.COMConnector» и «V83.COMConnector» соответственно.

Помните, что на время COM соединения к базе тратиться лицензия – не стоит увлекаться одновременным выполнением нескольких подключений. Особенно это важно для организаций, у которых количество лицензий ограничено. Решиться этот вопрос может при помощи регламентных заданий, выполняющихся во время отсутствия активных подключений пользователей к информационной базе.

Чтобы иметь возможность подключиться к другой базе и запросить нужную информацию вы должны знать следующие данные:

  1. Какого она типа – файловая или клиент-серверная;
  2. Где она располагается;
  3. Под каким именем и паролем в нее можно зайти;
  4. Какие данные вас интересуют.

Из первых трех пунктов для реализации COM соединения необходимо сформировать строку параметров. В зависимости от типа ИБ она будет отличаться внешним видом. Используя полученную строку, происходит подключение, с помощью которого можно собирать для анализа и обработки данные из другой базы любыми методами.

Функция подключения проста и не должна вызвать вопросов, если все параметры указаны верно. Для ускорения отладки и анализа возможных ошибок лучше заключить подключение в конструкцию «Попытка». Возвращать функция будет значение типа «COM объект», с которым и предстоит работать, получая нужные данные.

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

Получаем данные из базы 1С

После того как получили нужный объект, необходимо прочитать данные из другой базы. Для этого мы применяем запрос через COM соединение в 1С 8.3 с помощью полученного значения типа «COM объект» из функции. Важно сначала подключиться к базе, а затем уже выполнять запрос. Выполнение происходит через метод NewObject с указанием в качестве параметра типа объекта в строковом виде – «Запрос».

Читайте также:  Веб камеры для подводной съемки

К примеру, чтобы получить информацию о пользователях определенного подразделения, зададим условие в запрос через параметры. Один параметр будет простого типа – строка, а подразделение – ссылкой элемента справочника «Структура предприятия». Результат запроса является таблицей с перечисленными полями того типа, какого они существуют в базе, к которой произошло COM соединение. Если необходимо их преобразовать в другие типы – воспользуйтесь стандартными функциями платформы:

Если нужно передать в базу массив для отбора по нескольким параметрам, например, подразделениям, тоже используется команда NewObject. Аналогично можно передавать список или таблицу значений, заполняя их элементами другой базы через соединение. Для поиска вам доступны все существующие методы объектов и механизмов платформы.

При переносе документов или элементов справочников всегда возникает вопрос о контроле переноса определенного объекта. С помощью COM соединений можно решить подобные проблемы через уникальный идентификатор. Нужно найти объект в подключаемой базе по идентификатору из текущей ИБ с помощью функции «ПолучитьСсылку», используя идентификатор в виде строки. Если такового не нашлось, вы можете создать его с помощью COM соединения.

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

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

Когда оператор терминала сбора данных сканирует штрихкод для запроса остатков товара, со стороны внешней системы (учетной системы, товарной базы) кто-то должен обработать этот запрос и вернуть результат. В случае 1С это будет метод глобального контекста или контекста внешнего соединения, для Axapta это будет публичный статический метод в каком-то классе, а в случае SQL базы данных это может быть хранимая процедура (хотя можно выполнить и простой запрос).

Для отладки работы кода внешней системы, который должен будет вызываться с ТСД, в панели управления Mobile SMARTS предусмотрено специальное окно, вызываемое из контекстного меню коннектора:

В этом окне можно задать имя вызываемого метода внешней системы, указать передаваемые параметры, вызвать внешнюю систему при помощи коннектора и посмотреть на результат.

Как видно, коннектору передаются именованные параметры. Метод внешней системы, который будет принимать эти параметры, может получить их в двух вариантах, в зависимости от реализации коннектора. Первый вариант – будет учитываться только порядок передачи параметров, а имена не имеют значения и отбрасываются. Второй вариант – метод принимает единственный строковой аргумент, в котором передается XML с сериализованным объектом Cleverence.Warehosue.InvokeArgs; это выглядит примерно как « Параметры -> вкладка Системные. Смотрим, проставлен ли флаг «Устанавливать режим разрешения отладки при запуске». Если не проставлено необходимо проставить и сохранить.

Читайте также:  Request not found перевод

В случае, если флаг «Устанавливать режим разрешения отладки при запуске» не сохраняется, необходимо скопировать файл comcntrcfg.xml (предварительно скачать и извлечь из архива comcntrcfg.zip) в папки «c:Program Files1cv828.х.хх.хххinconf», «c:Program Files1cv82conf».

В файле прописано, что отладка разрешена и по умолчанию включается на локальной машине.

Дальше поставим «точку останова».

Запустим вызов процедуры, выбрав операцию.

Создалось подключение сервера Mobile SMARTS к базе драйвера и теперь необходимо подключиться к той сессии, которая создалась. Выбираем Отладка -> Подключение.

Вызовем нашу процедуру еще раз.

Система остановилась, на нашей «точке останова».

Далее стандартными методами 1С (зайти в процедуру, шагнуть) можно отладить соответствующую процедуру 1С.

Клиент-серверный вариант работы

Для клиент-серверного варианта работы отладку нужно производить на том же компьютере, где запущен «Агент сервера 1С:Предприятия».

В реестре (КомпьютерHKEY_LOCAL_MACHINESISTEMCurrentControlSetservices1C:Enterprise 8.2 Server Agent) найти параметр ImagePath и написать ключик -debug.

Запускаем конфигуратор базы драйвера.

И аналогично, как в клиент-файловом варианте, ставим «точку останова», вызываем метод 1С из Мobile SMARTS, отлаживаем код в 1С.

В 1С 8.3 появился параметр «Номер порта для тонкого и толстого клиента».

Для отладки это значение должно находится в пределах портов установленных в параметрах:

Технологический блог фирмы 1С

Мы добавили в планировщик функциональность, позволяющую создавать визуально удобную, независимую вложенность измерений.

Сделать удобное мобильное приложение – дело непростое, это редко получается с первого раза. Для разработчика важно понять, насколько мобильное приложение удобно в использовании, где пользователь встречается с трудностями, использует ли пользователь мобильное приложение так, как задумал разработчик.

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

Мы продолжаем развивать Систему взаимодействия в соответствии с нашим видением перспектив продукта и с учетом замечаний пользователей.

Для полноценной работы веб-клиента 1С иногда может потребоваться установить дополнительные программы: расширение для браузера и/или расширения для работы с файлами, криптографией, программой «1С:Предприятие – оповещения и запуск», внешние компоненты. Механизмы безопасности браузеров не дают сделать это полностью автоматически и требуют участия пользователя на некоторых фазах установки; в некоторых случаях может потребоваться перезапуск браузера.

Читайте также:  Системная память компьютера что это такое

В версии 8.3.17 мы переработаем интерфейс установки расширений, сделаем его более удобным для пользователей.

В версии 8.3.17 в функциональности демонстрации экрана в Системе взаимодействия (появилась в версии 8.3.16) произойдут изменения:

В версии 8.3.16 в Chrome демонстрация экрана

  • Была доступна, начиная с версии Chrome 56
  • Требовала установленного браузерного расширения
  • Позволяла демонстрировать:
  • Весь экран
  • Вкладку Chrome

В версии 8.3.17 в Chrome демонстрация экрана

  • Доступна, начиная с версии Chrome 72
  • Не требует установленного браузерного расширения
  • Позволяет демонстрировать:
  • Весь экран
  • Окна программ
  • Вкладку Chrome

С целью помощи разработчикам при отладке и расследовании проблем мы ввели в платформу некоторые дополнительные возможности.

В версии 8.3.18 планируется следующее изменение: параметр командной строки /Out на ОС Windows будет выводить данные в файл в кодировке UTF-8 (поведение параметра будет унифицировано для всех поддерживаемых ОС).

Команда «Искать везде» используется для глобального поиска выделенного текста в поле ввода, в текстовом и форматированном документе, а также используется для поиска значения текущей ячейки в таблице или табличном документе.
Мы решили поменять сочетание клавиш для этой команды с Ctrl+Shift+C на Alt+L и скоро выпустим это изменение.
Это вызвано тем, что в типовых конфигурациях сочетание клавиш Ctrl+Shift+C используется для копирования в буфер обмена выделенных строк в таблице.

Нами принято решение, что изменение значений параметров:

  • Критический объем памяти процессов
  • Временно допустимый объем памяти процессов
  • Предел превышения (секунд) временно допустимого объема памяти процессов

можно будет делать с лицензиями уровня ПРОФ.
При этом поведение для опции "Временно допустимый объем памяти процессов" для ПРОФ и КОРП лицензий будет отличаться.
С лицензиями ПРОФ изменение параметра будет действовать только на перезапуск процессов, а с лицензиями КОРП – и на перезапуск процессов, и на прерывание объёмных клиентских вызовов сервера.

Сейчас в версии 8.3.15 эти опции доступны только с лицензиями уровня КОРП.

Изменение попадет в следующую финальную версию 8.3.15 (после 8.3.15.1656).

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector