|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
||||||||||||||||
V82.COMConnector правильно получить NewObject из Справочники25.07.2013, 06:13. Показов 19336. Ответов 52
Метки нет (Все метки)
Здравствуйте.
С 1С совсем не работал, но очень хочется получить из неё данные .В общем, с начало всё рождалось здесь: Qt + COM (ActiveX) = Властелин упрвления сервером 1С предприятия Qt определение вывода ошибок в определенной кодировке (для русского текста) Сейчас уже вопрос наверно не кутистам, а к 1сникам. Подскажите пожалуйста, как правильно выбрать всех пользователей из справочника? Например, захожу в конфигуратор - открыть конфигурацию Слева есть список объектов и всего всего, есть пункт Справочники - Пользователи Как правильно сделать NewObject чтобы получить ссылку на этих пользователей?
Но если сделать
Вопрос - как правильно сделать соединитель на Справочники.Пользователи и потом через метод String выбрать всех пользователей? зы И ещё, если кто знает, подскажите пожалуйста, где можно посмотреть подробные логи действий на 1С сервере, ведь ошибка которая мне вопросиками отдается, должна же она где то на сервере храниться?!
1
|
||||||||||||||||
| 25.07.2013, 06:13 | |
|
Ответы с готовыми решениями:
52
PowerShell и V82.COMConnector Visual Studio Express 2012 C++ подключение к 1С V82.COMConnector (COM) объекту COM соединение ошибка объектного типа (NewObject) |
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
| 25.07.2013, 20:13 | |
я дак как на Луну свалился. Могу сказать лишь одно: после коннекта ac->querySubObject некошерно.<Имя переменной типа справочник 1С> =ac.Справочники.Номенклатура; (ну, можно и в латинской транскрипции) NewObject в 8 как такового нет. Экземпляр объекта метаданных как бы в прямом доступе. а конструкция New (Новый) применяется для создания структур языка, например Массив = Новый Массив(4); можно array
0
|
|
|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
|||||||||||
| 26.07.2013, 09:07 [ТС] | |||||||||||
|
Пытаюсь сделать
Но блин получаю ошибку
Т.е. как бы возвращается не указатель на менеджер пользователей, а что-то другое? Делаю для того, чтобы потом GetUsers с объектом ab сделать.
0
|
|||||||||||
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
| 26.07.2013, 09:56 | |
|
0
|
|
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
| 26.07.2013, 10:12 | |
|
а я думаю - что ас - это уже 1с. Ведь это уже после запуска приложения и коннекта к базе?
0
|
|
|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
||||||||||||||||
| 29.07.2013, 09:01 [ТС] | ||||||||||||||||
|
В классе QAxObject есть 2 функции для взаимодействия с объектом коннекта, это querySubObject который возвращает указатель на объект, например объект менеджера или пользователя, и есть функция dynamicCall она как бы делает действие непосредственно с этим объектом.
Вот так я смог получить своё имя (после успешного выполнения стал самым счастливым человеком на свете на несколько секунд)
1. Через InfoBaseUsers я вижу всех пользователей, которые в 1с имеют некие права?! 2. Справочники.Пользователи и InfoBaseUsers это одно и то же?! (просто проблемы с кодировкой, не знаю почему не могу в коннектор русский текст отдавать, и не могу использовать русские запросы к 1С) Добавлено через 6 минут Хочу получить всех пользователей, т.е. нужно перебрать массив GetUsers?!
Добавлено через 2 часа 55 минут Нашёл способ как обойти весь массив (опять стал на несколько секунд самым счастливым человеком) Код для будущих извращенцев, чтобы гугл отобразил в поиске ![]()
Но вопросы из прошлого сообщения остаются актуальными!
0
|
||||||||||||||||
|
Модератор
|
||
| 29.07.2013, 09:38 | ||
|
2. НЕТ - Справочники.Пользователи и InfoBaseUsers ЭТо разные таблицы Добавлено через 5 минут QAxObject * arrayRoles = ae->dynamicCall("roles"); //получишь коллекцию ролей пользователя (коллекция 1С-овская) Добавлено через 6 минут Для этой коллекции доступен обход при помощи For each (Кстати и массив можно так же обойти)
0
|
||
|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
||
| 30.07.2013, 06:49 [ТС] | ||
|
Dethmontt спасибо большое за наводку!
Такой ещё небольшой вопрос, а как можно мониторить выгрузку/загрузку данны? Например если зайти в Сервис - Распределенная информационная база (РИБ) - Настроить узлы РИБ То откроется окно, тут есть план с обменом, у него есть статус Выгрузка - такое то число, Загрузка - такое то число Как можно обратиться к этому элементу и получить дату выгрузки и загрузки и значение "с ошибками" или "успешно" ? На хабре наткнулся на одну интересную штуку
0
|
||
|
Модератор
|
||
| 30.07.2013, 09:30 | ||
|
Практически все встроенные функции и свойства имеют англоязычный вариант синтаксиса. (кроме созданых таблиц и реквизитов на русском языке)
Добавлено через 10 минут Потом построить запрос к регистру сведений (скорее всего ИсторияОбменаДанными)
0
|
||
|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
||||||
| 01.08.2013, 10:12 [ТС] | ||||||
|
Спасибо. Логику работы 1С вроде мало-мальски понял, но беда из-за непонимания русского текста не даёт в полной мере обращаться к элементам конфигурации ... Буду думать Qt определение вывода ошибок в определенной кодировке (для русского текста)
Добавлено через 23 часа 50 минут Господа 1Сники, помогите узнать, в какой кодировке запросы через COM уходят, может можно это как-то в самой 1С посмотреть? Вот у меня в Qt есть такие кодировки:
0
|
||||||
|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
|
| 02.08.2013, 14:48 [ТС] | |
|
Уже и исходники в cp1251 делал и на русском писал, и исходники utf-8 делал и локалями через стринг перегонял, и исходники utf-8 и чистый текст, один фиг ... Даже идея была, что последнего символа '\n' нехватает, добавлял, не помогло. Банально иссякли идеи ...
0
|
|
|
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
|
|
| 02.08.2013, 15:18 | |
|
я как-то в Си++ возился тоже с такими иероглифами, оказалось дело не в кодировке, а в версии билдера =) ...
0
|
|
|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
|
| 05.08.2013, 05:59 [ТС] | |
|
Dethmontt этот гад (1с коннект) отлично цепляется при использовании англоязычных имён, но наш конфигуратор (со специфическими параметрами) на чистом русском ...
SonicQ иероглифы как раз и идут из-за проблем с кодировкой ...
0
|
|
|
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
|
||||||
| 05.08.2013, 09:41 | ||||||
|
Чуть погуглил, пока чай остывал, вот пробни:
1) Попробуй создать V82.Application из другой программы, да хоть при помощи самой 1С. 2) попробуй создать при помощи Qt другой COM, (word, ёксель, например). 3) Или вообще заменить V82.Application на V82.COMConnector 4) Может вы работаете под каким-то ограниченным пользователем? И нет доступа к определенному виду кодировки (но это бред конечно, а вдруг) Еще немножко букав:
0
|
||||||
|
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
|
||||||
| 05.08.2013, 09:56 [ТС] | ||||||
|
1. С Application те же самые проблемы что и с COMConnector.
2. COM сам отлично работает, я же писал, что если юзать латинские объекты, то и в 1с всё отлично работает, проблема в том, что наш конфигуратор использует рус объекты (программисты 1с заморачивать не будут для сопоставления рус и англ). 3. Я и использую COMConnector. 4. Я админ компа, сети, домена и т.д., фул привиледжес. А насчёт исходников, уже и на чистом CP-1251 делал, те же самые беды ... И кодировал функцией
0
|
||||||
|
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
|
|||||||||||||
| 05.08.2013, 10:15 | |||||||||||||
|
Добавлено через 11 минут Делал вот так?
"Более поясню ты скорее всего пишешь под виндой а значит кодировка файла win1251 а Qt работает с Utf-8 поэтому у тебя и получаются каракули, у тебя есть два варианта либо использовать QTextCodec и каждое русское слово в коде перегонять в Utf-8 либо использовать локализацию ,а то бишь писать всё на английском и все слова в коде помещать в tr(), а потом при помощи QtLinguist переводить на любой угодный тебе язык, от себя добавлю второй вариант более приемлем. " Добавлено через 1 минуту Сколько же всего в инете... поищи хорошенько
0
|
|||||||||||||
| 05.08.2013, 10:15 | |
|
Помогаю со студенческими работами здесь
20
COMConnector к УТ11
Нарушение Прав Доступа! Comconnector Подключение к серверной базе 1С используя ComConnector Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|