Получение данных с 1-OFD.RU через API

23.04.20

Учетные задачи - Кассовые операции

Обработка создает Отчет о розничных продажах, получая чеки напрямую из "Первое ОФД".

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
API загрузка чеков с 1-OFD.RU (Розница 2.2)
.epf 20,90Kb ver:1.0
8
8 Скачать (2 SM) Купить за 2 150 руб.
API загрузка чеков с 1-OFD.RU (Розница 2.3)
.epf 20,89Kb ver:1.0
55
55 Скачать (2 SM) Купить за 2 150 руб.

Для того, чтобы создать Отчеты о розничных подажах, необходимо:

1. Указать Логин и Пароль для входа в личный кабинет 1-ОФД:

 

 

2. В случае, если вам необходимо, чтобы обработка сама создавала номенклатуру, если её нет в базе, то необходимо заполнить указанные ниже на картинке параметры (поиск номенклатуры осуществляется по наименованию):

 

 

3. Затем нажмите кнопку "1. Подключиться" и кнопку "2. Список ККТ". После этого таблица заполнится списком ваших касс. Необходимо будет выбрать нужные и перейти на следующую вкладку. (см. скрин)

 

 

4. Следующим действием, нужно выбрать период, за который вы хотите получить чеки и сформировать Отчет о розничных продажах. Для того чтобы отразились транзакции за выбранный период, нажмите кнопку "3. Транзакции". Если все верно отобразилось, то можете нажимать кнопку "Создать Отчет о розничных продажах". (см. скрин)

 

 

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

Обработка была создана по ТЗ от заказчика, решил опубликовать, может кому пригодится.

Тестирование проводилось на релизах Розницы: 2.3.3.12 и 2.2.9.20.

Не претендую на идеальный код, но вполне работает.

Если есть пожелания и предложения, пишите в комментариях.

1-OFD.ru API офд OFD Обмен Розница

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    796364    4903    9546    

2858

SALE! 20%

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 7176 руб.

15.12.2015    170796    955    364    

400

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.5, КА 2.5 ,ERP 2.5 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4500 руб.

27.08.2018    122200    1025    584    

864

SALE! 25%

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5880 4410 руб.

25.05.2015    335555    1957    3058    

1031

Регламентированный учет и отчетность Обмен с ГосИС ЭДО и ОФД Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Работаете по контрактной схеме, сталкивались с проблемой, что в контракте жестко указаны наименование, цена, единица измерения товара. И не все готовы создавать новую номенклатуру под каждый контракт или менять наименование и единицу измерения для уже имеющейся. Тем более, бывает так, что контракт - это формальность. Контракт не описывает жесткие условия поставки, нужно соблюсти правильность в предоставлении документов. Данное решение позволит вам оперировать своей номенклатурой при оформлении реализаций по государственному контракту в УТ 11.5 и КА 2.5.11, в то же время выводить на печать документы, соответствующие данным контракта. Реализована выгрузка для сайта госзакупок (ЕИС) по 44-ФЗ.

60000 руб.

19.12.2022    12012    34    20    

21

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий (тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.

44000 руб.

08.11.2017    122945    292    140    

398

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    112285    102    87    

185
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. bessav 16 19.05.20 13:28 Сейчас в теме
Спасибо за обработку, долго я мучаюсь с 1-ОФД, не мог получить список касс, а оказалось, что просто Cookie не добавлял к запросу.
Хочу уточнить, 3600 к дате добавляете т.к. у Вас часовой пояс +1 по Гринвичу?
Вот например:
FromDate = Строка(ПериодТранзакций.ДатаНачала - дата(1970,1,1,1,0,0) + 3600);
2. keln 73 20.05.20 13:50 Сейчас в теме
(1)
FromDate = Строка(ПериодТранзакций.ДатаНачала - дата(1970,1,1,1,0,0) + 3600);

Это я нашел на просторах интернета, для корректного перевода даты в нужный формат даты для api.
3. slitov 7 20.05.20 17:39 Сейчас в теме
Я никак не могу закончить обработку, т.к. уперся в смену организаций, данные по ккм получаю, но только по одной организации, при попытки сменить, получаю ошибку 403, Вы случаем не пробовали изменять организации?
Из их swagger-а
PUT /api/user/organisations/{id} Переключение текущей организации пользователя

МассивОрганизаций = ФормированиеГетЗапроса1ОФД("/api/user/organisations");
ИДОрг = МассивОрганизаций[1].id;

Сервер = "org.1-ofd.ru";
Соединение = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL());

ЗаголовокHTTP = Новый Соответствие;
ЗаголовокHTTP.Вставить("Cookie", Cookie);

Запрос  = Новый HTTPЗапрос("/api/user/organisations/"+ИДОрг, ЗаголовокHTTP);
Ответ = Соединение.Записать(Запрос);
Показать
4. keln 73 22.05.20 20:15 Сейчас в теме
(3) Добрый день. Не пробовал, но было бы интересно проверить.
16. combita 08.09.20 13:44 Сейчас в теме
(3)Всем хорошего дня. Удалось ли кому-то добиться смены организации через /api/user/organisations/{id} ?
пришлите, пожалуйста, код запроса. Там по swagger PUT id и orgid и надо передать X-XSRF-TOKEN
5. uchenik 26.06.20 22:29 Сейчас в теме
Добрый день.
Никак не получалось получается получить список точек из org.1-ofd.ru, хотя авторизация проходит и токен получаю. В authToken получаю после успешной авторизации параметр PLAY_SESSION. Пробовал уже все варианты, ну никак, код ответа 401. Не подскажете?

 authToken =  ПрочитатьJSON(ЧтениеJSON, Ложь).authToken;
		 
		 Заголовки = Новый Соответствие;
		 Заголовки.Вставить("Cookie", authToken);
		 Запрос = Новый HTTPЗапрос("/api/kkms/retail-places",Заголовки);
		 Ответ = Соединение.Получить(Запрос);
		 
		 Заголовки = Новый Соответствие;
		 Заголовки.Вставить("X-XSRF-TOKEN", authToken);
		 Запрос = Новый HTTPЗапрос("/api/kkms/retail-places",Заголовки);
		 Ответ = Соединение.Получить(Запрос);
		 
		 Заголовки = Новый Соответствие;
		 Заголовки.Вставить("authToken", authToken);
		 Запрос = Новый HTTPЗапрос("/api/kkms/retail-places",Заголовки);
		 Ответ = Соединение.Получить(Запрос);
		 
		 Заголовки = Новый Соответствие;
		 Заголовки.Вставить("PLAY_SESSION", authToken);
		 Запрос = Новый HTTPЗапрос("/api/kkms/retail-places",Заголовки);
		 Ответ = Соединение.Получить(Запрос);
Показать
6. user1234025 27.06.20 03:04 Сейчас в теме
(5) Привет. Тоже пишу эту загрузку
В описании API пишут
Все запросы должны посылаться вместе с Cookie PLAY_SESSION, кроме вызова метода POST /api/user/login.
Во всех POST-запросах заголовок X-XSRF-TOKEN должен иметь значение, равное значению Cookie PLAY_SESSION.


Поэтому делаем так:
Cookie = "PLAY_SESSION="+ДанныеJSON.authToken;
Заголовки = Новый Соответствие;
Заголовки.Вставить("Cookie", Cookie);
Заголовки.Вставить("X-XSRF-TOKEN", ДанныеJSON.authToken);
7. uchenik 27.06.20 13:52 Сейчас в теме
(6)
Cookie = "PLAY_SESSION="+ДанныеJSON.authToken;
Заголовки = Новый Соответствие;
Заголовки.Вставить("Cookie", Cookie);
Заголовки.Вставить("X-XSRF-TOKEN", ДанныеJSON.authToken);


Нет слов, одни эмоции!!! Ну вот как бы догадаться до этого из строчек такого описания))))
Огромное, Большое спасибо дружище.
8. user1234025 28.06.20 04:46 Сейчас в теме
(7) А получилось интервал задать?
Делаю так
Cookie = "PLAY_SESSION="+authToken;
СтрокаТелоЗапроса = "fromDate="+ПолучитьUnixTS(ПериодЗагрузки.ДатаНачала)+"&toDate="+ПолучитьUnixTS(ПериодЗагрузки.ДатаОкончания);

Заголовки = Новый Соответствие;
Заголовки.Вставить("Cookie", Cookie);
Заголовки.Вставить("X-XSRF-TOKEN", authToken);
Запрос = Новый HTTPЗапрос("/api/kkms/"+ККТ.id+"/transactions"+"?"+СтрокаТелоЗапроса,Заголовки);

получаю пустой ответ, хотя данные есть
9. Mellentin 30.06.20 12:13 Сейчас в теме
(8) Такое ощущение, что фильтры не работают. Пробую через Postman отправить запрос за определенный интервал (время в UNIX-timestamp, проверил несколько раз) - и ничего не приходит. Отборы по transactionsTypes и др. тоже не работают. ЧЯДНТ никак не пойму :(
10. Mellentin 30.06.20 13:37 Сейчас в теме
(8) Нашел в инете от 2018 инфу: там в конце Unix TS даты ставили милисекунды:

$StartDate = $StartDate."000";


Я добавил три нуля к своим датам в запросе и тогда уже мне пришел ответ с документами за заданный период)

Неинформативно, однако. Хотя эта API и разрабатывалась для более глубокой интеграции, скорее всего, чем простое получение документов с сервера.
11. user1234025 30.06.20 17:21 Сейчас в теме
(10) да. я тоже дошел до этого опытным путем. Хотя в описании API для времени указано точность до секунд или милисекунд
12. uchenik 01.07.20 22:36 Сейчас в теме
А у меня не срабатывает отбор по закрытию смены. В ответе все операции.
Ресурс = Ресурс+"&transactionType=CLOSE_SHIFT";
13. uchenik 02.07.20 14:05 Сейчас в теме
Разобрался.

В файле "API баз. описание _v15.docx", предоставленном техподдержкой указан параметр transactionsTypes, а на https://org.1-ofd.ru/swagger/index.html указан transactionTypes. С ним сработало.
14. Arder 26.07.20 18:39 Сейчас в теме
Здрваствуйте. А можно договориться о такой же обработке для Бухгалтерия 3?
15. пользователь 12.08.20 15:23
Сообщение было скрыто модератором.
...
17. user1511114 23.12.20 19:18 Сейчас в теме
Присоединяюсь к предыдущему вопросу. У нас 1С:Бухгалтерия 8 КОРП (USB) . Тупо скачал вариант для Розница 2.3, попытался подцепить - не вышло. Не хотите доработать да установки в Бухгалтерии (условия обсудим)? Или просто я не ту версию скачал?
18. user1511114 23.12.20 19:55 Сейчас в теме
(17) уточняю: Бухгалтерия КОРП 3.0.84.46
19. пользователь 24.12.20 18:55
Сообщение было скрыто модератором.
...
20. пользователь 24.12.20 19:35
Сообщение было скрыто модератором.
...
21. user598688 06.07.21 13:24 Сейчас в теме

   СерверЗапроса = "org.1-ofd.ru";
   Соединение = Новый HTTPСоединение(СерверЗапроса,,,,,,Новый ЗащищенноеСоединениеOpenSSL(), );

   
   
   Запрос = Новый HTTPЗапрос("/api/user/login");
   Запрос.Заголовки.Вставить("Content-Type", "application/json");
 
   Запрос.Заголовки.Вставить("login", "lll");
   Запрос.Заголовки.Вставить("name", "string");
   Запрос.Заголовки.Вставить("password", "ppp");

   Результат = Соединение.ОтправитьДляОбработки(Запрос);
   Сообщить(Результат.КодСостояния);

Показать


в ответ получаю код 400, логин, пароль верный в чем м.б проблема?
22. keln 73 09.07.21 11:33 Сейчас в теме
(21)
SSL = Новый ЗащищенноеСоединениеOpenSSL();
	Соединение = Новый HTTPСоединение("org.1-ofd.ru",,,,,,SSL);	
	
	ЗаголовокHTTP = Новый Соответствие;
	ЗаголовокHTTP.Вставить("Content-Type", "application/json");
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.ПроверятьСтруктуру = Ложь;
	
	ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON;
	ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
	
	ЗаписьJSON.ЗаписатьНачалоОбъекта();
	
	ЗаписьJSON.ЗаписатьИмяСвойства("login");
	ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Объект.Логин));
	
	ЗаписьJSON.ЗаписатьИмяСвойства("name");
	ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Объект.Логин));
	
	ЗаписьJSON.ЗаписатьИмяСвойства("password");
	ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Объект.Пароль));
	
	ЗаписьJSON.ЗаписатьКонецОбъекта();                   
	JSON_Запрос = ЗаписьJSON.Закрыть();	
	
	HTTPЗапрос = Новый HTTPЗапрос("/api/user/login",ЗаголовокHTTP);
	HTTPЗапрос.УстановитьТелоИзСтроки(JSON_Запрос);    
	
	Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Показать

У меня так.
Логин и пароль не нужно в заголовок засовывать.
Они идут в JSON запросе.
23. user613240_sid2304 16.07.24 12:50 Сейчас в теме
Добрый день, На форме вижу поле Статус ККТ онлайн, но ни в первой ни во второй обработке это поле не заполняется. Нет ссылок. Уточните как оно у вас по какому параметру в ОФД заполняется?
24. user613240_sid2304 17.07.24 09:42 Сейчас в теме
На скриншоте оно выводится, судя по коду -нет
25. user613240_sid2304 24.07.24 16:03 Сейчас в теме
Тип транзакции на скрине выводится, а в коде нет обработчика заполнения этой колонки...
Оставьте свое сообщение