INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Белозеров Дмитрий | Системный архитектор | LMSoft

«Кодогенерация и метагенерация в 1С»

Примерно год назад жизнь заставила меня задуматься над таким вопросом - а не разработать ли язык (точнее псевдоязык), с помощью которого можно было бы программно работать с метаданными 1С, писать скрипты, которые выполняют те же действия, которые выполняет разработчик в конфигураторе... В этом докладе хочу рассказать о том как мы разрабатывали такой инструмент, с какими сложностями и нюансами столкнулись, и что получилось в итоге. Мы рассмотрим реальные кейсы использования автоматической генерации метаданных 1С, в которых использование такого подхода дает серьёзные преимущества и сильно облегчает жизнь разработчика (иногда настолько облегчает что можно обойтись вообще без него :), увидим как инструмент генерации можно вписать в общий контур continuous integration. А ещё обсудим перспективы использования подобных практик (генерация конфигурации на основе формализованных функциональных моделей, реализация библиотечного подхода к разработке прикладных решений).

Простой эмулятор вызова веб-сервиса 1С с просмотром результата

Обмен - Обмен через XML

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

Суть проста: 
В обработке создаем команду, добавляем на форму, в модуле формы (в клиентской процедуре команды) вызываем серверную функцию, в которой будет формироваться XML-ответ (сразу скажу, что для отображения результата в обработке следует возвращать текст XML). Если метод веб-сервиса требует передачу входных параметров, тогда следует передать их в функцию (пример метода с параметром и без в обработке присутствует).

По умолчанию на форме отображается только один параметр, при нажатии кнопки "Добавить параметр", на форме отобразиться дополнительное поля для второго. Всего поддерживается 5 параметров. При желании, можете перенести параметры в таблицу и работать так, т.к. код полностью открыт. 

Результат можно просмотреть как в виде дерева (с XSLT-преобразованием, идея взята отсюда: Универсальный просмотр XML в поле HTML-документа), либо в виде текста (делал для копирования).

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

Тестировалось на платформе 8.3.8 и старше.

24

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

Наименование Файл Версия Размер
Эмулятор вызова веб-сервиса (УФ)
.epf 11,60Kb
24.04.18
15
.epf 1.0 11,60Kb 15 Скачать

См. также

Комментарии
Сортировка: Древо
2. ivanov660 779 25.04.18 11:56 Сейчас в теме
Рекомендую обратить внимание на SoapUI, есть бесплатная версия с хорошими возможностями + позволяет писать тесты.
Kaval88; myjob1c; Mortum; JohnyDeath; CSiER; gradi; 1v7; oldfornit; +8 Ответить
3. anvolkov1cbit 25 25.04.18 13:02 Сейчас в теме
(2) SoapUI использую уже после того, как написаны методы, а пока пишу и отлаживаю функции методов, использую это обработку :)
4. gradi 25.04.18 13:53 Сейчас в теме
(2) я тоже подумал про SoapUI когда прочитал эту статью. Вполне достойный инструмент для работы с web-сервисами.
6. JohnyDeath 291 26.04.18 16:43 Сейчас в теме
Судя по скрину, используются только get-методы?
Если так, то можно вообще через браузер дергать
8. m-rv 532 27.04.18 13:57 Сейчас в теме
Хорошая работа!
Было бы неплохо расширить для работы с REST (http сервисами)
9. anvolkov1cbit 25 27.04.18 14:02 Сейчас в теме
(8) Спасибо за положительный отзыв!)
Обработку использую почти каждый день, у самого есть еще замечания, планирую расширять функционал, обязательно учту и работу с REST! По ходу дела буду выкладывать сюда.
10. Alien_job 140 27.04.18 15:26 Сейчас в теме
Скачал, честно говоря оказалось не то чего ожидал. Обработка не для того чтобы отправлять запросы к тестируемому серверу и показывать ответ от него а для ммм... для того чтобы показывать в окошке результата текст, сгенерированный командой, которую еще нужно написать.
11. Mortum 27.04.18 16:48 Сейчас в теме
SoapUI для WEB-сервисов, а для HTTP-сервисов Postman.
Лучше бы калькулятор написал)
Оставьте свое сообщение