INFOSTART EVENT 2018 EDUCATION

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

Зябликов Дмитрий | Senior ios developer | ЦРПТ

«Модуль ЭДО для 1С»

Полностью удаленный проект от прототипа до продакшна: - специфика законодательства - командная работа - интеграционные фишки (лайфхаки) Итог: довольный заказчик

Реализация взаимодействия с API дисконтного сервера "Frontol discount unit"

Оборудование - POS терминал

1
Данная обработка реализует API взаимодействия с дисконтным сервером фирмы АТОЛ версии 2.0.0.

Данная обработка была написана в рамках реализации и отладки обмена между 1С:УТ и дисконтным сервером информацией о движении бонусов и накопительных скидках в сети розничной торговли. Все остальное добавлено "чтобы было, а почему бы и нет" и реализует практически все документированные функции API Frontol Discount Unit.

Обработка не привязана ни к какой конфигурации. Платформа требуется не ниже 8.3.6, т.к. используются встроенный механизм чтения/записи данных в формате JSON.

1

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

Наименование Файл Версия Размер
РаботаСFrontolDiscountUnit
.epf 58,60Kb
19.04.18
7
.epf 58,60Kb 7 Скачать

См. также

Комментарии
Сортировка: Древо
4. PlZoo 07.05.18 07:50 Сейчас в теме
Доброго времени суток.

1) В вашей обработке не нашел пункт для вывода табличной формы, к примеру по вкладке: Карты клиентов. Чтоб можно было в Excel выгрузить. Как можно этот пункт добавить?
Прикрепленные файлы:
5. saiten 223 07.05.18 09:42 Сейчас в теме
Щелкаете правой кнопкой на любой ячейке таблицы, выбираете пункт "Вывести список", выбираете колонки, которые вам нужны и нажимаете "ОК". Откроется табличный документ, который можно будет сохранить в Ексель.
6. s.matyukin_visma 17 09.08.18 13:14 Сейчас в теме
Добрый день, скачал вашу обработку! Каким образом выгрузить из 1с список бонусных карт, так чтобы они появились FrontolDiscountUnit
9. saiten 223 14.08.18 08:40 Сейчас в теме
(6) Выгрузка карт не предусмотрена, т.к. обработка не завязана ни на какую конфигурацию и неизвестно, есть ли в вашей конфигурации справочник карт клиента вообще. Функции, необходимые для выгрузки карт в модуле обработки есть, вы можете выгрузить карты, использовав примерно следующий код:
ДанныеКарты = СтруктураКартаКлиента();
ДанныеКарты.id = ...
ДанныеКарты.name = ...
//Заполняем нужные данные карты

КартаНаСервере = КартаКлиентаПолучить(Соединение,Токен,ДанныеКарты.id);
Если КартаНаСервере = Неопределено Тогда
	КартаКлиентаДобавить(Соединение, Токен
										,ДанныеКарты.id
										,ДанныеКарты);
Иначе
	КартаКлиентаИзменить(Соединение, Токен
										,ДанныеКарты.id
										,ДанныеКарты);
КонецЕсли;
Показать
11. saiten 223 14.08.18 09:04 Сейчас в теме
(6)Либо вручную добавлять строки в табличное поле обработки и заполнять нужные поля. Все изменения в этой таблице транслируются на сервер fdu.
7. s.matyukin_visma 17 09.08.18 15:03 Сейчас в теме
Версия платформы 1С:Предприятие 8.3 (8.3.9.2033)

При попытке авторизоваться выдает ошибку {ВнешняяОбработка.РаботаСFrontolDiscountUnit.МодульОбъекта(391)}: 400 Bad request:unexpected character (row: 1, column: 1)
ВызватьИсключение ""+HTTPОтвет.КодСостояния+" "+HTTPОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);

Данные авторизации" {
"id": "admin",
"password": "b271df19c8b90ffb328332fa8d0f9542"
}"// Login:admin password - moo

В чем может быть проблема? Я переделал процедуру ниже из-за ошибке с переменной поток.

Функция КодироватьСтрокуBase64(Строка) Экспорт
	//поток = новый ПотокВПамяти;
	//ЗаписьТекста = Новый ЗаписьТекста(поток, КодировкаТекста.UTF8);
	//
	//ЗаписьТекста.Записать(Строка);
	//ЗаписьТекста.Закрыть();
	//
	//
	//
	//ТекстБ64 = Base64Строка(поток.ЗакрытьИПолучитьДвоичныеДанные());
	
	ИмяВременногоФайла = ПолучитьИмяВременногоФайла();

	ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.UTF8);
	ЗаписьТекста.Записать(Строка);
	ЗаписьТекста.Закрыть();

		
	мДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
	
	ТекстБ64 = Base64Строка(мДвоичныеДанные);

	
	Возврат СтрЗаменить(ТекстБ64,Символы.ВК+Символы.ПС,"")
КонецФункции
Показать
8. s.matyukin_visma 17 09.08.18 15:23 Сейчас в теме
Проблема решилась изменением кодировки привожу код ниже:

ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, Кодировка_UTF8_NoBOM());
	ЗаписьТекста.Записать(Строка);
	ЗаписьТекста.Закрыть();

		
	мДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
	
	ТекстБ64 = Base64Строка(мДвоичныеДанные);

	
	Возврат СтрЗаменить(ТекстБ64,Символы.ВК+Символы.ПС,"")
КонецФункции
Показать

Функция Кодировка_UTF8_NoBOM()
Возврат "CESU-8";
КонецФункции
10. saiten 223 14.08.18 08:55 Сейчас в теме
(8) Странно, у меня нормально работает с кодировкой UTF-8... Версия fdu последняя у вас? И какая ОС, если не секрет?
Оставьте свое сообщение