Страницы: 1 2 След.
RSS
Подключиться к БД 1С при помощи PQ
 
Добрый день.
Уважаемые, один мой товарищ по работе организовал у себя в макросе подключение к базе 1С при помощи кода:
Код
Set conn = CreateObject("V83.COMConnector")
Set bd = conn.Connect("Srvr=""Zeus:1687"";Ref=""moto_sup""")
Set Запрос = bd.NewObject("Запрос") 
Запрос.Текст = "Здесь текст консольного запроса к БД 1С"
Хочу также тащить себе таблички в PQ. Это возможно вообще? Если да, то хотя бы натолкните на мысль, где копать?
Изменено: PooHkrd - 10.12.2021 07:36:44
Вот горшок пустой, он предмет простой...
 
Инициалы сервера на ваши пробовали менять?
 
1C хранит данные (обычно) в SQL, насколько я понимаю. Так что можно цепляться хоть напрямую, если знаете, как эта база устроена. Если не знаете - лучше не надо (да и доступа к ней у вас не будет в таком случае, скорее всего)
F1 творит чудеса
 
Denis87, Я всего лишь хотел узнать какой функцией в PQ я могу настроить такое же COM соединение и транслировать в неё запрос на формирование таблицы, которую дальше буду обрабатывать в PQ.
Максим Зеленский, Макрос обращается к БД запросом на её родном языке, как это представлено в примере. Запрос в консольке 1С сляпать в конструкторе вообще не проблема. Есть тестовая БД, так что ничего не поломаю.
Просто подскажите функцию PQ  для установления соединения по аналогии с VBA, а дальше буду сам тыкаться в макете. Ну а если так нельзя, то так и скажите, буду придумывать костыли.
Изменено: PooHkrd - 13.04.2022 16:42:14
Вот горшок пустой, он предмет простой...
 
Не знаю, можно ли. COM - это же не ODBC.
доступные функции соединения PQ: https://msdn.microsoft.com/en-us/library/mt296615.aspx
F1 творит чудеса
 
Насколько помню без танцев с бубном из PQ к 1С еще ни у кого не получилось подключиться. Нет там такого соединения. Пока что. Если поискать в сети - можно найти всякие грабли через установку доп.приложений для коннекта.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Грабли для коннекта через сторонний (не MS) софт не подойдут - замучаюсь согласовывать их установку на корпоративный комп. А значит данные придется тащить макросом, а потом обрабатывать через PQ.
Всем спасибо.
Изменено: PooHkrd - 08.11.2021 16:25:37
Вот горшок пустой, он предмет простой...
 
Описанный в #1 способ работает, можно получить список Контрагентов, Номенклатуры, ... Можно изменять данные методами 1С (для этого объекта: conn = CreateObject("V83.COMConnector")) для того этот CОM и писали.
PQ так не подключишь, т.к. он не поддерживает COM объекты (во всяком случае в для 2010).

PS Да при авторизации могут быть проблемы, не всегда удается ее пройти успешно. Для УПП на 8.2  мне удавалось открыть соединение только после 18-00, когда большинство пользователей покидали систему. Причину выявить не удалось.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Может легче в 1с настроить необходимую выгрузку файла в формат эксель настроить?
 
Василий Нисс, а если нужны текущие данные, а отчёт по всем клиентам/номенклатуре формируется 20 минут? Каждый раз залезать в отчёт или рассылку и менять отбор? А если отобрать нужно 50 товаров? :)
 
Тогда лучше делать это все сразу в 1с, минуя привязку к другим пирогам. Конечно, будут дополнительные расходы на запись дополнительных окон, но вся эта задача будет решаться в рамках одной только Иннески (1с). 1с очень гибкий для этого инструмент.  
 
Василий Нисс, как быть если конфигуратор запоролен, а приходящий программист 1С с почасовой оплатой растягивает свою работу на пару дней?
 
Цитата
Михаил Л написал:
приходящий программист 1С с почасовой оплатой растягивает свою работу на пару дней?
Ха!
Программисты свои. Доработки согласовываются от месяца до трех. Реализация доработок (не совсем тривиальных) от 6 месяцев после согласования. Через 9 месяцев меняется бизнес логика - нахер не нужна доработка :)
 
surkenny,  поэтому мне легче осторожно подключиться из PQ
 
Михаил Л, я запрашивал доступ к БД - отказали, ссылаясь на нарушение лицензии 1С и очень сложную структуру данных, в которой не разберусь. Есть свой API, который изначально для qlick делали, но там не использовали. Но при проверке оказалось, что почему-то не работает. В общем, сижу и жду, пока рассылка выполнится :).
Изменено: surkenny - 10.12.2021 09:03:26
 
Цитата
surkenny написал:
ссылаясь на нарушение лицензии 1С и очень сложную структуру данных, в которой не разберусь
Есть такой очень интересный инструмент: ATK Biview вроде называется. Так вот, он позволяет все 1С-ые таблицы с атрибутами "расшифровать" в читаемые названия. Что позволяет легко найти нужную информацию без посторонней помощи. Про нее даже не все программисты 1С знают, что существует такая удобная программа. Не помню, есть там trial версия или нет.
 
Цитата
написал:
как быть если конфигуратор запоролен, а приходящий программист 1С с почасовой оплатой растягивает свою работу на пару дней?
Использовать внешнюю обработку для формирования отчета, итог выгружать в CSV.
Цитата
написал:
я запрашивал доступ к БД - отказали, ссылаясь на нарушение лицензии 1С и очень сложную структуру данных, в которой не разберусь.
Не очень понятно, что именно Вы запрашивали. Странно, если база данных запрещает доступ к своей структуре данных. В 1С есть проблема модификации типового решения, т.е. если ВЫ изменяете какой-либо объект метаданных, то теряете поддержку вендора на этот объект. Но Вам то надо просто прочитать данные, менять ничего не надо.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Цитата
написал:
а если нужны текущие данные, а отчёт по всем клиентам/номенклатуре формируется 20 минут? Каждый раз залезать в отчёт или рассылку и менять отбор? А если отобрать нужно 50 товаров?
Всегда есть способ оптимизировать время выполнения.  
Неизлечимых болезней нет, есть неизлечимые люди.
 
Цитата
написал:
Есть такой очень интересный инструмент: ATK Biview вроде называется. Так вот, он позволяет все 1С-ые таблицы с атрибутами "расшифровать" в читаемые названия.
Здесь речь видимо о таблицах SQL сервера, там действительно таблицы имеют нечитаемые имена, не имеют внутренних связей. Тогда речь пойдет уже о подключении к SQL, а не к 1С.
Неизлечимых болезней нет, есть неизлечимые люди.
 
surkenny, , поделитесь, как вы тогда тянете данные из 1с, если доступ к БД запретили?
 
Цитата
Owlet написал:
как вы тогда тянете данные из 1с
Рассылка по расписанию/ручному запуску с сохранением в .txt
 
Цитата
TheBestOfTheBest написал:
Тогда речь пойдет уже о подключении к SQL, а не к 1С.
Вот именно прямое подключение к SQL и нарушает лиц. соглашение с 1С. Ну или мне так объясняли. Может врут, мне некогда углубляться в юридические тонкости.
По сути известных мне вариантов взять данные из серверной 1с их 4:
Обращение к SQL расшифровав названия таблиц и их полей
Выгрузки (автоматизированные и не очень) в файлы
Выгрузка нужных данных в хранилище/куб и потом тащить оттуда обычным коннектором
Настроить OData, но это только для маленьких объемов. Собcтвенно Odata часто и используется чтобы тащить данные маленькими порциями в хранилище.
Вот горшок пустой, он предмет простой...
 
Слушайте
Есть ли у кого доступ для скачивания 1С обработок?
Нужно обработка для перевода запроса в SQL. Примерно такая желательно для 8.1
Вот еще ссылка о чем речь
Изменено: Михаил Л - 10.12.2021 20:28:12
 
Цитата
написал:
Вот именно прямое подключение к SQL и нарушает лиц. соглашение с 1С. Ну или мне так объясняли. Может врут, мне некогда углубляться в юридические тонкости.
Честно впервые такое слышу, мне кажется просто не хотят что то раскрывать,  я ежедневно выгружал так из базы и всё прекрасно, потом наделали вьюх и через них PQ прекрасно забирает
 
Цитата
написал:
Нужно обработка для перевода запроса в SQL. Примерно  такая  желательно для 8.1
Посмотрите на Инфостате, там чего только нет. Но то что она есть это факт, на прошлой работе я пользовался помню.Но при уходе ничего не брал всё так там и осталось.
 
Цитата
Александр L написал:
там чего только нет
Вот именно, все ссылки ведут на Инфостат, а там чтобы скачать бесплатное все равно нужны мани
В принципе, я уже остыл к этому вопросу
 
Цитата
написал:
Вот именно, все ссылки ведут на Инфостат,
деньги странно ну и бог с ними. Тогда в телеграмме поискать группы 1С и там попросить программистов скинуть/поделиться, уверен у кого есть легко дадут.
 
Александр L, нашел тут(нужна только регистрация).
Переводчик каку не переводит)
 
Цитата
написал:
Вот именно прямое подключение к SQL и нарушает лиц. соглашение с 1С. Ну или мне так объясняли. Может врут, мне некогда углубляться в юридические тонкости.
Практически у всех клиентов бэкап настроен через SQL и нечего, работают, никто их лицензии не лишает. Кроме этого, 1С не отвечает за внесенные данные, т.е. изменение структуры таблиц SQL - там да, поддержки лишитесь, а данные - гоняйте на здоровье.
В #24 - сделайте несколько представлений(view) на SQL и подключайтесь к ним стандартный драйвером PQ.

PS Да, только при любом обновлении релиза, 1С могут структуру данных поменять, и вьюхи придется править.
Изменено: TheBestOfTheBest - 13.12.2021 09:48:01
Неизлечимых болезней нет, есть неизлечимые люди.
 
Всем добрый вечер.
Может кто-нибудь, пожалуйста, рассказать по шагам, как подключиться к 1С через PQ?
Понятным несложным языком?
Страницы: 1 2 След.
Наверх