Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| product:linq:new [13.09.2023 07:30] – [Пример вызова LINQ-запроса в Python] Белугин Александр | 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, используя ключ источника ('' | После авторизации отправляется запрос непосредственно к Linq, используя ключ источника ('' | ||
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| DataSourceKey: | DataSourceKey: | ||
| Строка 159: | Строка 185: | ||
| или Id LINQ-запроса ('' | или Id LINQ-запроса ('' | ||
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| DataSourceId: | DataSourceId: | ||
| Строка 170: | Строка 196: | ||
| Обращение к данным системы с текстом LINQ-запроса ('' | Обращение к данным системы с текстом LINQ-запроса ('' | ||
| <code php> | <code php> | ||
| - | POST http:// | + | POST http:// |
| { | { | ||
| Text: 'var a = (long)parameters[" | Text: 'var a = (long)parameters[" | ||
| Строка 220: | Строка 246: | ||
| <code python> | <code python> | ||
| + | |||
| import requests | import requests | ||
| Строка 225: | Строка 252: | ||
| LOGIN = ' | LOGIN = ' | ||
| PASSWORD = ' | PASSWORD = ' | ||
| - | DOMAIN | + | # используйте либо логин-пароль, |
| + | # TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' | ||
| + | |||
| + | # при необходимости, | ||
| + | # после адреса домена может быть указан еще и каталог размещения системы на домене (например, | ||
| + | DOMAIN = ' | ||
| session = requests.Session() | session = requests.Session() | ||
| Строка 231: | Строка 263: | ||
| # авторизация | # авторизация | ||
| response = session.post( | response = session.post( | ||
| - | url=DOMAIN+'/ | + | url = DOMAIN + '/ |
| - | json={ | + | json = { |
| ' | ' | ||
| ' | ' | ||
| }, | }, | ||
| ) | ) | ||
| + | |||
| + | # либо авторизуйтесь, | ||
| + | # response = session.post( | ||
| + | # url = DOMAIN + '/ | ||
| + | # json = { | ||
| + | # ' | ||
| + | # }, | ||
| + | # ) | ||
| # сохранение полученных после авторизации cookies для последующих запросов | # сохранение полученных после авторизации cookies для последующих запросов | ||
| Строка 249: | Строка 289: | ||
| # получение данных из LINQ-запроса | # получение данных из LINQ-запроса | ||
| response = session.post( | response = session.post( | ||
| - | url=DOMAIN+'/ | + | url = DOMAIN + '/ |
| - | cookies=cookies, | + | cookies = cookies, |
| - | json=LINQ, | + | json = LINQ, |
| ) | ) | ||