Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| product:linq:new [13.09.2023 07:24] – [WebAPI] Белугин Александр | product:linq:new [01.11.2025 06:43] (текущий) – [Пересоздание контекста] ekaterina.menkhuzina | ||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| Первый шаг -- **пересоздать контекст**. | Первый шаг -- **пересоздать контекст**. | ||
| - | Операция должна выполняется для обновления внутреннего словаря объектов и их свойств, для использования в запросах изменений в настройках объектной модели системы. В противном случае новые объекты, | + | Данная операция должна выполняться для обновления внутреннего словаря объектов и их свойств |
| Если контекст еще никогда не создавался, | Если контекст еще никогда не создавался, | ||
| Строка 9: | Строка 9: | ||
| По окончании перестроения, | По окончании перестроения, | ||
| + | В колонке «Есть ошибки» отображается для ранее не содержавших ошибки запросов индикатор процесса компиляции. | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | Запускается компиляция по одному всех запросов, | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| Далее вы можете создать новые запросы и/или импортировать уже существующие. | Далее вы можете создать новые запросы и/или импортировать уже существующие. | ||
| - | <image shape=" | + | <image shape=" |
| ==== Создание нового запроса ==== | ==== Создание нового запроса ==== | ||
| Строка 60: | Строка 68: | ||
| * Documents - документы с их реквизитами и версиями; | * Documents - документы с их реквизитами и версиями; | ||
| * ProjectMembers - участники приглашенные в объекты. | * ProjectMembers - участники приглашенные в объекты. | ||
| + | |||
| + | <callout type=" | ||
| Для действий с реквизитами, | Для действий с реквизитами, | ||
| Строка 119: | Строка 129: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| + | |||
| + | Готовый пример, | ||
| + | <code csharp> | ||
| + | var objectID = parameters.GetValueOrDefault< | ||
| + | |||
| + | var strParam = parameters.GetValueOrDefault< | ||
| + | |||
| + | var projectID = parameters.GetValueOrDefault< | ||
| + | | ||
| + | var dStart = parameters.GetValueOrDefault< | ||
| + | </ | ||
| + | |||
| + | Также можно посмотреть, | ||
| + | <code csharp> | ||
| + | var paramsAsString = string.Join(", | ||
| + | </ | ||
| =====WebAPI===== | =====WebAPI===== | ||
| Получение Linq-запросов может выполняться от имени любого пользователя с учетом его прав. Нужно использовать CookieContainer для сохранения cookies и уже с ним делать последующие запросы к API. | Получение Linq-запросов может выполняться от имени любого пользователя с учетом его прав. Нужно использовать CookieContainer для сохранения cookies и уже с ним делать последующие запросы к API. | ||
| Строка 127: | Строка 153: | ||
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| Строка 138: | Строка 164: | ||
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| Строка 145: | Строка 171: | ||
| </ | </ | ||
| - | <callout type=" | + | <callout type=" |
| - | После авторизации отправляется запрос непосредственно к Linq, используя ключ источника (DataSourceKey) \\ | + | |
| + | После авторизации отправляется запрос непосредственно к Linq, используя ключ источника ('' | ||
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| DataSourceKey: | DataSourceKey: | ||
| Строка 156: | Строка 183: | ||
| } | } | ||
| </ | </ | ||
| - | или Id LINQ-запроса (DataSourceId) | + | или Id LINQ-запроса ('' |
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| DataSourceId: | DataSourceId: | ||
| Строка 167: | Строка 194: | ||
| <callout type=" | <callout type=" | ||
| - | Обращение к данным системы с текстом LINQ-запроса непосредственно в вызове метода | + | Обращение к данным системы с текстом LINQ-запроса |
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| Text: 'var a = (long)parameters[" | Text: 'var a = (long)parameters[" | ||
| Строка 219: | Строка 246: | ||
| <code python> | <code python> | ||
| + | |||
| import requests | import requests | ||
| Строка 224: | Строка 252: | ||
| LOGIN = ' | LOGIN = ' | ||
| PASSWORD = ' | PASSWORD = ' | ||
| - | DOMAIN | + | # используйте либо логин-пароль, |
| + | # TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' | ||
| + | |||
| + | # при необходимости, | ||
| + | # после адреса домена может быть указан еще и каталог размещения системы на домене (например, | ||
| + | DOMAIN = ' | ||
| session = requests.Session() | session = requests.Session() | ||
| # авторизация | # авторизация | ||
| - | response = session.post(url=DOMAIN+'/ | + | response = session.post( |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | ) | ||
| - | # сохранение полученных после авторизации cookies | + | # либо авторизуйтесь, |
| + | # response = session.post( | ||
| + | # url = DOMAIN + '/ | ||
| + | # json = { | ||
| + | # ' | ||
| + | # }, | ||
| + | # ) | ||
| + | |||
| + | # сохранение полученных после авторизации cookies | ||
| cookies = session.cookies.get_dict() | cookies = session.cookies.get_dict() | ||
| Строка 237: | Строка 284: | ||
| LINQ = { | LINQ = { | ||
| ' | ' | ||
| + | ' | ||
| } | } | ||
| # получение данных из LINQ-запроса | # получение данных из LINQ-запроса | ||
| - | response = session.post(url=DOMAIN+'/ | + | response = session.post( |
| + | | ||
| + | | ||
| + | | ||
| + | ) | ||
| data = response.json() | data = response.json() | ||