Интеграция между Atlassian Jira и 1С:Предприятие 8.3 используя Jira REST API (выборка, создание и изменение запросов, чтение, создание и удаление записей о работах, чтение комментариев и другие возможности)

Публикация № 821900 24.04.18

Интеграция и обмен данными - Внешние источники данных

Обработка Atlassian Jira Управляемые формы Обмен Интеграция REST JSON

Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции с Atlassian Jira используя Jira REST API. Ключевые функции: выборка запросов с использованием JQL; добавление и изменение запросов; добавление, изменение и удаление записей о работах; чтение комментариев к запросам; сохранение всех ключевых параметров между сеансами работы. Тестирование проводилось на платформе 1С (8.3.11.2954) совместно с JIRA Server platform (7.3.7)

Функции

Ключевые функции

  1. Получение для проекта Jira всех типов запросов (issue type)  и связанных с ними статусов (status) запросов.
  2. Выборка измененных запросов из Jira с отбором по проекту, периоду, с ограничением на кол-во отбираемых записей и используя шаблон JQL запроса.
  3. Получение списка пользователей Jira исходя из полей запроса (assignee, reporter, creator), полей worklog-а (autor, update autor) и полей комментариев (autor, update autor) и отображение имени пользователя и представления пользователя при выборе пользователя при редактировании полей запроса и полей записи о работе.
  4. Чтение и запись ключевых полей запроса (issue) Jira: Наименование (summary), Описание (description), Тип запроса (issue type), Родитель подзадачи (parent), Ссылка на epic (epic link), Приоритет (priority), Исполнитель (assignee), Автор (reporter), Создатель (creator), Срок исполнения (due date), Дата создания (created), Дата обновления (updated), Компоненты проекта Jira (components), Метки (labels), Первоначальная оценка (original estimate), Оставшееся время (remaining estimate), Всего затраты (time spent).
  5. Чтение и установка нового статуса запроса (status). Получение допустимых транзакции (transitions) Jira для перехода к новому статусу и осуществление перехода используя подходящую транзакцию.
  6. Чтение записей о работах (worklog) для запроса Jira. Добавление, Изменение и Удаление записей о работе.
  7. Чтение комментариев к запросу Jira. Формирование ссылки для перехода в Jira непосредственно к выбранному комментарию.

Дополнительные возможности

  1. В случае ошибки в момент выполнения http запроса к Jira, программа выдает диагностическое сообщение с кодом состояния и открывает для просмотра в виде текста файл с ответом от Jira.
  2. Программа отдельно контролирует список изменившихся полей запроса и при записи запроса передает в  Jira только изменения.
  3. Основные значения сохраняются между сеансами работы с обработкой (параметры подключения к Jira, типы и статусы запросов, настройки отбора выборки запросов, список пользователей, последние выбранные значения полей запроса).
  4. Реквизиты и элементы формы для сохраняемых полей создаются программно.

Источники и ссылки

  1. Спецификация по работе с JIRA с использованием REST: http://docs.atlassian.com/jira/REST/latest/
  2. Спецификация REST API для JIRA SERVER: https://docs.atlassian.com/jira/REST/server/
  3. Примеры REST запросов к JIRA: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/
  4. Продвинутый поиск в Jira используя Jira Query Language (JQL): https://confluence.atlassian.com/jirasoftwareserver073/advanced-searching-861256227.html
  5. Онлайн просмотр .json: jsonviewer.stack.hu

Особенности и ограничения

  1. Данная обработка предназначена для работы с серверной версией Jira.
  2. Для подключения к Jira используется обычная проверка подлинности (Basic authentication).
  3. При изменении статуса запроса (status) выполняется дополнительный запрос для определения подходящей транзакций перехода от текущего к выбранному статусу. В определенных случаях (например для "подзадачи") переход к выбранному статусу может оказаться невозможным. В таком случае программа выдаст диагностическое сообщение "Не удалось определить ""ID транзакции"" для статуса ...".
  4. При создании в Jira записи о работах (work log) в качестве автора запись всегда устанавливается пользователи под которым выполнено подключение к Jira (указать другого автора нельзя).
  5. При определенных настройках Jira, в момент перехода к новому статусу, также может изменится исполнитель (assignee) на пользователя от имени которого выполнено подключение к Jira.
  6. Используя REST невозможно изменить тип запроса "подзадача" на другой тип запроса. При попытке выполнить такое изменение Jira вернет код ошибки и описание ошибки в файле с ответом.
  7. Для комментариев к запросу реализовано только чтения списка комментариев и непосредственный переход к комментарию в браузере. Создание, изменение и удаление комментариев не поддерживается (при необходимости может быть легко реализовано по аналогии как это сделано для  записей о работах (worklog).

Варианты использования

Короткий ролик с демонстрацией основных возможностей обработки (~ 7 мин, только текстовые комментарии, без голосового сопровождения)

Подключение к серверу Jira

На закладке "Параметры" указываются параметры для подключения к Jira:

  1. Адрес сервера для подключения.
  2. Ссылка по которой доступен REST API.
  3. Ключ проекта Jira который будет использоваться.
  4. Пользователь и пароль для подключения к Jira. Подключение к Jira выполняется используя простой (незащищённый) способ аутентификации (подробнее по ссылке: Basic authentication).
 
Снимок экрана: Параметры подключения к Jira

Получение Типов и статусов запросов для проекта Jira

  1. На закладке "Параметры" по кнопке "Заполнить типы и статусы из Jira" выполняется запрос к Jira, который возвращает .json файл с информацией о типах и статусах запросов используемых для указанного проекта. (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/project-getAllStatuses)
  2. Данные из таблицы используются в дальнейшем для заполнения списков выбора полей "Типа запроса" и "Статус запроса" в карточке запроса на закладке "Запрос". 
  3. Информация из таблицы используется для определения "подзадач" и "id" типа запроса. Эти данные требуется для обращения к Jira при редактирования и создания запросов.
  4. Список типов и статусов автоматически сохраняется между сеансами работы в данных формы.
 
 Снимок экрана: Типы и статусы запросов в Jira

Выборка запросов используя JQL запрос к Jira

  1. На закладке "Выборка запросов" по команде "Прочитать из Jira" выполняется запрос к Jira по результатам которого заполняется список запросов (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/search-searchUsingSearchRequest)
  2. Запросы из Jira отбираются согласно JQL запроса.
  3. Итоговый JQL запрос формируется путем подстановки параметров в строку "Шаблон запрос JQL для выборки данных".
  4. Данные выбираются в количестве не более "Всего выбрать" заданными порциями.
  5. Из списка запросов по ссылке "Browse link" можно перейти к запросу в браузере.
  6. Из списка запросов по кнопкам "Добавить", "Изменить" можно перейти к созданию или редактированию запроса. При этом будет активирована закладка "Запрос" (в случае операции "Изменить" будет выполнено обращение к Jira и заполнены все предусмотренные для редактирования поля, а также получены все комментарии и записи о работах для выбранного запроса).
 
 Снимок экрана: Выборка запросов из Jira

Список пользователей Jira для выбора

  1. Список на закладке "Пользователи" является основой для содержимого списков выбора при выборе участников запроса.
  2. Пользователи в список добавляются автоматически при "Выборке запросов" или при чтения данных конкретного запроса (с учетом записей о работах и комментариев).
  3. При необходимости пользователей в список можно добавить "вручную".
  4. Список пользователей автоматически сохраняется между сеансами работы в данных формы.
 
 Снимок экрана: Список пользователей Jira

Чтение запроса из Jira

  1. На закладке "Запрос" выполняются основные операции по просмотру и редактированию полей запроса.
  2. Если выбрана операция "Изменить запрос" и заполнен "Ключ запроса" (Key) доступна команда "Прочитать из Jira".
  3. При нажатии "Прочитать из Jira" выполняется запрос к Jira и заполняются поля запроса, записи о работах и комментарии.
  4. Если заполнен "Ключ запроса" тогда отображается "ссылка для перехода к запросу в браузере".
  5. По ссылке "JSON" выполняется переход в браузере к файлу .json с данными запроса.
  6. Для чтения значений полей выполняется запрос к Jira (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getIssue).
  7. В случае успешной операции чтения из Jira, все поля запроса отмечаются как "не изменявшиеся".
  8. Значения полей, количество записей о работах и количество комментариев (кроме самих записей о работах и комментариев) сохраняются между сеансами работы в данных формы.
 
 Снимок экрана: Чтение запроса из Jira

Изменение полей запроса и запись в Jira

  1. Программа отдельно хранит все предыдущие значения полей запроса.
  2. Каждый раз при чтении запроса из Jira текущие и предыдущие значения полей синхронизируются.
  3. При изменение какого-либо из полей запроса, сравнивается новое значение и предыдущее.
  4. Если новое значение отличается от предыдущего, поле отмечается как "измененное" и выделяется на форме с помощью фона и цвета текста заголовка.
  5. При записи в Jira передаются только измененные поля (для которых новое значение отличается от предыдущего).
  6. Для записи выполняется запрос к Jira (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-editIssue)
  7. Предыдущие значения реквизитов сохраняются между сеансами работы в данных формы.
  8. Для "обнуления" измененных реквизитов можно либо "Прочитать из Jira" или "Записать в Jira" (после успешной записи автоматически выполняется "Прочитать из Jira".
 
 Снимок экрана: Изменение полей запроса

Создание нового запроса в Jira

  1. Для создания нового запроса на закладке "Запрос" необходимо выбрать операцию "Создать запрос".
  2. Пока запрос не создан, недоступны ссылки для перехода к запросу, комментариям и списку записей о работах.
  3. Для создания запроса выполняется запрос к Jira (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-createIssue)
  4. После создания запроса в Jira, автоматически выполняется чтение запроса и активация операции "Изменить запрос".
 
 Снимок экрана: Создание нового запроса

Изменение статуса запроса в Jira

  1. Если изменяется статус запроса, программа показывает информационную надпись вида "При записи статус изменится с "В работе" -> "Выполнен".
  2. Изменение статуса происходит при нажатии "Записать в Jira".
  3. Сначала выполняется запрос по записи измененных полей запроса, а затем изменяется статус запроса.
  4. Изменение статуса запроса происходит в несколько этапов:
    1. Сначала выполняется дополнительный запрос для получения списка всех допустимых транзакция для текущего запроса (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getTransitions)
    2. Из списка допустимых транзакция определяется подходящая транзакция, для которой конечный статус равен выбранному в запросе.
    3. Выполняется отдельный запрос для выполнения транзакции перехода (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-doTransition)
  5. После изменения статуса запроса, автоматически выполняется чтение запроса из Jira.
 
 Снимок экрана: Изменение статуса запроса

Чтение, Добавление и Удаление записей о работах в Jira

  1. В карточке запроса на закладке "Записи о работах" отображается список записей о работах запроса.
  2. По кнопке "Прочитать work log" выполняется запрос к Jira и заполняется список записей о работах для запроса (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getIssueWorklog).
  3. По кнопке "Добавить" появляется форма для создания новой записи о работе. По кнопке "Сохранить запись" выполняется запрос к Jira для добавления новой записи о работе (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-addWorklog).
  4. По кнопке "Изменить" появляется форма для редактирования выбранной записи о работе. По кнопке "Записать изменения" выполняется запрос к Jira для обновления данных существующей записи о работе (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-updateWorklog).
  5. По кнопке "Удалить запись" выполняется запрос к Jira для удаления записи о работах (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-deleteWorklog)
 
 Снимок экрана: Список "Записи о работах"

 
Снимок экрана: Добавление записи о работе
 
Снимок экрана: Изменить запись о работе
 
Снимок экрана: Удалить запись о работе

Чтение комментариев и переход по ссылке к конкретному комментарию в Jira 

  1. В карточке запроса на закладке "Комментарии" отображается список всех комментариев для запроса.
  2. По кнопке "Прочитать комментарии" выполняется запрос к Jira и заполняется список комментариев для запроса (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getComments).
  3. По ссылке "Ссылка на комментарий" можно непосредственно перейти к комментарию в Jira.
 
 Снимок экрана: Список комментариев 

Скачать файлы

Наименование Файл Версия Размер
Jira и 1C обмен через REST 1C 8.3

.epf 58,22Kb
349
.epf 1.0.2 58,22Kb 349 Скачать

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 269 24.04.18 10:06 Сейчас в теме
Вы используете Jira как веб-морду, общедоступную для всех ?
А 1С как учетную систему для расчета зарплаты и прочих расчетов ?
2. Ko1t 329 24.04.18 13:27 Сейчас в теме
(1) Да, именно так.
Jira + Confluence - снаружи для клиентов и внешних подрядчиков.
1С - внутри, для аналитики, документооборота, расчетов и учета.
unduty; cleaner_it; nordcomp; +3 Ответить
4. o.nikolaev 208 25.04.18 09:53 Сейчас в теме
Отлично просто. Сам собирался, но, руки так и не дошли.
5. Ko1t 329 25.04.18 09:58 Сейчас в теме
(4) пользуйтесь, "на здоровье" )
evorobeva; nordcomp; Mi4man; TreeDogNight; +4 Ответить
104. VID1234 98 21.10.22 12:36 Сейчас в теме
(5)Здравствуйте. Подскажите, так можно ли данной обработкой создавать задачу. У меня есть задача которая создается сотрудником при уходе в отпуск, эта задача создает еще кучу подзадач. Так могу ли я по событию, например при создании и проведении в зуп документа отпуск, автоматически через эту обработку создать задачу? Меня интересует именно часть кода, которая взаимодействует с jira!
6. TreeDogNight 21 25.04.18 10:28 Сейчас в теме
Спасибо за отличную разработку, очень нуждался в таком инструменте!
При попытке изменить задачу выходит следующая ошибка:

Ссылка на полноразмерный скриншот

В чем может быть проблема?
7. Ko1t 329 25.04.18 10:34 Сейчас в теме
(6) Возможно вы не заполнили на закладке "Параметры" таблицу "Типы и статусы запросов". Если причина не в этом, готов к вам подключится по teamviewer и удаленно разобраться с проблемой. Напишите мне в личку... я буду на связи ~ после 15.00
nordcomp; TreeDogNight; +2 Ответить
8. TreeDogNight 21 25.04.18 10:46 Сейчас в теме
(7) "Типы и статусы запросов" я заполнил, нужно что-нибудь в ней менять вручную?

Ссылка на полноразмерный скриншот
9. Ko1t 329 25.04.18 17:35 Сейчас в теме
(8) При моих настройках 1С и Jira ошибку не удается воспроизвести... но я попробовал предположить в чём может быть проблема в вашем случае. детали на картинке:
https://ibb.co/bXo2eH
nordcomp; +1 Ответить
12. nordcomp 27.04.18 17:23 Сейчас в теме
Жаль что только управляемые формы. Обработка конечно очень хороша. Все действия пишет. Все ошибки четко выводит. Но вот код читать немного трудно без многих комментов.
Если не полениться то можно подстроить под любую систему. Жаль нельзя добавить +10
13. Ko1t 329 27.04.18 18:11 Сейчас в теме
(12) Спасибо за оценку :). Про комментарии кода - согласен... по хорошему надо было бы... но уже и так все свои временные лимиты израсходовал на обработку + публикацию :). Потому как в пришлось все свои наработки по интеграции достать из рабочей конфигурации и много чего написать нового и переписать по другому под формат внешней обработки.
14. user992401 07.06.18 15:57 Сейчас в теме
Спасибо за отличную разработку
15. Ko1t 329 07.06.18 21:43 Сейчас в теме
(14) пожалуйста, рад что понравилось :)
16. wowan ht 5 26.06.18 11:39 Сейчас в теме
Добрый день. Jira Server развернут в демо-версии на локальной машине, созданы 2 пользователя: админ и обычный пользователь
Из обработки не могу подключиться, выдает ошибку аутентификации 401.
Подскажите, пожалуйста, в чем может быть дело.
Спасибо.
Прикрепленные файлы:
17. Ko1t 329 26.06.18 14:42 Сейчас в теме
(16) Добрый день. Что вижу на картинке, и с чем приходилось иногда сталкиваться... Jira иногда не работает корректно с кириллическими именами пользователей. Попробуйте создать пользователей, указав имя пользователя латиницей (на английском), Например не "Владимир", а "wowan_ht"
18. wowan ht 5 26.06.18 15:34 Сейчас в теме
(17) Спасибо большое, все получилось
19. Ko1t 329 26.06.18 23:27 Сейчас в теме
(18) Пожалуйста, рад что смог помочь )
20. user1024781 31.07.18 18:35 Сейчас в теме
Добрый вечер. При попытке заполнить таблицу типов и статусов из Jira, выдается сообщение: Неудача. Код состояния: 404. Данные не получены. Подскажите пожалуйста, где искать ошибку.
21. Ko1t 329 31.07.18 22:18 Сейчас в теме
(20) Добрый день, сложно сказать не имея подробной информации.
Попробую предположить исходя из того что в этот момент происходит.

В момент получения статусов выполняется REST запрос:
GET /rest/api/2/project/{projectIdOrKey}/statuses 


подробнее по ссылке (ссылка есть в описании к обработке): https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/project-getAllStatuses)

Вы можете просто в браузере выполнить запрос как показано на картинке:
https://ibb.co/gEUrgK
Если запрос написан правильно, в ответ вы получите информацию в формате json.

В вашем случае скорее всего ошибка может быть в написании ключа проекта.
22. пользователь 02.08.18 17:21
Сообщение было скрыто модератором.
...
23. пользователь 02.08.18 17:28
Сообщение было скрыто модератором.
...
24. user1024781 02.08.18 17:35 Сейчас в теме
(21) Добрый день. Спасибо за ответ. Попробовал выполнить запрос через браузер. Но выдало вот что:
<status>
<status-code>404</status-code>
<message>
null for uri: https://jira.affect.ru/......................../statuses
</message>
</status>
Пробовал с разными ключами. Всегда одно и тоже.
25. Ko1t 329 02.08.18 20:06 Сейчас в теме
(24) Добрый день. Данная обработка предназначена для серверной версии Jira. При этом, на сколько я знаю, если речь идет об облачной версии, могут быть нюансы в написании отдельных запросов через REST.

Я посмотрел какой должен быть запрос для облачной версии Jira (см. ссылку)
https://developer.atlassian.com/cloud/jira/platform/rest/#api-api-2-project-projectIdOrKey-statuses-get
GET /rest/api/2/project/{projectIdOrKey}/statuses

- запрос такой же как и для серверной версии.

Возможно проблема в настройках прав пользователя под которым вы выполняете этот запрос:
Permissions required: Browse Projects project permission.


Просто если у вас не работает запрос через браузер, сл-но он не работает и через обработку.
26. user1024781 08.08.18 19:14 Сейчас в теме
(25) Добрый вечер. Синхронизацию запустить получилось. Данные получены. Но столкнулся с еще одной проблемой: не могу создать новую задачу в обработке. Ошибка Код состояния 400 {"errorMessages":[],"errors":{"reporter":"Field 'reporter' cannot be set. It is not on the appropriate screen, or unknown."}}. А при попытке изменить задачу выдается ошибка: Значение не является значением объектного типа (Количество).
27. Ko1t 329 09.08.18 12:11 Сейчас в теме
(26) Добрый день.
По Вопросу-1. "Не могу создать новую задачу... "reporter":"Field 'reporter' cannot be set"
Судя по ошибке при ваших настройках Jira, и с правами пользователя, под которым вы подключаетесь к Jira, нет возможности изменить поле "reporter".
Я проверил на "своей" Jira - у меня всё работает.

Ниже на картинке то как информация о "reporter" (автор) запроса отображается в моей Jira.
Попробуйте посмотреть как у вас:
1. Работает ли у вас выборка запросов (Закладка в обработке "Выборка запросов" - "Прочитать из Jira"/
2. Выводиться ли информация в поле "Reporter.name" (В списке выбранных запросов)
3. Откройте ссылку из колонки "Rest link" в браузере, и поищете поиском "reporter"

Если информация читается, но не записывается, причина с большой вероятность в ограниченных правах пользователя под которыми вы работаете c Jira через Rest.Проверьте что вы можете непосредственно в Jira под этим пользователем создать Запрос.
А затем попробуете при создании через обработку, указывать в качестве Автора (reporter), того же пользователя.

https://ibb.co/nFV41U

По Вопросу-2 приведите пжл. полное сообщение об ошибке, чтобы увидеть номер строки обработки в которой возникает ошибка
28. user1024781 09.08.18 22:04 Сейчас в теме
(27) По первому вопросу: выборка запросов работает, в поле "Reporter.name" отображается информация, а вот с ссылкой ситуация непонятна. Нажимаю на ссылку и мне предлагается сохранить файл формата json, после этого его можно посмотреть только через блокнот.
В Jira под пользователем могу создавать и изменять запросы. При создании через обработку с тем же автором приходит сообщение с ошибкой 400.
По второму вопросу: полное сообщение {ВнешняяОбработка.Jira_1C_Rest_Обмен_1С8_3.Форма.Форма.Форма(1897)}: Значение не является значением объектного типа (Количество)
Если fields_components.Количество() > 0 Тогда
29. Ko1t 329 10.08.18 20:03 Сейчас в теме
(28)
По первому вопросу: выборка запросов работает, в поле "Reporter.name" отображается информация, а вот с ссылкой ситуация непонятна. Нажимаю на ссылку и мне предлагается сохранить файл формата json, после этого его можно посмотреть только через блокнот.
В Jira под пользователем могу создавать и изменять запросы. При создании через обработку с тем же автором приходит сообщение с ошибкой 400.


Просмотр через блокнот или сразу в окне браузере не принципиально. Если это поле читается при выборке запросов, значит вопрос с его установкой из обработки.

Проблема может быть из-за имени пользователя в Jira введенного кириллицей. Такой вопрос уже подымался (смотрите комментарий №17). А как у в вашем случае?

По второму вопросу: полное сообщение {ВнешняяОбработка.Jira_1C_Rest_Обмен_1С8_3.Форма.Форма.Форма(1897)}: Значение не является значением объектного типа (Количество)
Если fields_components.Количество() > 0 Тогда


Судя по ошибке, скорее всего в вашем случае в проекте Jira не используются "Компоненты". Проверить это вы можете скачав файл json и проанализировав поля запроса.
В публикации в разделе "Источники и ссылки" в п.5 есть ссылка на онлайн просмотр Json файлов.
Вы можете закомментировать код обработки по чтению данных о компонентах в таком случае, чтобы избежать ошибки при работе обработки.
30. user1024781 14.08.18 12:05 Сейчас в теме
(29) Добрый день. Большое спасибо. По второму вопросу все получилось. Нужно было часть кода закомментировать, как вы и подсказывали. Но вот добавление пока не получается. Имя пользователя на английском.
31. Ko1t 329 15.08.18 23:13 Сейчас в теме
(30)
Имя пользователя на английском.

На всякий случай, чтобы наверняка, привожу картинку что я имею ввиду под именем пользователя.
И это имя должно быть без пробелов и латиницей:
https://ibb.co/fcWyAp

Если все-таки не работает, тогда опять же попробуйте закомментировать код в котором устанавливается поле "reporter" в строке: 2066
&НаКлиенте
Процедура СоздатьОбновитьЗапросОбработка(ДопПарам=Неопределено, Отказ=Ложь)
....
//ДобавитьПолеЗапросаДляИзмененияВJira(fields,"reporter","name","ПарамЗапросJira","Reporter_Name");
...
КонецПроцедуры
32. nordcomp 12.09.18 13:54 Сейчас в теме
4 месяца юзаю вашу обработку, и пишу свою под наши задачи. на самом деле очень многое помогает, но с некоторыми ошибками приходиться долго бороться (пример с компонентой). Через ваш запрос не отработало ( ругается на timetracking, даже не нашла что это за поле), а у меня выдало ошибку типа : "Компоненты не являются массивом". Проверила создание запроса было, вот так в моей обработке:
| ""fields"": {
| ""project"": {
| ""key"": ""PRODDEP""
| },
| ""issuetype"": {
| ""id"": ""10204""
| },
| ""components"":{
| ""id"":""11102""
| },
долго мочилась, но посмотрела через вашу обработку код аналогичной задачи и увидела квадратные скобки
вот так получилось в итоге:
| ""fields"": {
| ""project"": {
| ""key"": ""PRODDEP""
| },
| ""issuetype"": {
| ""id"": ""10204""
| },
| ""components"": [ {
| ""id"":""11102""
| } ] ,
33. Ko1t 329 14.09.18 13:35 Сейчас в теме
(32) Добрый день, рад что обработка оказалась полезной.
Подозреваю что могут быть нюансы на разных версиях Jira.
Мне часто помогал простой способ, когда я интерактивно формировал запрос в Jira, а потом просто скачивал rest представлением этого запроса и анализировал его структуру.
В обработке в списке "Выборка запросов из Jira" есть колонка "Rest link" - ссылка по которой можно скачать такое представление.
34. unichkin 1504 21.09.18 22:57 Сейчас в теме
Доброго времени суток! Я в позитивном шоке) Не ожидал что это чудо взлетит без единого пинка, но-таки взлетело. Большое спасибо) Помимо функциональности порадовало соблюдение ИТС при оформлении кода, прям бальзам на душу.
Один только вопрос. Я кажется знаю ответ, но все-же уточню. Программный интерфейс не выносился на сервер, ради локальных запросов с клиента?
35. Ko1t 329 22.09.18 16:33 Сейчас в теме
(34) Добрый день! Спасибо за оценку, приятно :).
Программный интерфейс не выносился на сервер, ради локальных запросов с клиента

Да, так и есть. Данная обработка по своей сути - демонстрации возможностей интеграции. В реальности у меня большинство функций работает на сервере в рамках фоновых заданий.
36. maloi3390 25.09.18 12:12 Сейчас в теме
В обработке не реализована возможность прикрепить файл к задаче Jira?
37. Ko1t 329 25.09.18 22:25 Сейчас в теме
(36) Добрый день! Возможности из 1С прикрепить файл к задаче Jira нет.
38. gortol 199 03.10.18 09:35 Сейчас в теме
(37) Добрый день
Отличная обработка!!! мне очень помогает, благодарю Вас за сей продукт

вопросы такие
каким образом получить:
* список вложений к задаче (в том числе картинки прикладываемые)
* метки к задаче
* компоненты
* связи с другими задачами

где бы почитать про это?!
39. gortol 199 03.10.18 13:13 Сейчас в теме
(38) сам себе отвечу
/rest/api/latest/issue/<номерЗадачи>?&expand=renderedFields

она даёт кучу дополнительный полей (в обработке это при изменении запроса)

и компоненты и метки можно и связи с другими задачами и вложения тоже получаются...

так вопрос закрыт)
40. Ko1t 329 03.10.18 13:23 Сейчас в теме
(38)
Добрый день, спасибо за оценку )
каким образом получить:
* метки к задаче
* компоненты

- такой функционал реализован в обработке:
Метки получается из Jira и передаются в Jira через реквизит на форме обработки "Labels",
С компонентами - аналогично, на форме есть реквизит "Components".

*список вложений к задаче (в том числе картинки прикладываемые)

На первый взгляд, мне кажется что это не тривиальная задача, поэтому я её я не делал, но если вы реализуете этот момент, и поделитесь с удовольствием скачаю себе :)

*Связи с другими задачами

В реальной базе у меня используется этот функционал, но в рамках данной обработке его "не прикручивал" (итак потратил на "некоммерческую" обработку больше трудозатрат чем планировал)

где бы почитать про это?!

Почитать об этом можно по ссылкам которые приведены в описании к публикации :)

В частности про вложения:
https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-api-3-attachment-meta-get

Для установки связи с другой задачей.
https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-api-3-issueLink-post
41. FeSTy 06.11.18 08:11 Сейчас в теме
Можно ли данную обработку использовать для подключения к jira cloud? Если нет, то сложно ли адаптировать?
42. Ko1t 329 06.11.18 13:23 Сейчас в теме
(41)
Добрый день. Специально только что зарегился в Jira Cloud:
1. Подключение к Jira работает.
2. Типы и статусы запросов читаются.
3. Выборка запросов из Jira - работает.
4. Создание запроса в Jira выдает ошибку "{"errorMessages":[],"errors":{"reporter":"Field 'reporter' cannot be set. It is not on the appropriate screen, or unknown."}}" - на первом этапе можно просто закомментить обновление этого поля.
5. Записи о работах читаются.
6. Записи о работах создаются.
7. Комментарии читаются.
8. Переходы по ссылкам работают.
ИТОГО:
Можно ли данную обработку использовать для подключения к jira cloud? Если нет, то сложно ли адаптировать?

Да, можно.
Но есть отдельные вопросы с созданием запроса, которые легко решаются.
43. пользователь 07.11.18 09:38
Сообщение было скрыто модератором.
...
44. Ko1t 329 07.11.18 10:08 Сейчас в теме
(43) Добрый день, не совсем понял ваш вопрос. Какая "такая" обработка? И что значит скинуть на почту?
Здесь обсуждается одна и та же обработка "Jira и 1C обмен через REST 1C 8.3.epf"
Скачать её можно по ссылке к публикации.
Чтобы её скачать нужно иметь всего лишь 1 стартмани.
45. sauron777 07.11.18 10:22 Сейчас в теме
А как можно получить 1 стартмани?
46. Ko1t 329 07.11.18 11:15 Сейчас в теме
(45)
Попросить знакомого скачать, у которого они есть,
или заплатить деньги и купить себе стартмани: https://infostart.ru/about/service/premium/
47. Steelvan 269 14.11.18 18:17 Сейчас в теме
За "снимок экрана" в заголовках сворачивалок вместо англицизма "скриншот" поставил плюс.
48. Ko1t 329 14.11.18 22:26 Сейчас в теме
49. Артано 730 15.11.18 03:33 Сейчас в теме
(47) Минус за использование латинизма "плюс", вместо, например славянского "любо"
TheOldGuard; bakshook; madway; TreeDogNight; +4 Ответить
50. Ko1t 329 15.11.18 07:55 Сейчас в теме
51. Steelvan 269 15.11.18 10:42 Сейчас в теме
(49) "Любо", отличное слово, куда лучше противного англицизма "лайк".

Mi4man; madway; Ko1t; +3 Ответить
52. galich 162 20.12.18 17:56 Сейчас в теме
Оставлю здесь код для записи вложений в созданный issue:

На вход нужно передать соответствие "СоответствиеВложений" где ключ - имя файла вложения, а значение - base64 строка с данными файла. В переменную НомерIssue нужно передать ключ запроса.

                ИмяФайлаОтправки = ПолучитьИмяВременногоФайла();
		Поток = Новый ПотокВПамяти;
		ФайлОтправки = Новый ЗаписьДанных(Поток, КодировкаТекста.UTF8);
		Boundary = "jiraattach";
		Для Каждого Вложение Из СоответствиеВложений Цикл
		    //Определяем раздел двоичных данных 
		    ФайлОтправки.ЗаписатьСтроку("--" + Boundary); 
		    ФайлОтправки.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename=""" + Вложение.Ключ + """"); 
		    ФайлОтправки.ЗаписатьСтроку("Content-Type: application/octet-stream" + Символы.ПС);
		    //Записываем кодированные двоичные данные 
		   ФайлОтправки.Записать(Base64Значение(Вложение.Значение)); 
		   ФайлОтправки.ЗаписатьСтроку("");
		    //Завершение сообщения для сервера 
		КонецЦикла;
		ФайлОтправки.ЗаписатьСтроку("--" + Boundary + "--"); 
		ФайлОтправки.Закрыть();
		РазмерФайлаОтправки = XMLСтрока(СтрДлина(Вложение.Значение));
		ЗапросHTTP = Новый HTTPЗапрос;
		ЗапросHTTP.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);
		ЗапросHTTP.Заголовки.Вставить("X-Atlassian-Token", "no-check");
		ЗапросHTTP.АдресРесурса = "/rest/api/2/issue/"+НомерIssue+"/attachments";
		ЗапросHTTP.УстановитьТелоИзДвоичныхДанных(Поток.ЗакрытьИПолучитьДвоичныеДанные());
		Ответ = СоединениеJira.ОтправитьДляОбработки(ЗапросHTTP);
Показать
Rokov; KRIHA; MaxxiMiliSan; TheOldGuard; izidakg; primara; user1080690; Ko1t; +8 Ответить
61. gortol 199 24.03.19 14:09 Сейчас в теме
(52)
Оставлю здесь код для записи вложений в созданный issue:


Доброго дня
Благодарю за код, это я так понимаю для отправки в Jira Файла, а вот как получить его из Jira? может есть у кого наработки?
68. woland 5 28.08.19 15:27 Сейчас в теме
(52) Подскажите, почему в ответ может приходить код 415?
Расшифровка такая: 415 Unsupported Media Type — Неподдерживаемый тип данных.
Передаю обычный текстовый файл.
69. galich 162 30.08.19 10:32 Сейчас в теме
(68) Судя по коду - у вас в JIRA стоит ограничение на расширения файлов вложений, которые могут быть прикреплены, а в файле передается имя файла не соответствующее фильтру (как вариант - в имени файла вообще не указано расширение).
53. sauron777 26.02.19 15:51 Сейчас в теме
Добрый день!
А как можно добавить наблюдателя к задаче в jira?
54. Ko1t 329 27.02.19 09:28 Сейчас в теме
(53) Добрый день. Такой функционал в представленной обработке изначально не реализован. Но впринципе REST спецификация Jira позволяет реализовать такую функцию.
56. sauron777 27.02.19 11:06 Сейчас в теме
(54)А поподробнее можно? Каким запросом это делается?
55. sauron777 27.02.19 11:06 Сейчас в теме
А поподробнее можно? Каким запросом это делается?
57. Ko1t 329 27.02.19 12:03 Сейчас в теме
58. sauron777 27.02.19 17:59 Сейчас в теме
(57) А пример передаваемого json?
59. Ko1t 329 28.02.19 00:56 Сейчас в теме
(58) Судя по документации надо передать просто "json строку"
https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-api-3-issue-issueIdOrKey-watchers-post
Adds a user as a watcher of an issue by passing the account ID or name of the user as a JSON string. For example, "384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192". The use of name is deprecated due to privacy changes. Use account ID instead. See the migration guide for details. If no user is specified the calling user is added.
60. sauron777 28.02.19 16:33 Сейчас в теме
62. gortol 199 24.03.19 14:13 Сейчас в теме
а вот как такие конструкции restapi в 1с обработать? (Для получения файла из Jira)

GET /rest/api/2/attachment/{id}
63. galich 162 25.03.19 15:27 Сейчас в теме
(62) Вызываешь данные запроса по адресу

{Сервер JIRA}/rest/api/2/issue/{Номер issue}?fields=attachment


В ответ получаешь json вида
{
    "id": "10002",
    "self": "http://www.example.com/jira/rest/api/2/issue/10002",
    "key": "EX-1",
    "fields": {
        "attachment": [
            {
                "self": "http://www.example.com/jira/rest/api/2.0/attachments/10000",
                "filename": "picture.jpg",
                "author": {
                    "self": "http://www.example.com/jira/rest/api/2/user?username=fred",
                    "name": "fred",
                    "avatarUrls": {
                        "48x48": "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred",
                        "24x24": "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
                        "16x16": "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
                        "32x32": "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"
                    },
                    "displayName": "Fred F. User",
                    "active": false
                },
                "created": "2019-03-06T08:35:37.143+0000",
                "size": 23123,
                "mimeType": "image/jpeg",
                "content": "http://www.example.com/jira/attachments/10000",
                "thumbnail": "http://www.example.com/jira/secure/thumbnail/10000"
            }
        ]
}
Показать


"10000" тут - id, который ты можешь передать в указанную тобой конструкцию и получить json аналогичный тому, что тебе тут уже в attachment пришло.

А можешь просто в цикле обежать, найти нужный файл по filename и вызвать строчку из content. Должна начаться закачка файла.
65. gortol 199 26.03.19 00:39 Сейчас в теме
(63) Благодарю, но что то в "лоб" не решается так задачка у меня

то что ниже по комментарию взлетела

там засада в том, что при первичном httpЗапросе возвращается 302 редирект на API atlassian где по токену надо выдёргивать файл
+ как мне подсказали в телеграм канале по 1с - там ещё Cookies задействованы... так что пока через КоннекторHTTP работает и славно!!!
64. gortol 199 26.03.19 00:36 Сейчас в теме
оставлю тут для поколений:

Решил задачу с получением файлов из Attachment
взял библиотеку от Автора в виде Общего.Модуля: КоннекторHTTP из публикации https://infostart.ru/public/709325/

и такой код
ДополнительныеПараметры=Новый Структура;
	ДополнительныеПараметры.Вставить("Заголовки", ПарамСерверJira.ЗаголовкиHTTP);
	ДополнительныеПараметры.Вставить("РазрешитьПеренаправление", Истина);
	
	рез= КоннекторHTTP.Get(JiraВложение["content"],, ДополнительныеПараметры );


в переменной Рез.Тело - двоичныеДанные файла

отлично работает эта спарка - рекомендую!!!
arsvlg; Ko1t; +2 Ответить
66. gortol 199 31.03.19 00:26 Сейчас в теме
Добавлю для искателей приключений по данным Jira

Для получения всех полей используемых в Задаче (включая Пользовательские поля)
С ТИПАМИ значений, а также с возможными подстановками в поле
существует такой запрос

ПарамСерверJira.JiraАдресRestAPI+"/issue/"+issue["key"] + "/editmeta"

при таком GetЗапросе получается вся структура созданных полей для данного issue
67. z585 16.07.19 11:45 Сейчас в теме
Если есть доступ к административной панели Jira, то рекомендую поставить плагин Atlassian REST API Browser.
В нем библиотека всех запросов REST и возможность прямо из интерфейса выполнять запросы. Помогает сразу увидеть результат и с помощью фильтров получить итоговый текст get или post запроса.
70. xsazar 5 11.11.19 14:48 Сейчас в теме
Привет, откуда взять поле epic link?
71. Ko1t 329 11.11.19 20:10 Сейчас в теме
(70) Привет, не уверен что правильно понял вопрос, поэтому приведу пример из реальной жизн :)
Прикрепленные файлы:
72. xsazar 5 12.11.19 10:19 Сейчас в теме
(71)
имел ввиду другое), разобрался, спасибо
Прикрепленные файлы:
73. ignor 235 01.02.20 14:11 Сейчас в теме
Интересно... А чисто теоретически возможно адаптировать под 7.7 под компоненту v7plus? Я всё вот ищу какой бы http сервис попробовать под 7.7
74. Ko1t 329 07.02.20 12:31 Сейчас в теме
(73) Доброго времени суток! С этим к сожалению не смогу помочь. Опыт с 7.7 дела давно минувших дней ).
75. Serdgio 193 29.04.20 14:30 Сейчас в теме
Добрый день.

В части получения данных все работает корректно и без ошибок.
В части отправки данных в Jira - ошибки.
При попытке записи worklog
{"errorMessages":["Internal server error"],"errors":{}}.
При попытке создать задачу
{"errorMessages":[],"errors":{"reporter":"Field 'reporter' cannot be set. It is not on the appropriate screen, or unknown."}}.

Не подскажете, в чем может быть проблема?
Возможно, на стороне сервера Jira необходимо установить определенные настройки?
76. Ko1t 329 30.04.20 19:41 Сейчас в теме
(75) Добрый,
Судя по ошибке у вас в Jira не используется поле "reporter" (автор), или есть какие-то ограничения с доступом к установке значения в этом поле. Попробуйте закомментировать в коде Обработки передачу поля "reporter".
p.s.
Я только что проверил у себя - у меня все работает без проблем.
77. Ifboop_Figure 60 11.06.20 15:09 Сейчас в теме
При работе с облачной версией, сейчас пишет вот такую штуку:

Basic authentication with passwords is deprecated. For more information, see: https://confluence.atlassian.com/cloud/deprecation-of-basic-authentication-with-passwords-for-jira-and-confluence-apis-972355348.html

и больше ничего не происходит. Как обойти?
78. Ifboop_Figure 60 11.06.20 15:11 Сейчас в теме
(77) При этом замена пароля на api токен - не помгает. Похоже надо как-то иначе передавать данные.
79. Ko1t 329 11.06.20 23:24 Сейчас в теме
(77)
Basic authentication

Я в свое время тоже с ходу не смог быстро решить вопрос как-то по другому, и остановился на basic authentication. Поэтому, да, к сожалению похоже с облачной версией теперь есть проблема, с которой я пока лично не смогу помочь.
80. vld_dmn 15.07.20 14:38 Сейчас в теме
(77) Добрый день. Смогли ли решить проблему авторизации?
81. Ko1t 329 15.07.20 18:07 Сейчас в теме
(80) Добрый, пока нет. Я пока ушел с головой в настройку Jira внутри Jira (Scriptrunner Adaptavist, Automation for Jira) поэтому пока интеграцией не занимался и в ближайший месяц наверно не будут копать эту тему
82. vld_dmn 16.07.20 21:22 Сейчас в теме
(81) У меня сработало так. Я просто в Jira создал токен. На выходе получилась строка. Эту строку токена в соединении указываю вместо пароля.
mikukrnet; Ko1t; +2 Ответить
97. mikukrnet 180 04.01.22 18:50 Сейчас в теме
83. Ifboop_Figure 60 20.07.20 13:13 Сейчас в теме
(80) да, я нашел причину.
1. Нужно сгенирировать токен и использовать его вместо пароля.
2. в обработке нужно подправить код функции

&НаСервереБезКонтекста
Функция ЗашифроватьBase64Сервер(Строка, КодировкаТекста = "UTF-8") Экспорт
ДД = ПолучитьДвоичныеДанныеИзСтроки(Строка,КодировкаТекста);
Стр64 = ПолучитьBase64СтрокуИзДвоичныхДанных(ДД);

Стр64 = StrReplace(Стр64,Chars.CR,"");
Стр64 = StrReplace(Стр64,Chars.LF,"");


Возврат Стр64;

КонецФункции


Суть проблемы - ПолучитьBase64СтрокуИзДвоичныхДанных разбививает строку на блоки в 64 символа т.е. добавляет два символа (CR и LF). В итоге получается, если в результате работы функции строка меньше или равна 64 символам, то все работает как надо. Если больше 64, то из-за добавления доп. символов авторизация не проходит.
Ko1t; vld_dmn; +2 Ответить
84. sergio_sconosciuto 15.09.20 15:03 Сейчас в теме
Обработка при создании эпика выдает ошибку 400:
{"errorMessages":[],"errors":
{"summary":"Field summary cannot be set. It is not on the appropriate screen, or known...
С чем это может быть связано?
85. Ko1t 329 01.10.20 09:11 Сейчас в теме
(84)
Field summary cannot be set

Это может быть связано или с настройкой прав пользователя под которым вы создает эпик, или у вас на экране создания эпика не отображается поле summary (тема запроса)...
86. sergio_sconosciuto 26.10.20 14:38 Сейчас в теме
(85)
Может быть связано

Спасибо огромное. Заработало. Действительно, дело было в авторизации. Не подскажете, может быть как-то можно выполнить запрос с авторизацией по умолчанию? Т.е чтобы авторизация происходила под пользователем агента сервера 1С? (чтобы не нужно было хранить пароль и логин в базе).
87. Ko1t 329 15.11.20 21:36 Сейчас в теме
(86) к сожалению не подскажу
88. user1501054 30.11.20 16:58 Сейчас в теме
Добрый вечер.

Подскажите, можно ли подключить к данному функционалу ещё одну базу 1С и опираясь от добавления новых значений в добавленную базу,
возможно ли настроить автоматическое создание запроса, опираясь на данные из подключенной базы
к примеру :
Был создан новый сотрудник в одной базе
после чего был создан запрос (через Jira и 1C обмен через REST 1C 8.3)

Спасибо.
90. Ko1t 329 19.03.21 19:07 Сейчас в теме
(88) Да, конечно. Для этого потребуется выполнить доработки в базе 1С
89. user1145156 19.03.21 10:56 Сейчас в теме
Здравствуйте
Подскажите, пожалуйста, свой email для связи
91. Ko1t 329 19.03.21 19:07 Сейчас в теме
92. din107 6 13.07.21 22:41 Сейчас в теме
Добрый день!

Подскажите, пожалуйста, есть ли возможность заводить записи о работах от имени другого пользователя, ни от которого происходит подключение? Или записи будут создаваться только под пользователем, под которым выполняется подключение?
93. Ko1t 329 09.08.21 19:32 Сейчас в теме
(92) Добрый день. Не уверен что ещё актуально ). Но скорее всего по умолчанию jira так не умеет. Выход - использовать Tempo плагин. У Tempo есть rest интерфейс и через него можно
94. StainDN 37 17.11.21 16:40 Сейчас в теме
Ошибка при создании нового запроса:
{"errorMessages":[],"errors":{"duedate":"Field 'duedate' cannot be set. It is not on the appropriate screen, or unknown.","timetracking":"Field 'timetracking' cannot be set. It is not on the appropriate screen, or unknown."}}
Не подскажите в чем может быть проблема? Изменение запросов работает.
95. Ko1t 329 19.11.21 12:47 Сейчас в теме
(94) Такая проблема может быть из-за того что данных полей нет на Экране создания запроса. Вы можете попробовать закомментировать в обработке установку этих полей и посмотреть, получится ли после этого создать запрос (поля: duedate, timetracking)
96. StainDN 37 19.11.21 16:59 Сейчас в теме
98. user1725884 24.01.22 11:04 Сейчас в теме
Создал доску Jira. Проверил. Все работает.
Попытался воспользоваться этой интеграцией с реальной доской заказчика. В итоге ввожу данные: Сервер, Ключ проекта, логин и токен. Однако при попытке получить ответ на запрос (нажатии на "Заполнить типы и статусы из Jira"), получаю "Неудача! Код состояния: 400. Bad Request"
С чем это может быть связано?
99. Ko1t 329 05.02.22 12:59 Сейчас в теме
(98) Добрый день.
Во первых. Доска jira (Канбан или Аджайл) тут точно не причем. Доска это просто интерфейс для отображения Запросов Jira.
Во вторых. Исходя из информации вами предоставленной - сложно что-то подсказать.
В третьих. Только что проверил у себя: У меня все работает! (см. прилагаемую картинку)
Прикрепленные файлы:
100. etorpov 31.03.22 11:50 Сейчас в теме
Подскажите пожалуйста, возможно ли получение списанного времени по конкретному пользователю за определенную дату
101. Ko1t 329 05.04.22 11:58 Сейчас в теме
Добрый день. Можно выполнить такой jql запрос: "worklogAuthor = Dmitriy.Kolchenko and worklogDate = 2022-04-04", дальше получить список Issues и обработать их
Оставьте свое сообщение

См. также

Загрузка данных инкассации по FTP из торговых аппаратов в 1С. Промо

Внешние источники данных Розничная торговля Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Бухгалтерия 2.0 Бытовые услуги, сервис Бытовые услуги, сервис Россия Россия Бухгалтерский учет Бухгалтерский учет Абонемент ($m) Абонемент ($m)

Данная обработка предназначена для загрузки данных после инкассации по вендинговым продажам в конфигурацию 1С (Бухгалтерия 3.0). Формат загрузки обмена в формате компании Unicum (Формат EVA DTS 6.1 - доработанный)

1 стартмани

11.08.2014    13879    0    BlackMoon123    0    

Распознавание паспорта РФ. Python+1С без сторонних сервисов

Внешние источники данных Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

В данной публикации мы рассмотрим методы разработки приложений на Python + 1С для распознавания Паспорта РФ.

1 стартмани

вчера в 11:30    1666    9    Indgo    12    

Получение/отправка сообщений RabbitMQ через REST API

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Простой пример получения и отправки сообщений в брокер сообщений RabbitMQ через REST API из 1С без сторонних компонент и middleware.

1 стартмани

23.09.2022    4631    9    NikeeNik    16    

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    6453    18    huxuxuya    28    

Api идеи для начинающих

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Данная обработка подойдет тем, кто только начинает знакомиться с механизмами api в 1С. В обработке представлены взаимодействия с 12 простыми сайтами на примерах. Решения не затрагивают полной документации, а носят лишь ознакомительный характер. Делал на платформе 8.3.20.

1 стартмани

16.06.2022    7365    22    user676027_svikator    5    

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

На Инфостарте много разработок, которые предназначены для отображения в обозревателе данных на связи из 1С. С разными способами подключения, на разных технологиях. Есть платные, есть бесплатные. В данной публикации я хочу показать, как можно сделать сопряжение 1С обозреватель своими 1Сными силами с базовыми навыками верстки с нуля за полчаса и бесплатно.

1 стартмани

02.05.2022    6996    124    Steelvan    0    

Консоль обмена по протоколу TCP

Внешние источники данных Обмен между базами 1C Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Внешняя консоль-обработка, позволяющая осуществить обмен пакетами данных между любыми приложениями или устройствами по сетевому протоколу TCP. Консоль работает как в режиме TCP-клиента, так и в режиме TCP-сервера. Реализована с использованием стандартной библиотеки Windows "MS Winsock".

3 стартмани

10.04.2022    6189    23    Bassgood    10    

Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020    16448    136    XilDen    19    

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сервис предназначен для передачи сообщений от сервера 1С клиентским сеансам. В простом случае полученное сообщение отображается у клиента в виде всплывающего окна (процедура 1С ПоказатьОповещениеПользователя). С использованием данного сервиса можно оповещать пользователей о новых задачах, полученных электронных письмах, менеджеров о новых заказах, загруженных с сайта и т. п. Дополнительно имеется возможность передавать произвольные данные и обрабатывать самостоятельно полученные сообщения на клиенте, что позволяет реализовать более сложные сценарии (чаты, отображение прогресса длительной операции на сервере и т. п.).

1 стартмани

02.02.2022    10758    33    ltfriend    9    

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.

1 стартмани

01.04.2021    16743    20    SaschaG    4    

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

WEB-интеграция Работа с интерфейсом Языки и среды Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    21915    60    Parsec1C    20    

Модуль обмена с QIWI Промо

Банковские операции WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020    14631    2    Neti    10    

BIM: взаимодействие с платформой Autodesk Forge

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Строительство Строительство Абонемент ($m) Абонемент ($m)

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    74626    16    kandr    3    

Учимся создавать http сервис (часть третья). Передача нескольких параметров в http сервис

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пошаговое руководство по созданию http сервиса (часть третья). Передача нескольких параметров в http сервис, a также формирование сложных JSON строк.

1 стартмани

02.10.2020    30994    9    hpi    18    

HTTP сервисы по OpenAPI спецификациям

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Начинаем путь разработки HTTP сервисов с создания спецификаций OpenAPI. Автодокументация сервисов формата Swagger UI без зависимостей. Настройка сервисов в режиме предприятия.

1 стартмани

29.06.2020    24338    28    shmalevoz    22    

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Универсальные обработки Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).

1 стартмани

23.06.2020    21036    204    Lem0n    1    

oData – HTTP-сервис для ленивых.

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 Россия Россия Абонемент ($m) Абонемент ($m)

oData одним из последних появился в инструментах интеграции поддерживаемых платформой 1С. В данной статье хотел бы показать пример его использования. О преимуществах и недостатках oData предлагаю поделиться в комментариях исходя из реального опыта использования. Цель публикации. Дать разработчикам простой инструментарий обмена между идентичными конфигурациями.

1 стартмани

10.05.2020    19095    35    Forest83    2    

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3 Промо

Обработка документов WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бухгалтерский учет Бухгалтерский учет Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.

4 стартмани

30.12.2019    29201    40    capitan    27    

DaJet QL - расширяемый язык запросов

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

DaJet QL поддерживает практический полный синтаксис SQL Server 2005-2016. Кроме этого это расширяемый язык запросов. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям этого языка запросов реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    19040    12    zhichkin    19    

Пример работы с Trello из 1С

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Небольшая конфигурация содержит примеры обмена с онлайн-сервисом Trello.

1 стартмани

15.02.2020    25080    61    terrorion    18    

Работа с Яндекс-картами в 1С (вывод меток, прокладка маршрута, отображение балуна, вывод меток в кластеры) (обычное и управляемое приложение)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Работа с Яндекс-картами в 1С (управляемое приложение). Обработка показывает, как можно найти адреса на карте Яндекс, проложить маршрут.

2 стартмани

20.11.2019    31314    175    Denr83    0    

Яндекс сервисы [Расширение]

Универсальные обработки WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Расширение для работы с Яндекс-сервисами (предиктор,переводчик,проверка орфографии)

1 стартмани

24.10.2019    21220    13    noprogrammer    12    

Получение изображения с IP-камеры

Внешние источники данных Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Получение изображения JPG с IP-камеры в виде двоичных данных. В 1С может применяться для фотографирования объектов.

1 стартмани

10.09.2019    21438    55    sivin-alexey    11    

Согласование задач из Outlook

Внешние источники данных Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Согласование задач непосредственно из почтовой программы, в моем случае Outlook 2013 без каких-либо дополнительных настроек. Из почты отправляется GET запрос к HTTP-сервису 1С, который в свою очередь выполняет задачу.

1 стартмани

06.09.2019    17632    19    duhh    17    

Выгрузка номенклатуры в социальную сеть Вконтакте

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для быстрой и легкой выгрузки товаров Вконтакт. Так просто еще не было)))

2 стартмани

14.08.2019    31894    73    kaliuzhnyi    48    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    47041    115    Ditron    120    

Шаблон http-сервиса для вашего проекта

Внешние источники данных WEB-интеграция Мобильная разработка Платформа 1С v8.3 Платформа 1С v8.3 Мобильная платформа Мобильная платформа Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    33672    109    MarkoSokolov    48    

1С и WebKit. Вариант взаимодействия

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменился с COMОбъект на ВнешнийОбъект. Также изменилась DOM модель документа, доступная через это свойство.

2 стартмани

23.02.2019    51373    98    mi1man    74    

Строим маршруты на картах в 1С с помощью OpenStreetMap, OSRM и Leaflet

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Транспорт, автопарки, такси Транспорт, автопарки, такси Абонемент ($m) Абонемент ($m)

Краткая статья о том как вывести на карту (в 1С) маршруты с помощью OpenStreetMap, OSRM и Leaflet. По данной системе очень мало примеров, но так как OpenStreetMap является бесплатным сервисом и не требует никаких ключей и регистраций, и является довольно мощным механизмом, решил написать небольшую статью "как это сделать?". В первую очередь скажу, все намного проще, если вы используете последнюю версию платформы (8.3.14), где есть поддержка практически всех браузеров (IE 11, EDGE, Mozilla), но что делать если у нас не самая свежая платформа, где поддержка только IE 9?

2 стартмани

12.02.2019    47226    154    Ditron    137    

Менеджер загрузки данных из весов с печатью этикеток Промо

Внешние источники данных Весы Логистика, склад и ТМЦ Платформа 1С v8.3 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление производственным предприятием Абонемент ($m) Абонемент ($m)

Программное обеспечение "Менеджер загрузки данных из весов с печатью этикеток" предназначено для автоматического получения данных по сети Ethernet из весов МАССА-К моделей ВПМ и ТВ_Р3 (модификация MF) в режиме On-Line.

1 стартмани

20.12.2011    34906    81    hrip    10    

Яндекс карты 2.1. Построение маршрута. Передача длины маршрута в реквизит формы

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пригодится как пример использования Яндекс карты 2.1 для построения маршрута.

1 стартмани

24.01.2019    27123    105    John_d    33    

Проверка VAT номеров

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    25545    4    wtlz    1    

Автоматическое создание XSD-файла по выбранным типам объектов конфигурации для загрузки в XDTO пакет в 1С 8.3

WEB-интеграция Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Данная обработка позволяет создать XSD-файл по выбранным реквизитам Справочника, Документа, Плана видов характеристик и даже Плана обмена. В обработке есть возможность выбрать, какие стандартные и обычные реквизиты, а также реквизиты табличных частей попадут в XSD-файл. Также есть опциональная возможность автоматически добавить в XSD-файл все ссылочные типы, находящиеся в реквизитах (рекурсивным обходом).

1 стартмани

22.10.2018    21394    110    q4a    9    

Загрузка чека онлайн-касс (загрузка товаров из чека)

Внешние источники данных WEB-интеграция Кассовые операции Розничная торговля Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка-пример, позволяет любому и из любой конфигурации загрузить информацию о товарах из чека(и не только) из почтового сообщения, отправленного из приложения ФНС проверка чеков.

2 стартмани

08.10.2018    36332    46    echo77    76    

SOAP для чайников

WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Немножко про SOAP сервис. И пример работы с подключением и получением данных по SOAP за 5 минут.

1 стартмани

05.09.2018    107525    73    dusha0020    25    

Класс-обработка “Работа с картами Яндекс”

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Как показать точку или маршрут на карте Яндекс. Как получить координаты по строке адреса (геокодирование).

1 стартмани

01.08.2018    43072    293    RSConsulting    20    

Пример использования REST API Яндекс Диска

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    44815    77    MKFreeUser    17    

Обмен файловыми базами данных через Yandex диск

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    26786    8    slimper    1