С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Администрирование и интеграция
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/100: Рейтинг темы: голосов - 100, средняя оценка - 4.58
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 чтобы получить ссылку на этих пользователей?
C++
1
2
3
    QAxObject * ax = new QAxObject("V82.COMConnector");
    QAxObject * ac = ax->querySubObject("Connect(\"Srvr=\"172.0.0.100\";Ref=\"base1\";Usr=\"1C-Bot\";Pwd=\"56q\";\")");
    QAxObject * ab = ac->querySubObject("NewObject",QAxObject::tr("Справочники.Пользователи;"));
но в ответ ругается
C++
1
2
3
4
5
6
7
QAxBase: Error calling IDispatch member NewObject: Exception thrown by server
             Code       : 1001
             Source     : 1C:Enterprise 8.2.15.319
             Description: ??? ?? ????????? '???????????.????????????;'
             Help       :
         Connect to the exception(int,QString,QString,QString) signal to catch t
his exception
По коду 1001 я понял, что это отсутствие данного метода, собственно поэтому и ошибка Error calling IDispatch member NewObject что никакой указатель не вернулся.
Но если сделать
C++
1
QAxObject * ab = ac->querySubObject("NewObject",QAxObject::tr("Справочники;"));
То какая то другая ошибка будет (кодировку не могу победить, извините), не 1001, т.е. как бы существует Справочники, но что-то не то вызываю.

Вопрос - как правильно сделать соединитель на Справочники.Пользователи и потом через метод String выбрать всех пользователей?
зы И ещё, если кто знает, подскажите пожалуйста, где можно посмотреть подробные логи действий на 1С сервере, ведь ошибка которая мне вопросиками отдается, должна же она где то на сервере храниться?!
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2013, 06:13
Ответы с готовыми решениями:

PowerShell и V82.COMConnector
Добрый день! Задача следующая: Необходимо создать com-object 1С и вытащить запросом кое-какие данные Проблема заключается в том,...

Visual Studio Express 2012 C++ подключение к 1С V82.COMConnector (COM) объекту
Хочу подключиться через com зарегистрированную библиотеку к 1С серверу. С VS совсем не работал ... В Qt есть такой пакет ActiveQT: ...

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

52
 Аватар для duk337
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  [ТС]
Пытаюсь сделать
C++
1
QAxObject * ab = ac->querySubObject("NewObject(\"InfoBaseUsersManager\");");
Это как ab = ac.InfoBaseUsersManager по 1совски

Но блин получаю ошибку
C++
1
QAxBase: Error calling IDispatch member NewObject: Bad parameter count

Т.е. как бы возвращается не указатель на менеджер пользователей, а что-то другое?
Делаю для того, чтобы потом GetUsers с объектом ab сделать.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
26.07.2013, 09:26
Не пойму что это? querySubObject
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
26.07.2013, 09:56
Цитата Сообщение от _KUL Посмотреть сообщение
Это как ab = ac.InfoBaseUsersManager по 1совски
так ведь надо не "как", а именно по одинэсовски.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
26.07.2013, 10:11
Если я правильно понимаю. то наверное должно быть так

ab = ac->Catalogs->Пользователи

Добавлено через 8 минут
А через конструктор NewObject нельзя создать менеджер
0
 Аватар для duk337
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 она как бы делает действие непосредственно с этим объектом.
Вот так я смог получить своё имя (после успешного выполнения стал самым счастливым человеком на свете на несколько секунд)
C++
1
2
3
QAxObject * ab = ac->querySubObject("InfoBaseUsers");
    QAxObject * ad = ab->querySubObject("CurrentUser()");
    qDebug() << ad->dynamicCall("Name");
Теперь пара вопросов -
1. Через InfoBaseUsers я вижу всех пользователей, которые в 1с имеют некие права?!
2. Справочники.Пользователи и InfoBaseUsers это одно и то же?! (просто проблемы с кодировкой, не знаю почему не могу в коннектор русский текст отдавать, и не могу использовать русские запросы к 1С)

Добавлено через 6 минут
Хочу получить всех пользователей, т.е. нужно перебрать массив GetUsers?!
C++
1
2
3
4
5
QAxObject * ab = ac->querySubObject("InfoBaseUsers");
    QAxObject * ad = ab->querySubObject("GetUsers()");
    while (ad->dynamicCall("Next").toBool()) {
        qDebug() << ad->dynamicCall("Name") << "\n";
    }
Не получается, т.к. нет метода Next, а как же тогда перебрать всех пользователей?

Добавлено через 2 часа 55 минут
Нашёл способ как обойти весь массив (опять стал на несколько секунд самым счастливым человеком)
Код для будущих извращенцев, чтобы гугл отобразил в поиске

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    QAxObject * ab = ac->querySubObject("InfoBaseUsers");
    QAxObject * ad = ab->querySubObject("GetUsers()");
    int vsego = ad->dynamicCall("Count()").toInt();
    int i = 0;
    while (i < vsego) {
        QString str1, str2, str3, str4;
        str1 = "Get(";
        str2 = QString::number(i);
        str3 = ")";
        QString * str = new QString(str1+str2+str3);
        QByteArray qba = str->toLatin1();
        char * mass = qba.data();
        QAxObject * ae = ad->querySubObject(mass);
        qDebug() << ae->dynamicCall("Name").toString() << "\n";
        *str = "";
        i++;
    }
Чистота кода неважная, потом, после реализации буду причесывать всё.
Но вопросы из прошлого сообщения остаются актуальными!
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
29.07.2013, 09:38
Цитата Сообщение от _KUL Посмотреть сообщение
1. Через InfoBaseUsers я вижу всех пользователей, которые в 1с имеют некие права?!
2. Справочники.Пользователи и InfoBaseUsers это одно и то же?! (просто проблемы с кодировкой, не знаю почему не могу в коннектор русский текст отдавать, и не могу использовать русские запросы к 1С)
1. Да
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 спасибо большое за наводку!

Такой ещё небольшой вопрос, а как можно мониторить выгрузку/загрузку данны?
Например если зайти в Сервис - Распределенная информационная база (РИБ) - Настроить узлы РИБ
То откроется окно, тут есть план с обменом, у него есть статус Выгрузка - такое то число, Загрузка - такое то число
Как можно обратиться к этому элементу и получить дату выгрузки и загрузки и значение "с ошибками" или "успешно" ?


На хабре наткнулся на одну интересную штуку
Важно следующее: имена реквизитов, а так же параметры функций и методов должны передаваться в кодировке cp1251. Поэтому, чтобы заранее избежать путиницы с кодировками, имеет смысл объявить ее в начале файла: #coding=cp1251. После этого можно передавать строки, не волнуясь об их кодировке. Но! Все строки, полученные из 1С (результаты вызова функций, запросов), будут в кодировке UTF-8.
Поэтому я и не могу нормально обратиться к элементам русским, но нормально получаю русский текст результата ...
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
30.07.2013, 09:30
Практически все встроенные функции и свойства имеют англоязычный вариант синтаксиса. (кроме созданых таблиц и реквизитов на русском языке)

Добавлено через 10 минут
Цитата Сообщение от _KUL Посмотреть сообщение
Такой ещё небольшой вопрос, а как можно мониторить выгрузку/загрузку данны?
Например если зайти в Сервис - Распределенная информационная база (РИБ) - Настроить узлы РИБ
То откроется окно, тут есть план с обменом, у него есть статус Выгрузка - такое то число, Загрузка - такое то число
Как можно обратиться к этому элементу и получить дату выгрузки и загрузки и значение "с ошибками" или "успешно" ?
Тебе нужно получить менеджер планов обмена. что бы найти в нем нужный узел плана обмена.
Потом построить запрос к регистру сведений (скорее всего ИсторияОбменаДанными)
0
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
01.08.2013, 10:12  [ТС]
Спасибо. Логику работы 1С вроде мало-мальски понял, но беда из-за непонимания русского текста не даёт в полной мере обращаться к элементам конфигурации ... Буду думать Qt определение вывода ошибок в определенной кодировке (для русского текста)

Добавлено через 23 часа 50 минут
Господа 1Сники, помогите узнать, в какой кодировке запросы через COM уходят, может можно это как-то в самой 1С посмотреть?
Вот у меня в Qt есть такие кодировки:
C++ (Qt)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
"UTF-8", 
"ISO-8859-1", 
"latin1", 
"CP819", 
"IBM819", 
"iso-ir-100", 
"csISOLatin1", 
"ISO-8859-15", 
"latin9", 
"UTF-32LE", 
"UTF-32BE", 
"UTF-32", 
"UTF-16LE", 
"UTF-16BE", 
"UTF-16", 
"System", 
"roman8", 
"hp-roman8", 
"csHPRoman8", 
"TIS-620", 
"ISO 8859-11", 
"WINSAMI2", 
"WS2", 
"Apple Roman", 
"macintosh", 
"MacRoman", 
"windows-1258", 
"CP1258", 
"windows-1257", 
"CP1257", 
"windows-1256", 
"CP1256", 
"windows-1255",
 "CP1255", 
 "windows-1254", 
 "CP1254", 
 "windows-1253", 
 "CP1253", 
 "windows-1252", 
 "CP1252", 
 "windows-1251", 
 "CP1251", 
 "windows-1250", 
 "CP1250", 
 "IBM866", 
 "CP866",
"csIBM866", 
"IBM874", 
"CP874", 
"IBM850", 
"CP850", 
"csPC850Multilingual", 
"ISO-8859-16", 
"iso-ir-226", 
"latin10", 
"ISO-8859-14", 
"iso-ir-199", 
"latin8", 
"iso-celtic", 
"ISO-8859-13", 
"ISO-8859-10", 
"iso-ir-157", 
"latin6", 
"ISO-8859-10:1992",
"csISOLatin6", 
"ISO-8859-9", 
"iso-ir-148", 
"latin5", 
"csISOLatin5", 
"ISO-8859-8", 
"ISO 8859-8-I", 
"iso-ir-138", 
"hebrew", 
"csISOLatinHebrew", 
"ISO-8859-7", 
"ECMA-118", 
"greek", 
"iso-ir-126", 
"csISOLatinGreek", 
"ISO-8859-6", 
"ISO-8859-6-I",
"ECMA-114", 
"ASMO-708", 
"arabic", 
"iso-ir-127", 
"csISOLatinArabic", 
"ISO-8859-5", 
"cyrillic", 
"iso-ir-144", 
"csISOLatinCyrillic", 
"ISO-8859-4", 
"latin4", 
"iso-ir-110", 
"csISOLatin4", 
"ISO-8859-3", 
"latin3", 
"iso-ir-109", 
"csISOLatin3", 
"ISO-8859-2", 
"latin2", 
"iso-ir-101", 
"csISOLatin2", 
"KOI8-U", 
"KOI8-RU", 
"KOI8-R",
"csKOI8R", 
"Iscii-Mlm", 
"Iscii-Knd", 
"Iscii-Tlg", 
"Iscii-Tml", 
"Iscii-Ori", 
"Iscii-Gjr", 
"Iscii-Pnj", 
"Iscii-Bng", 
"Iscii-Dev", 
"TSCII", 
"GB18030", 
"GBK", 
"GB2312", 
"CP936", 
"MS936", 
"windows-936", 
"EUC-JP", 
"ISO-2022-JP", 
"Shift_JIS", 
"JIS7", 
"SJIS", 
"MS_Kanji", 
"EUC-KR", 
"cp949", 
"Big5", 
"Big5-HKSCS", 
"Big5-ETen", 
"CP950"
Может быть посоветуете с чего начать пробовать подбор?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
01.08.2013, 11:14
Должен в CP1251
0
3 / 3 / 0
Регистрация: 14.05.2013
Сообщений: 29
02.08.2013, 14:48  [ТС]
Уже и исходники в cp1251 делал и на русском писал, и исходники utf-8 делал и локалями через стринг перегонял, и исходники utf-8 и чистый текст, один фиг ... Даже идея была, что последнего символа '\n' нехватает, добавлял, не помогло. Банально иссякли идеи ...
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
02.08.2013, 15:04
Ты уверен что в кодировке проблема?
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) Может вы работаете под каким-то ограниченным пользователем? И нет доступа к определенному виду кодировки (но это бред конечно, а вдруг)

Еще немножко букав:

1C
1
2
"ну приведи QString к Сишной строке через toLocal8bit, Суть-то не в этом. Суть в том, что на винде никто не ждёт символов в UTF-8, а исходник у тебя в UTF-8.
И нужно преобразовать из UTF-8 в CP-1251, самый простой путь - преобразовать UTF-8 в QString (UTF-16), а QString уже к чему угодно."
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 делал, те же самые беды ... И кодировал функцией
C++
1
2
3
4
QByteArray toCp1251(QString data)
{
   return QTextCodec::codecForName("windows-1251")->fromUnicode(data);
}
Не помогло ...
0
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
05.08.2013, 10:15
Цитата Сообщение от SonicQ Посмотреть сообщение
1) Попробуй создать V82.Application из другой программы, да хоть при помощи самой 1С.
имеется ввиду создать подключение с использованием COMConnector из другой проги, например delphi, можно из той же 1С, например к другой базе или к ворду с екселем...

Добавлено через 11 минут
Делал вот так?

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
Просто укажи кодировку исходников. (у меня Windows-1251).
Код:
 
int main(int argc, char *argv[])
{
    ...
    QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
    ...
}
...
  return tr("Процент");
...
Добавлено через 1 минуту
Цитата Сообщение от _KUL Посмотреть сообщение
Не помогло ...
людям помогало:

"Более поясню ты скорее всего пишешь под виндой а значит кодировка файла win1251 а Qt работает с Utf-8 поэтому у тебя и получаются каракули, у тебя есть два варианта либо использовать QTextCodec и каждое русское слово в коде перегонять в Utf-8 либо использовать локализацию ,а то бишь писать всё на английском и все слова в коде помещать в tr(), а потом при помощи QtLinguist переводить на любой угодный тебе язык, от себя добавлю второй вариант более приемлем. "

Добавлено через 1 минуту
Сколько же всего в инете... поищи хорошенько

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <QtGui/QApplication>
#include <QTextCodec> // подключение класса кодека текста
#include "mainwindow.h"
int main(int argc, char *argv[])
{
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); //изменения
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); //изменения
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); //изменения
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    
    return a.exec();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.08.2013, 10:15
Помогаю со студенческими работами здесь

COMConnector к УТ11
Привет. хочу законектится к УТ 11(8.3 sql) из УТ 10.3(8.2) через &quot;V83.COMConnector&quot;, но приложение просто вылетает, однако через...

1C 8.3 COMConnector Исключение при подключении [C#]
Доброго времени суток. Надеюсь по адресу обращаюсь. Не могу никак заставить работать программу. На форме 1 кнопка. Текст клика: ...

Comcntr.dll, V83.COMConnector
Здравствуйте, не подскажете где можно взять документацию по comcntr.dll? Или подскажите по ошибке. Платформа 8.3.11. Ошибка на строке 12 -...

Нарушение Прав Доступа! Comconnector
Имеется чистая файловая конфигурация УТ 8.3.5.1098. Подключаюсь с помощью COM объекта, успешно создаю и провожу &quot;ЗаказКлиента&quot;....

Подключение к серверной базе 1С используя ComConnector
Добрый день. Имеется на корпоративном сервере база 1С, на компьютере 1С - нет. Необходимо написать программу, которая будет подключаться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru