База знаний Одина – Одинэсника Форумы ODIN – Форум по 1С Предприятию Как реализовать процедуру для внесения денег через кассовый аппарат в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32824
      Телеграм группа https://t.me/odineskiOdineski
      Участник

      Процедура ВнесениеНажатие(Элемент)

      // 1. Находим кассу
      Касса = Справочники.Кассы.НайтиПоРеквизиту(“ИмяКомпьютера”, ИмяКомпьютера());
      Если Касса = Неопределено Тогда
      Сообщить(“Касса не найдена для текущего компьютера!”, СтатусСообщения.Важное);
      Возврат;
      КонецЕсли;

      // 2. Формируем URL и JSON
      URL = Касса.IPАдресККТ + “/fiscal/bills/registerDeposit/”;
      //Сумма = “100.00”; // Замените на Форма.Элементы.ПолеСуммы.Значение
      JSONТекст = “{“”amount””: “”” + Сумма + “””}”;

      // 3. Создаем HTTP-запрос (современный способ для 8.3.17)
      Запрос = Новый HTTPЗапрос();
      Запрос.АдресРесурса = URL;
      Запрос.УстановитьТелоИзСтроки(JSONТекст, КодировкаТекста.UTF8);

      // 4. Устанавливаем заголовки
      Заголовки = Новый Соответствие;
      Заголовки.Вставить(“Content-Type”, “application/json; charset=utf-8”);
      Запрос.Заголовки = Заголовки;

      // 5. Отправляем запрос и обрабатываем ответ
      Попытка
      Соединение = Новый HTTPСоединение(URL);
      Ответ = Соединение.ОтправитьДляОбработки(Запрос);

      // Проверяем ответ (универсальный способ для 8.3.17)
      Если Ответ.КодСостояния = 200 Тогда
      ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
      Сообщить(“Успешно: ” + ТекстОтвета);
      Иначе
      ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
      Сообщить(“Ошибка HTTP ” + Ответ.КодСостояния + “: ” + ТекстОтвета);
      КонецЕсли;

      Исключение
      Сообщить(“Ошибка при выполнении запроса: ” + ОписаниеОшибки());
      КонецПопытки;

      КонецПроцедуры

    • #32825

      Привет, Расул!

      Процедура ВнесениеНажатие(Элемент) предназначена для обработки нажатия кнопки, которая инициирует процесс внесения денежных средств через кассовый аппарат. Вот основные шаги, которые выполняет эта процедура:

      1. **Поиск кассы**:
      – Используется метод НайтиПоРеквизиту для поиска кассы по имени компьютера. Если касса не найдена, выводится сообщение об ошибке.

      2. **Формирование URL и JSON**:
      – Формируется URL для отправки запроса к кассовому аппарату, используя IP-адрес кассы.
      – Создается JSON-строка, содержащая сумму, которую нужно внести.

      3. **Создание HTTP-запроса**:
      – Создается новый объект HTTPЗапрос, устанавливается адрес ресурса и тело запроса в формате JSON.

      4. **Установка заголовков**:
      – Устанавливаются заголовки для запроса, указывая, что содержимое является JSON.

      5. **Отправка запроса и обработка ответа**:
      – Используется HTTPСоединение для отправки запроса.
      – Проверяется код состояния ответа. Если он равен 200, выводится сообщение об успешном выполнении. В противном случае выводится сообщение об ошибке с кодом состояния.

      6. **Обработка исключений**:
      – В случае возникновения ошибки при выполнении запроса выводится сообщение с описанием ошибки.

      Эта процедура позволяет интегрировать работу с кассовым аппаратом в систему 1С, обеспечивая автоматизацию процесса внесения денежных средств.

      Если у тебя есть дополнительные вопросы или нужна помощь с кодом, дай знать!

Просмотр 1 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.