Работа из 1С с API PayPal

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

Разработка - Системная интеграция - Интеграция с WEB

PayPal HTTP APIPapPal TransactionPayPal JSON XDTO

6
PayPal - международная платежная система является очень популярной за пределами СНГ для онлайн торговли и не только. API PayPal достаточно хорошо документирован. При попытке связать 1C с PayPal пришлось столкнуться с несколькими нюансами, которыми и хотелось бы поделиться в этой статье с примерами программного кода.

   При попытке связать 1с с PayPal пришлось столкнуться с несколькими нюансами, которыми и хотелось бы поделиться в этой статье. В принципе через API PayPal с аккаунтом можно делать вообще практически все что угодно – не только получать информацию, но при желании даже управлять перечислениями средств, возвратами и т.п. У меня была более простая задача – получить информацию об оплатах клиентов в 1С.

В первую очередь идем за официальной документацией сюда https://developer.paypal.com/docs/api/overview/

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

Связь с API PayPal настраивал через HTTP запросы. Вкратце – нужно включить доступ по API и настроить в терминах PayPal что-то типа Приложение, у которого взять нужные для связи ClientID и ClientSecret, далее через спец. запросы получать временный токен доступа для работы и уже используя полученный токен доступа делать запросы. Как включить работу через API см. на картинках.

Получаем то, ради чего мы включали API

Далее желательно проверить работу полученной связки через Postman, инструкция https://developer.paypal.com/docs/api/get-an-access-token-postman/ нам в помощь. У меня долго не получалось получить временный Токен доступа, то ли версия Postman была другая, то ли документация устаревшая, но в итоге если задать получение токена вручную

и вставить также потом вручную токен в ключ Authorization обязательно после слова Bearer c пробелом, то запросы и ответы у меня в Postman заработали.

   Далее уже дело техники и кода в самом 1C. В первую очередь перед запросами получаем программно токен доступа.

&НаСервере
Процедура ПолучитьТокенДоступа()
	
	Host 			= Объект.ДанныеЗапросов.Host;
	GetTokenURL 	= Объект.ДанныеЗапросов.GetTokenURL; 
	ClientID 		= Объект.ДанныеЗапросов.ClientID;
	ClientSecret 	= Объект.ДанныеЗапросов.ClientSecret;
	StrInput 		= ClientID+":"+ClientSecret;
	paramvalue 		= СтрокаBase64БезBOM(StrInput);
	
	HTTPЗапрос = Новый HTTPЗапрос;
	HTTPЗапрос.АдресРесурса = GetTokenURL;	
	HTTPЗапрос.Заголовки.Вставить("Authorization", 	"Basic "+paramvalue);
	HTTPЗапрос.Заголовки.Вставить("Accept", 		"application/json");
	HTTPЗапрос.Заголовки.Вставить("Content-Type", 	"application/x-www-form-urlencoded");
	HTTPЗапрос.Заголовки.Вставить("Accept-Language","en_US");
	HTTPЗапрос.Заголовки.Вставить("Cache-Control",	"no-cache");
	HTTPЗапрос.УстановитьТелоИзСтроки("grant_type=client_credentials");
	
	Прокси = Новый ИнтернетПрокси(Истина);
	Соединение = Новый HTTPСоединение(Host,,,,Прокси,10,Новый ЗащищенноеСоединениеOpenSSL);
	ЧтениеJSON = Новый ЧтениеJSON;
	Попытка         
		HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос); // post запрос
		ЧтениеJSON.УстановитьСтроку(HTTPОтвет.ПолучитьТелоКакСтроку());
		Данные = ПрочитатьJSON(ЧтениеJSON,Ложь);
		Объект.ДанныеЗапросов.access_token = Данные.access_token;
		Объект.ДанныеЗапросов.app_id = СтрЗаменить(Данные.app_id, "APP-","");
		Если HTTPОтвет.КодСостояния > 299 Тогда
			ТекстОшибки = "HTTPОтвет.КодСостояния|" + HTTPОтвет.КодСостояния + "|Токен доступа в API PayPal не получен";
			ЗаписьЖурналаРегистрации("PayPal", УровеньЖурналаРегистрации.Предупреждение,,,ТекстОшибки);
			ВызватьИсключение ТекстОшибки;
		КонецЕсли;
		
	Исключение
		ТекстОшибки = "ОтправкаPayPal|"+ОписаниеОшибки();
		ЗаписьЖурналаРегистрации("PayPal",УровеньЖурналаРегистрации.Ошибка,,,ТекстОшибки);        
	КонецПопытки;
	
КонецПроцедуры // ПолучитьТокенДоступа()

    Здесь ничего сложного, кроме того, что строку ClientD+ClientSecret перед передачей надо обернуть в Base64 – об этом в официальной документации не было ни слова или я плохо искал или это считается по-умолчанию уж не знаю, но так как 1с на зарубежных форумах, к сожалению ((( и рассчитываю что только пока вообще не представлен, то помогли подсказки с других форумов, в частности спасибо ребятам по PHP.

    Ну может теперь можно уже посылать любые нужные нам запросы через API...?!..., но и здесь есть подводные камни. Первое: если ответ API превышает более 100-500 строк (где-то в дебрях настроек PayPal выставляется– не успел нарезать скриншоты, но найти несложно), то ответ разбивается на страницы по 100-500 ответов и находясь в контексте 1С &НаСервере – ни в какую не хотели страницы "перелистываться". Пришлось делать цикл &НаКлиенте и собирать ответы с сервера.

&НаКлиенте
Процедура ВызватьApiPayPal(Команда)
	
	Если ОплатыСписком.Количество() > 0 Тогда
		ОплатыСписком.Очистить();
	КонецЕсли;
	
	Если ИнтервалОтбораДатаОкончания < ИнтервалОтбораДатаНачала Тогда
		Сообщение 		= Новый СообщениеПользователю;
		Сообщение.Текст = "ДатаОкончания не может быть меньше ДатыНачала";
		Сообщение.Сообщить();
		Возврат;
	ИначеЕсли (ИнтервалОтбораДатаОкончания-ИнтервалОтбораДатаНачала)>30*86400 Тогда
		Сообщение 		= Новый СообщениеПользователю;
		Сообщение.Текст = "Ограничение PayPal API - Интервал запроса не должен превышать 30 дней";
		Сообщение.Сообщить();
		Возврат;	
	КонецЕсли;
	
	СтруктураОбмена = Новый Структура("page,total_pages,ХранилищеТранзакций",1,1);
	
	ВызовPayPal(,"transactions",СтруктураОбмена);
	СтруктураОбмена.page = СтруктураОбмена.page + 1;
	
	Пока СтруктураОбмена.page <= СтруктураОбмена.total_pages Цикл
		ВызовPayPal(,"transactions",СтруктураОбмена);
		СтруктураОбмена.page = СтруктураОбмена.page + 1;
	КонецЦикла;
		
	Если ТипЗнч(СтруктураОбмена.ХранилищеТранзакций) = Тип("ХранилищеЗначения") Тогда
		
		//!!!!!!!!!! получили данные - уходим на сервер для их окончательного разбора и обработки
		ОбработатьДанныеPayPal(СтруктураОбмена.ХранилищеТранзакций);
		
		Если ОбщегоНазначенияКлиентСервер.РежимОтладки() Тогда // показ файла ответа при отладке для визуального анализа данных
			ИмяВремФайла = ПолучитьИмяВременногоФайла("txt");
			ЗаписьJSON = Новый ЗаписьJSON;
			ПарамЗаписи = Новый ПараметрыЗаписиJSON(,Символы.Таб);
			ЗаписьJSON.ОткрытьФайл(ИмяВремФайла,,,ПарамЗаписи);
			ЗаписатьJSON(ЗаписьJSON, ПолучитьМассивИзХранилищаНаСервере(СтруктураОбмена.ХранилищеТранзакций)); 
			ЗаписьJSON.Закрыть();
			Сообщить(ИмяВремФайла);
			Оповещение = Новый ОписаниеОповещения("ПослеОткрытияФайла", ЭтотОбъект);
			НачатьЗапускПриложения(Оповещение, ИмяВремФайла);
		КонецЕсли;
	Иначе
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Нет данных с PayPal для обработки в 1с";
		Сообщение.Сообщить();
	КонецЕсли;
	
	ВыполнитьУсловноеОформлениеФормы();
	
	ЭтаФорма.ОбновитьОтображениеДанных();
	
КонецПроцедуры

&НаСервере
Процедура ВызовPayPal(Знач номерпопытки = 0, Знач ТипЗапроса = Неопределено, ПарамОбмена)
	
	Если НЕ ЗначениеЗаполнено(Объект.ДанныеЗапросов.access_token) Тогда
		ПолучитьТокенДоступа();
		Если НЕ ЗначениеЗаполнено(Объект.ДанныеЗапросов.access_token) Тогда
			ТекстОшибки = "Hе получен токен доступа";
			ВызватьИсключение ТекстОшибки;
		КонецЕсли;
	КонецЕсли;
	
	start_id 	= 0;
	СтрокаJSON 	= "";
	Host 		= Объект.ДанныеЗапросов.Host;
	Url_Запроса = Объект.ДанныеЗапросов["Url_"+ТипЗапроса];
	
	Если ТипЗапроса="orders" Тогда
		// можно делать запрос по конкретному заказу - в примере обрезано.
		//Url_Запроса = СтрЗаменить(Url_Запроса, "{order_id}", IDRequest);
	ИначеЕсли ТипЗапроса = "payments" Тогда
		СтрокаJSON = ПодготовитьСтрокуJSONДляТела(ТипЗапроса,start_id);
	ИначеЕсли ТипЗапроса = "transactions" Тогда
		РазницаПоясовВСекундах 	= ТекущаяДатаСеанса()-ТекущаяУниверсальнаяДата(); // не больше 31 дня
		РазницаПоясовВЧасах 	= РазницаПоясовВСекундах/60/60;
		Старт 					= Формат(НачалоДня(ИнтервалОтбораДатаНачала)-РазницаПоясовВСекундах, "ДФ=yyyy-MM-ddTHH:mm:ss")+"-0000";
		Конец 					= Формат(КонецДня(ИнтервалОтбораДатаОкончания)+РазницаПоясовВСекундах+1, "ДФ=yyyy-MM-ddTHH:mm:ss")+"-0000";
		Url_Запроса 			= Url_Запроса + "?start_date="+Старт+"&end_date="+Конец+"&fields=all&transaction_status=S&page_size=500&page="+ПарамОбмена.page;
		// можно сделать запрос конкретной транзации - в примере обрезано.
		//Url_Запроса 			= ?(ЗначениеЗаполнено(IDRequest), Url_Запроса+"&transaction_id="+IDRequest,Url_Запроса); 
	КонецЕсли;
	
	HTTPЗапрос 				= Новый HTTPЗапрос;
	HTTPЗапрос.АдресРесурса = Url_Запроса;
	HTTPЗапрос.Заголовки.Вставить("Authorization", "Bearer "+Объект.ДанныеЗапросов.access_token);
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON);
	Прокси 					= Новый ИнтернетПрокси(Истина);
	Соединение 				= Новый HTTPСоединение(Host,,,,Прокси,10,Новый ЗащищенноеСоединениеOpenSSL);
	ЧтениеJSON 				= Новый ЧтениеJSON;
	ПарамОбмена.total_pages = 0;
	Попытка
		HTTPОтвет 		= Соединение.Получить(HTTPЗапрос); // get запрос
		СтрокаОтвета 	= HTTPОтвет.ПолучитьТелоКакСтроку();
		ЧтениеJSON.УстановитьСтроку(СтрокаОтвета);
		ДанныеОтвета 	= ПрочитатьJSON(ЧтениеJSON,Ложь,);
	
		Если ТипЗнч(ДанныеОтвета)=Тип("Структура") И ДанныеОтвета.Свойство("total_pages") И ДанныеОтвета.Свойство("page") Тогда
			
			ЗаполнитьЗначенияСвойств(ПарамОбмена, ДанныеОтвета);
			
			Если ПарамОбмена.ХранилищеТранзакций = Неопределено Тогда
				ПарамОбмена.ХранилищеТранзакций = Новый ХранилищеЗначения(ДанныеОтвета.transaction_details, Новый СжатиеДанных(9));
			Иначе
				ПредМассивТранзакций = ПарамОбмена.ХранилищеТранзакций.Получить();
				Для каждого лТранзакция Из ДанныеОтвета.transaction_details Цикл
					 ПредМассивТранзакций.Добавить(лТранзакция);
				КонецЦикла;	
			    ПарамОбмена.ХранилищеТранзакций = Новый ХранилищеЗначения(ПредМассивТранзакций, Новый СжатиеДанных(9));
			КонецЕсли;
		КонецЕсли;
				
		Если HTTPОтвет.КодСостояния = 401 И номерпопытки = 0 Тогда
			номерпопытки = номерпопытки + 1;
			ТекстОшибки = "HTTPОтвет.КодСостояния|" + HTTPОтвет.КодСостояния + "|Запрос в API PayPal не выполнен, 401 Not Authorized - получить новый токен?";
			ЗаписьЖурналаРегистрации("PayPal", УровеньЖурналаРегистрации.Предупреждение,,,ТекстОшибки);            
			ПолучитьТокенДоступа();
			ВызовPayPal(номерпопытки,,ПарамОбмена);
		ИначеЕсли HTTPОтвет.КодСостояния > 299 Тогда
			ТекстОшибки = "HTTPОтвет.КодСостояния|" + HTTPОтвет.КодСостояния + "|Запрос в API PayPal не выполнен";
			ЗаписьЖурналаРегистрации("PayPal", УровеньЖурналаРегистрации.Предупреждение,,,ТекстОшибки);
		КонецЕсли;
		
		ЧтениеJSON.Закрыть();
	Исключение
		ПарамОбмена.total_pages = 0;  // чтобы не было зацикливания
		ТекстОшибки = "ОтправкаPayPal|"+ОписаниеОшибки();
		ЗаписьЖурналаРегистрации("PayPal",УровеньЖурналаРегистрации.Ошибка,,,ТекстОшибки);
	КонецПопытки;
	
КонецПроцедуры

    Чтобы получить именно список транзакций, где содержится нужная мне информация предварительно следует отдельно её включить и подождать 3 часа. Я не проверял точность и продолжил на следующий день.

   Приведенные примеры должны работать на любой конфигурации с УФ с версией платформы 8.3. Тестировал в КА 2.4 на платформе 8.3.13.

Другие мои публикации на Инфостарте:

6

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

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо

Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).

29700 руб.

Немного о интеграции с CRM AMO 7

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) WEB

Немного информации о том, как настроить интеграцию с CRM AMO. Пример функций для подключения к АМО и обновления заказа. Пример на основе API авторизации.

15.11.2019    1040    xxxAndricxxx    6       

Ещё немного о ИНН и сервисе DaData 24

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) WEB

Об использовании сервиса dadata и немного информации о возможностях получать данные по ИНН. Возможно, кому-то будет полезным.

14.11.2019    2715    xxxAndricxxx    20       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Вариант реализации клиента SOAP на примере получения остатков из MERLION 3

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) WEB

В статье приведу пример клиента к сервису SOAP, функции которого принимают несколько значений типа строка или массив строк.

14.11.2019    925    malikov_pro    0       

Разбор любого JSON-объекта в соответствующую структуру 9

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика WEB

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

13.11.2019    2064    user665435_al.windstorm    13       

Новогодние скидки на авторское ПО Промо

В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.

Проверка reCAPTCHA от Google на стороне HTTP-Сервиса 12

Статья Программист Нет файла v8 Россия Бесплатно (free) WEB

Код проверяет переданный токен reCAPTCHA от Google при вызове HTTP-Сервиса. Таким образом проверяем, отправил ли данные на наш HTTP-Сервис робот или реальный пользователь.

06.11.2019    1740    AVR    0       

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.) 53

Статья Системный администратор Нет файла v8 1cv8.cf Бесплатно (free) WEB Облачные сервисы, хостинг

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    4973    uno-c    25       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Самый примитивный HTTP-сервис в мире 175

Статья Программист Нет файла v8 Бесплатно (free) WEB

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

12.09.2019    9479    YPermitin    26       

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию 57

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) WEB Администрирование данных 1С

Если "веб морда" расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С - это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

20.08.2019    4273    Fragster    7       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Вывод отчетов из Штрих-М Торговое предприятие 5 на кассовое ПО Кассир 5 через веб-сервис 3

Статья Системный администратор Программист Нет файла v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Windows Розничная торговля Бесплатно (free) WEB

Универсальный механизм вывода отчетов товароучетной системы Штрих-М Торговое предприятие в кассовое ПО Кассир 5 посредством веб-сервиса.

14.08.2019    2170    Van2507    1       

Совсем простой обмен HTTP, 2 функции 60

Статья Программист Нет файла v8 Бесплатно (free) WEB

Функция для вызова рест-сервиса и функция для разбора результата. Быстро, просто, универсально.

12.08.2019    4921    Yashazz    15       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery. Продолжение 53

Статья Программист Расширение (cfe) v8 1cv8.cf Бесплатно (free) WEB

Получение изображений из информационной базы и отправка файлов через "фронт" на HTML/CSS/JS.

08.08.2019    4413    Sedaiko    1       

1Script.Web. Интернет-приложения на языке 1С 121

Статья Программист Нет файла v8 Бесплатно (free) WEB OneScript

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    13770    Evil Beaver    32       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Неверные остатки на сайте битрикс 2

Статья Программист Нет файла v8 УТ11 Бесплатно (free) WEB

Исправление процедуры выгрузки остатков на сайт битрикс из УТ 11

25.04.2019    2793    distorshion    4       

Отправка файлов через SOAP. SOAP with attachments, MTOM 38

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) WEB

В продолжение «своеобразной» поддержки 1С протокола SOAP, описанной в https://infostart.ru/public/965259/, опишу еще одну особенность. 1С не поддерживает возможность отправки файлов-вложений. Для решения этой проблемы пришлось самостоятельно писать формирование пакетов SOAP и разбор ответов сервера.

18.04.2019    4067    mysm    2       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

HTML-клиент у конфигурации 1С 146

Статья Программист Нет файла v8 Бесплатно (free) WEB

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    12272    Smaylukk    119       

Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM 67

Статья Программист Нет файла v8 Бесплатно (free) WEB

На всякую хитрую гайку всегда найдется болт с резьбой (с)

01.04.2019    9081    starik-2005    33       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Логируй больше! 1С + UPD + GELF + Graylog 28

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Практика программирования Администрирование данных 1С WEB Разработка

Наличие производительной платформы управления логами - это жизненно важный элемент в ландшафте систем с высокой активностью. Рассмотрим один из подходов логирования активности систем на платформе 1С в Graylog.

26.02.2019    6763    Lars Ulrich    15       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

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

7500 рублей

История реквизитов организаций (печати, факсимиле, КПП, телефон) 0

Инструменты и обработки Программист Расширение (cfe) v8::ОУ v8::УФ УТ11 Windows Абонемент ($m) Практика программирования

Решение задачи по хранению истории изменений КПП организации, дополнительных печатей, бланков и факсимиле ответственных лиц организаций, контактной информации организаций типа телефон.

1 стартмани

11.01.2019    2409    1    da_1c    0       

Обработка создания пользователей Системы Взаимодействия 3

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Информационная безопасность Обработка справочников

Простенькая команда по созданию пользователей в системе взаимодействия на базе всех пользователей информационной базы 1С.

1 стартмани

12.12.2018    2200    5    da_1c    0       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Создание телеграм бота с гугл авторизацией, обратными вызовами и уведомлениями об обновлении через сервер-маршрутизатор 159

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) WEB

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

07.11.2018    19935    🅵🅾️🆇    40       

Мой опыт небольшого проекта с веб-сервисами (Часть 2) 20

Статья Программист Нет файла v8 Windows Бесплатно (free) WEB

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

05.10.2018    5068    alex_bitti    0       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Как запустить работу Google Maps в поле HTML формы 1С? 25

Статья Программист Нет файла v8 Россия Бесплатно (free) Практика программирования WEB

Как справиться с передачей события в поле HTML, если надо передать данные. Переход на новую версию Google Maps.

26.09.2018    7296    Green2    10       

Мой опыт небольшого проекта с веб-сервисами (Часть 1) 23

Статья Программист Нет файла v8 Windows Бесплатно (free) WEB

Хочу поделиться своим опытом использования веб-сервисов на небольшом проекте, который в принципе расширяем до чего-нибудь более существенного.

08.08.2018    7440    alex_bitti    33