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

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

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

Обработка 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
23.04.18
190
.epf 1.0.2 58,22Kb 190 Скачать

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

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 13 24.04.18 10:06 Сейчас в теме
Вы используете Jira как веб-морду, общедоступную для всех ?
А 1С как учетную систему для расчета зарплаты и прочих расчетов ?
2. Ko1t 267 24.04.18 13:27 Сейчас в теме
(1) Да, именно так.
Jira + Confluence - снаружи для клиентов и внешних подрядчиков.
1С - внутри, для аналитики, документооборота, расчетов и учета.
cleaner_it; nordcomp; +2 Ответить
4. o.nikolaev 202 25.04.18 09:53 Сейчас в теме
Отлично просто. Сам собирался, но, руки так и не дошли.
5. Ko1t 267 25.04.18 09:58 Сейчас в теме
(4) пользуйтесь, "на здоровье" )
nordcomp; Mi4man; TreeDogNight; +3 Ответить
6. TreeDogNight 18 25.04.18 10:28 Сейчас в теме
Спасибо за отличную разработку, очень нуждался в таком инструменте!
При попытке изменить задачу выходит следующая ошибка:

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

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

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

В вашем случае скорее всего ошибка может быть в написании ключа проекта.
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 267 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 267 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 267 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 267 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 267 14.09.18 13:35 Сейчас в теме
(32) Добрый день, рад что обработка оказалась полезной.
Подозреваю что могут быть нюансы на разных версиях Jira.
Мне часто помогал простой способ, когда я интерактивно формировал запрос в Jira, а потом просто скачивал rest представлением этого запроса и анализировал его структуру.
В обработке в списке "Выборка запросов из Jira" есть колонка "Rest link" - ссылка по которой можно скачать такое представление.
34. unichkin 1319 21.09.18 22:57 Сейчас в теме
Доброго времени суток! Я в позитивном шоке) Не ожидал что это чудо взлетит без единого пинка, но-таки взлетело. Большое спасибо) Помимо функциональности порадовало соблюдение ИТС при оформлении кода, прям бальзам на душу.
Один только вопрос. Я кажется знаю ответ, но все-же уточню. Программный интерфейс не выносился на сервер, ради локальных запросов с клиента?
35. Ko1t 267 22.09.18 16:33 Сейчас в теме
(34) Добрый день! Спасибо за оценку, приятно :).
Программный интерфейс не выносился на сервер, ради локальных запросов с клиента

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

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

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

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

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

так вопрос закрыт)
40. Ko1t 267 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 267 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? Если нет, то сложно ли адаптировать?

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

Mi4man; madway; Ko1t; +3 Ответить
52. galich 153 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);
Показать
primara; user1080690; Ko1t; +3 Ответить
61. gortol 187 24.03.19 14:09 Сейчас в теме
(52)
Оставлю здесь код для записи вложений в созданный issue:


Доброго дня
Благодарю за код, это я так понимаю для отправки в Jira Файла, а вот как получить его из Jira? может есть у кого наработки?
68. woland 1 28.08.19 15:27 Сейчас в теме
(52) Подскажите, почему в ответ может приходить код 415?
Расшифровка такая: 415 Unsupported Media Type — Неподдерживаемый тип данных.
Передаю обычный текстовый файл.
69. galich 153 30.08.19 10:32 Сейчас в теме
(68) Судя по коду - у вас в JIRA стоит ограничение на расширения файлов вложений, которые могут быть прикреплены, а в файле передается имя файла не соответствующее фильтру (как вариант - в имени файла вообще не указано расширение).
53. sauron777 26.02.19 15:51 Сейчас в теме
Добрый день!
А как можно добавить наблюдателя к задаче в jira?
54. Ko1t 267 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 267 27.02.19 12:03 Сейчас в теме
58. sauron777 27.02.19 17:59 Сейчас в теме
(57) А пример передаваемого json?
59. Ko1t 267 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 187 24.03.19 14:13 Сейчас в теме
а вот как такие конструкции restapi в 1с обработать? (Для получения файла из Jira)

GET /rest/api/2/attachment/{id}
63. galich 153 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 187 26.03.19 00:39 Сейчас в теме
(63) Благодарю, но что то в "лоб" не решается так задачка у меня

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

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

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

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


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

отлично работает эта спарка - рекомендую!!!
arsvlg; Ko1t; +2 Ответить
66. gortol 187 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 3 11.11.19 14:48 Сейчас в теме
Привет, откуда взять поле epic link?
71. Ko1t 267 11.11.19 20:10 Сейчас в теме
(70) Привет, не уверен что правильно понял вопрос, поэтому приведу пример из реальной жизн :)
Прикрепленные файлы:
72. xsazar 3 12.11.19 10:19 Сейчас в теме
(71)
имел ввиду другое), разобрался, спасибо
Прикрепленные файлы:
73. ignor 222 01.02.20 14:11 Сейчас в теме
Интересно... А чисто теоретически возможно адаптировать под 7.7 под компоненту v7plus? Я всё вот ищу какой бы http сервис попробовать под 7.7
74. Ko1t 267 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 267 30.04.20 19:41 Сейчас в теме
(75) Добрый,
Судя по ошибке у вас в Jira не используется поле "reporter" (автор), или есть какие-то ограничения с доступом к установке значения в этом поле. Попробуйте закомментировать в коде Обработки передачу поля "reporter".
p.s.
Я только что проверил у себя - у меня все работает без проблем.
77. Ifboop_Figure 52 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 52 11.06.20 15:11 Сейчас в теме
(77) При этом замена пароля на api токен - не помгает. Похоже надо как-то иначе передавать данные.
79. Ko1t 267 11.06.20 23:24 Сейчас в теме
(77)
Basic authentication

Я в свое время тоже с ходу не смог быстро решить вопрос как-то по другому, и остановился на basic authentication. Поэтому, да, к сожалению похоже с облачной версией теперь есть проблема, с которой я пока лично не смогу помочь.
80. vyacheslaw.dekin@yandex.ru 15.07.20 14:38 Сейчас в теме
(77) Добрый день. Смогли ли решить проблему авторизации?
81. Ko1t 267 15.07.20 18:07 Сейчас в теме
(80) Добрый, пока нет. Я пока ушел с головой в настройку Jira внутри Jira (Scriptrunner Adaptavist, Automation for Jira) поэтому пока интеграцией не занимался и в ближайший месяц наверно не будут копать эту тему
82. vyacheslaw.dekin@yandex.ru 16.07.20 21:22 Сейчас в теме
(81) У меня сработало так. Я просто в Jira создал токен. На выходе получилась строка. Эту строку токена в соединении указываю вместо пароля.
83. Ifboop_Figure 52 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; vyacheslaw.dekin@yandex.ru; +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 267 01.10.20 09:11 Сейчас в теме
(84)
Field summary cannot be set

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

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

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

Спасибо.
Оставьте свое сообщение

См. также

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

WEB v8 Строительство Абонемент ($m)

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

1 стартмани

25.11.2020    996    0    kandr    0    

Чатбот WhatsApp

WEB v8 1cv8.cf Абонемент ($m)

Внешняя обработка для написания чат-бота WhatsApp

1 стартмани

21.10.2020    3494    14    ripreal1    14    

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

WEB Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

02.10.2020    4321    1    hpi    14    

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

Практика программирования WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

29.06.2020    7403    3    shmalevoz    19    

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

Обработка документов WEB v8 v8::УФ 1cv8.cf Россия БУ УУ Абонемент ($m)

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

4 стартмани

30.12.2019    8168    9    capitan    11    

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

Универсальные обработки Внешние источники данных Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

23.06.2020    4859    63    Lem0n    1    

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

WEB v8 1cv8.cf Россия УУ Абонемент ($m)

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

1 стартмани

15.02.2020    11375    44    terrorion    12    

Google drive - менеджер файлов

WEB Внешние источники данных v8 1cv8.cf Россия Абонемент ($m)

Синхронизация с гугл диском легко и просто!

10 стартмани

05.12.2019    10078    29    zykov_vitaliy    26    

Конвертация данных Парус 7, 10 - ЗУП 2.5, ЗИКБУ 1.0, КА 1.1, УПП Промо

Внешние источники данных Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 КА1 ЗУП2.5 УПП1 БГУ Россия БУ Госбюджет Абонемент ($m)

Перенос данных Парус 7, 10 - ЗУП 2.5, ЗИКБУ 1.0, КА 1.1, УПП Переносит данные сотрудника, физического лица и начисления за произвольный период

1 стартмани

10.06.2014    32845    38    kns77    81    

Использование хранимых процедур MS SQL Server в 1С

Внешние источники данных v8 1cv8.cf Абонемент ($m)

Потребовалось мне как-то построить сложный запрос к внешнему источнику данных, на что платформа радостно послала меня в гугл. Немного подумав, решил написать в SQL процедуру, которая принимала бы какие-то параметры и возвращала какую-то таблицу значений с данными.

1 стартмани

03.12.2019    11060    4    Dedushka    26    

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

WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

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

2 стартмани

20.11.2019    12800    122    Denr83    0    

Telegram бот на 1С

WEB v8 1cv8.cf Абонемент ($m)

Telegram бот на 1С в виде внешней обработки, встраиваемой в типовые 1С 8.3.

1 стартмани

24.09.2019    16453    35    budidich    19    

Загрузка данных из М-Аптеки+ в 1С:Бухгалтерия 8 (ред. 3.0) Промо

Внешние источники данных Файловые протоколы обмена, FTP v8 v8::БУ БП3.0 Фармацевтика, аптеки БУ Абонемент ($m)

Обработка для загрузки файлов выгрузки из программы для автоматизации аптек и аптечных сетей М-Аптека+ в 1С:Бухгалтерия 8, редакция 3.0.

11.07.2014    35421    31    1C_MApteka    37    

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

Внешние источники данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

10.09.2019    11438    35    sivin-alexey    8    

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

Внешние источники данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

06.09.2019    8857    12    duhh    17    

Телеграм 1С – почти коробка

Внешние источники данных v8 Абонемент ($m)

Почему это решение называется «почти коробка»? Потому, что это почти коробочное решение. С его помощью, просто добавив подсистему в конфигурацию, уже можно начинать взаимодействовать с мессенджером Telegram.

10 стартмани

20.08.2019    14046    25    zfilin    66    

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

Разработка внешних компонент WEB v8 Абонемент ($m)

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

1 стартмани

30.03.2018    27340    40    Ditron    83    

Работа с релизами 1С и договорами ИТС

WEB БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Работа с релизами 1С и партнерским кабинетом.

2 стартмани

15.08.2019    14839    44    RocKeR_13    15    

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

Внешние источники данных WEB Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

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

3 стартмани

04.05.2019    19941    76    MarkoSokolov    48    

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

WEB v8 1cv8.cf Абонемент ($m)

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

2 стартмани

23.02.2019    30522    78    mi1man    57    

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

Внешние источники данных Весы Учет ТМЦ Учет ТМЦ v8 УТ10 УПП1 Абонемент ($m)

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

1 стартмани

20.12.2011    22978    4    hrip    10    

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

WEB v8 1cv8.cf Транспорт, автопарки, такси Абонемент ($m)

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

2 стартмани

12.02.2019    26685    104    Ditron    94    

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

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

24.01.2019    14539    77    John_d    32    

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

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.11.2018    13033    2    wtlz    1    

Трекинг номеров РПО в Почте России Промо

WEB Оптовая торговля Оптовая торговля v8 Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Относительно недавно Почта России стандартизировала и описала сервисы получения информации о регистрируемом почтовом отправлении (РПО). Представляю вашему вниманию конфигурацию-обертку над сервисами Почты России. Она позволяет просто (http-запросы) и без изменений конфигурации подключить сервисы отслеживания к своим информационным системам.

2 стартмани

28.03.2016    27446    11    Smaylukk    3    

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

WEB v8::УФ 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

22.10.2018    12954    69    q4a    7    

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

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

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

2 стартмани

08.10.2018    21771    39    echo77    73    

Мониторинг показателей систем 1С 8.3 с помощью Zabbix

Внешние источники данных Zabbix v8 1cv8.cf Абонемент ($m)

Опишу свой опыт мониторинга наших систем 1С с помощью Zabbix и ту пользу, которую можно извлечить из этого.

1 стартмани

05.10.2018    41654    58    akimych    48    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты Промо

WEB Рабочее место v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка для работы с картами в 1С. Получения изображения с публичной кадастровой карты России, построения тематических карт

5 стартмани

31.08.2017    18832    15    vipchep    0    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    22170    13    RocKeR_13    16    

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

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

05.09.2018    52569    46    dusha0020    18    

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

Разработка внешних компонент WEB v8 Абонемент ($m)

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

1 стартмани

01.08.2018    25924    204    RSConsulting    16    

Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers) Промо

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

С каждым годом становится все очевидно, что использование онлайн-сервисов намного упрощает жизнь. К сожалению по картографическим сервисам условия пока жестковаты. Но, ориентируясь на будущее, я решил показать возможности API выше указанных сервисов: Инициализация карты Поиск адреса на карте с текстовым представлением Геокодинг Обратная поиск адреса по ее координатами Взаимодействие с картами - прием координат установленного на карте метки Построение маршрутов по указанным точками Кластеризация меток на карте при увеличении масштаба Теперь также поддержка тонкого и веб-клиента

1 стартмани

28.12.2012    107275    1208    Smaylukk    355    

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

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.06.2018    26102    42    MKFreeUser    15    

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

WEB v8 Россия Абонемент ($m)

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

1 стартмани

11.06.2018    17587    7    slimper    1    

RabbitMQ + 1С. Быстрый старт

Внешние источники данных v8 1cv8.cf Абонемент ($m)

Внешняя компонента для отправки сообщения из 1С в кролика. Сервис прослушивания и перенаправления сообщений из кролика в http или web-сервис.

1 стартмани

10.06.2018    31531    95    Goleff74    42    

Чтение сжатого gzip, deflate HTTP ответа сервера. Без ВК. Уменьши время загрузки и сократи трафик в 3 раза

WEB v8 1cv8.cf Абонемент ($m)

В платформе 1С:Предприятие не реализовано штатного механизма декодирования ответа веб серверов, в которых присутствует gzip сжатие. Некоторые использовали WinHttpRequest.5.1 , кто-то писал ВК. Друзья, хватит. Вот вам решение.

1 стартмани

08.06.2018    16114    80    Malfarion    16    

Конфигурация для просмотра публичных телеграм каналов

WEB v8 Абонемент ($m)

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

1 стартмани

02.06.2018    18330    11    DO_WHILE_LOOP    7    

Telegram Native API

Разработка внешних компонент Внешние источники данных v8::УФ 1cv8.cf Абонемент ($m)

Взаимодействие с Telegram без Bot API. Только C++ компоненты. Только хардкор.

1 стартмани

24.05.2018    17835    42    Infactum    23    

Простая и пошаговая интеграция Яндекс-Алисы и 1С

WEB v8 Абонемент ($m)

Интеграция Алисы и 1С через http сервис на платформе 8.3.9. Используем виртуальный сервер, сертификат от letsencrypt, и делаем простые запросы к базе из Алисы.

1 стартмани

09.04.2018    23301    19    kiv1c    35    

Чтение и запись из таблиц гугл (google sheets) в табличный документ 1С (8.3, управляемые формы)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка на управляемой форме для 1С версии 8.3 для доступа к сервисам Google Sheets c использованием протокола авторизации OAuth 2.0. Выполняет получение списка листов таблицы гугл, чтение таблицы гугл в табличный документ 1С и запись из табличного документа 1С в таблицу гугл. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.11.2954).

1 стартмани

09.04.2018    41180    273    Ko1t    76    

Оповещения из ЗУП и ERP в TELEGRAM

Внешние источники данных v8 ERP2 ЗУП3.x Абонемент ($m)

Начитался статей про интеграцию 1С -> Telegram, решил аккумулировать опыт и попробовать сделать какую-нибудь полезную обработку. Как результат - внешняя обработка, уведомляющая ответственных сотрудников по расписанию о необходимости оплаты отпусков, материальной помощи, премий. Данные посылаются в виде PDF файла (Отчет, созданный на основании макета). Можно использовать обработку как обучающую. Тестировалось на ERP 2.4.2.139, на ЗУП 3.X тоже должно работать.

1 стартмани

01.03.2018    15028    55    khabibullin.tu    14    

2 в 1: Проверить действительность паспорта / Получить ИНН по паспорту

Обработка справочников WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::УФ ERP2 БП3.0 ЗУП3.x Россия БУ Абонемент ($m)

Представляю вашему вниманию внешнюю обработку заполнения элемента справочника "Физические лица". Обработка выполнена с использованием API (для работы необходим доступ в интернет), содержит полностью открытый код и 2 команды: Проверка документа, удостоверяющего личность, в списке недействительных паспортов и Заполнение ИНН по паспортным данным.

1 стартмани

27.02.2018    23601    150    VladimirElohov    39    

Построение маршрута доставки с расчётом расстояния для любой базы УФ

Универсальные обработки WEB Оптовая торговля Оптовая торговля v8 v8::УФ 1cv8.cf Абонемент ($m)

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    36356    43    KorotkovRV    16    

Сервер push сообщений “Push0k“ 18.05

WEB v8 1cv8.cf Абонемент ($m)

Аналог других “мессенджеров“. Позволяет практически все то же самое, что и другие решения. За исключением смайлов, эмодзи, голосовой и видео связи. Основное отличие от других решений, открыта и доступна для изменения серверная и клиентская часть месенджера. Общедоступной серверной части нет, за серверную часть отвечаете вы сами.

1 стартмани

19.12.2017    18592    12    PloAl    20